Pular para o conteúdo principal

PBI Pilot – Teste grátis sem custos um assistente de IA para o seu Power BI

[Power BI] - Conectando a Fontes de dados com ODBC (Bancos Firebird, MySQL e etc)


Hoje vamos aprender a conectar o Power BI a bancos de dados não previstos nativamente no Power BI usando Conexões ODBC.





Guia DAX http://www.guiadax.com.br Confira meu blog https://www.rafaelmendonca.com Siga as minhas redes sociais https://twitter.com/rafaelmpsantos https://linkedin.com/in/rafaelmpsantos

Comentários

  1. Buenas, Rafael! Estou com dificuldade em usar o PowerBI com Firebird e atualização incremental. Você tem conhecimento sobre como fazer? Obrigado!

    ResponderExcluir
    Respostas
    1. Simples, não faz. Firebird so com ODBC e ODBC não rola Incremental. Aconselho a criar um DW em postgresql e consultar a partir dele.

      Excluir
    2. Buenas! Achei uma forma que funciona incremental com Firebird.

      1. Criar uma função DataFirebird que vai ser usada posteriormente na fonte de dados

      let
      DataFirebird = (InDate as datetime) =>
      let
      Fonte = Text.PadStart(Number.ToText(Date.Day(InDate)), 2, "0") & "." & Text.PadStart(Number.ToText(Date.Month(InDate)), 2, "0") & "." & Number.ToText(Date.Year(InDate))
      in
      Fonte
      in
      DataFirebird

      2. Criar os parâmetros RangeStart e RangeEnd padrão usados para atualização incremental, conforme a documentação do PowerBI (atenção para que o tipo de dados seja DateTime e não apenas Date).

      2. Colocar os parâmetros no SQL na fonte usando a função DataFirebird que converte os parâmetros em texto no formato de data literal do Firebird (dd.MM.aaaa)

      Odbc.Query("dsn=****", "SELECT **** FROM **** WHERE DATA BETWEEN '" & DataFirebird(RangeStart) & "' AND '" & DataFirebird(RangeEnd) & "'")

      3. Adicionar a filtragem com os mesmos parâmetros, seguindo o padrão que consta na documentação do PowerBI. Este filtro não vai ter efeito real porque os dados já foram filtrados direto na origem, mas precisa colocar mesmo assim para que o PowerBI entenda que essa consulta é compatível com atualização incremental.

      = Table.SelectRows(Fonte, each [DATA] >= RangeStart and [DATA] <= RangeEnd)

      Pronto. Basta salvar e publicar no serviço web do PowerBI e configurar a atualização incremental normalmente conforme a documentação.

      Excluir
    3. Ano passado tem aqui no blog ja uma forma de fazer incremental com qq fonte.

      Excluir
    4. Legal, eu não tinha visto esse post
      http://www.rafaelmendonca.com/2020/06/incremental-powerbi-csv-api-excel-odbc.html
      Obrigado pela dica!

      Excluir
  2. Olá Rafael, assisti seu vídeo porem não funcionou. O teste de conexão na tela DNS deu certo porem o power não conseguiu reconhecer. Consegue me ajudar ??

    ResponderExcluir
  3. Bom dia Rafael, tudo bem? preciso conectar o Power BI no banco PostgreSQL, qual conector devo usar?

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

[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 seg...

[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...

[Power BI] Você está com erro nas suas funções DAX que até ontem funcionavam?

Hoje você acordou abriu seu Power BI tentou criar uma nova medida e está dando um erro chato como esse abaixo A sintaxe de ";" está incorreta ou até mesmo o Muitos argumentos foram passados para a função Bem não precisa se preocupar porque você não desaprendeu Power BI, a sintaxe deve estar correta, mas correta para o Padrão que usamos aqui no Brasil com o ; (ponto e virgula) como separador de lista e a ,  (vírgula) como separador de decimal. Na versão de Maio de 2020 o Power BI Desktop jogou como padrão para todos não mais o padrão regional da sua máquina mas o padrão internacional do DAX usando , (vírgula) como separador de lista e . (ponto) como separador de decimal. Sendo assim se você quiser continuar usando o padrão da máquina tem que alterar a opção indo em Arquivo Opções e Configurações e depois Opções Na caixinha que é aberta vá em Configurações Regionais na área Global E altere a opção que está  Recomendado  para  Usar separador do DAX Localizado Vai ser...