Pular para o conteúdo principal

Power BI - NÃO EDITE seus Modelos do Power BI na Nuvem.

[Power BI] Transformando Latitude e Longitude de Graus para Decimal




Olá amiguinhos que adoram mapas nos seus paineis tudo bem?

Hoje bate papo rapidão sobre uma dúvida de uma colega no nosso grupo do telegram, e se você não está nele pode ir agora tirar duvida com um grupo de quase 1700 pessoas e super ativo.

https://t.me/planilheiros

Bem, a dúvida dela era bem simples e já tinha visto outra vez alguém perguntando em outro grupo mas estava na correria e não pude ajudar, isso acontece infelizmente bastante. Ela tem dados de latitude e longitude em Grau e gostaria de passar isso para DECIMAL para poder utilizar nos visuais de Mapa do Power BI.

A dúvida é bem legal e precisa entender um pouco a lógica matemática de transformar Grau para Decimal e ela é bem simples.

Quando um dado em Grau, temos 3 informações:

- Grau
- Minutos
- Segundos.

Grau é o valor inteiro e ele por si só já me da o dado do meu inteiro do Decimal.

Minuto é isso mesmo Minuto, para eu chegar num valor decimal de minutos eu preciso dividir ele por 60.

Segundo segue a mesma lógica, vamos dividi-lo então por 3600.

Sendo assim basta criar uma função personalizada que nos diga exatamente isso, pegue graus, separe o inteiro (Grau)  Number.From(Text.BeforeDelimiter(Fonte, "º")), pegue a parte de minutos divida por 60 Number.From(Text.BetweenDelimiters(Fonte, "º", "'"))/60, pegue segundos divida por 3600 Number.From(Text.BetweenDelimiters(Fonte, "'", """"))/3600 e depois só somar esses carinhas todos.

E voilè temos nossa função personalizada para usar bonitão só copiar e colar no editor avançado em uma consulta nula.

(graus as text)=>
let
    Fonte = graus,
    Graus = Number.From(Text.BeforeDelimiter(Fonte, "º")),
    Minutos = Number.From(Text.BetweenDelimiters(Fonte, "º", "'"))/60,
    Segundos = Number.From(Text.BetweenDelimiters(Fonte, "'", """"))/3600,
    Final = Graus + Minutos + Segundos
in
    Final

E por hoje é só pessoal.

Grande abraço.

Comentários

  1. Muito massa . Gostei. Rafael, uma sugestão: quando puder, faz um vídeo de como inserir um arquivo kml no Power bi. Seria ótimo...

    ResponderExcluir
    Respostas
    1. Boa... eu tenho um material pra usar o KML, geojson e etc... to tratando isso pra poder disponibilizar...ta faltando tempo e coragem de voltar nesse negócio rs...

      Excluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir
  3. Uma dúvida, cálculos não é melhor realizar no dax?

    ResponderExcluir
    Respostas
    1. Sem duvida...a questão que para esse caso geralmente utiliza-se esse dado como eixo de visual então precisa criar uma nova coluna. Nesse caso a melhor abordagem é função personalizada no Power Query.

      Excluir
  4. Parabéns pelo artigo.. a tempo estava procurando esse tipo de trabalho

    ResponderExcluir
  5. Me ajudou demais!
    Complementei a função para que transforme em + ou - conforme as Coordenadas. A minha base de dados está com o formato 19°33'38"S

    (graus as text)=>
    let
    Fonte = graus,
    Graus = Number.From(Text.BeforeDelimiter(Fonte, "°")),
    Minutos = Number.From(Text.BetweenDelimiters(Fonte, "°", "'"))/60,
    Segundos = Number.From(Text.BetweenDelimiters(Fonte, "'", """" ))/3600,
    Coordenada = Text.End(Fonte, 1),
    Final = if Coordenada="S" or Coordenada="W" or Coordenada="O" then -(Graus + Minutos + Segundos) else Graus + Minutos + Segundos
    in
    Final

    Espero que ajude mais alguém!

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

[Power BI] O totalizador da minha Tabela ou Matriz "NÃO BATE" e agora?

Olá amantes de visuais de tabela e matriz no Power BI, tudo bem? Hoje vamos falar de um caso que vejo bastante nos grupos do Power BI. “O calculo na linha está batendo mas no total não e agora?” Mas antes de iniciarmos, que tal deixar aquela sua inscrição marota no meu canal no youtube que está recheado de vídeos legais, vai lá seu pão duro de like youtube.com/rafaelmendonca Agora que você já aliviou sua pão-durice você merece conteúdo .... kkkkkkkk Vamos lá, temos então a seguinte tabela gerada no meu conjunto de dados Essa tabela possui uma lista de vendas realizadas por dois vendedores com o numero da ordem da venda, um valor unitário e uma quantidade de itens em cada venda. O que queremos é bem simples meu jovem, calcular o valor total de cada venda e ter um total de todas as vendas... Aí você muito garotão usa a seguinte expressão DAX: E depois joga isso numa tabela. Lindo neh??? Mas o totalizador trouxe um valor que não tem...

Como usar o Web.Contents do Power Query: guia completo

Como usar o Web.Contents do Power Query para acessar dados online O Power Query é uma ferramenta poderosa para obter, transformar e analisar dados de diferentes fontes. Uma dessas fontes é a web, que contém uma grande variedade de dados online que podem ser úteis para os seus projetos. Para acessar dados online a partir de uma URL, você pode usar a função Web.Contents do Power Query. Essa função retorna o conteúdo binário baixado da URL especificada e permite que você use opções adicionais para personalizar a sua consulta. Neste artigo, vamos mostrar como usar o Web.Contents para obter dados de diferentes tipos de arquivos online, como CSV, Excel ou JSON. Também vamos discutir as vantagens e desvantagens dessa função em comparação com outras funções do Power Query. O que é o Web.Contents? O Web.Contents é uma função do Power Query que permite acessar dados online a partir de uma URL. Você pode usar essa função para obter dados de diferentes fontes da web, como arquivos CSV, Excel, JSON...