Pular para o conteúdo principal

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

[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 nada a ver com o totalizador real que deveria.


E de onde ele tirou esse valor?

Bem isso veio simplesmente da multiplicação dos totais de cada linha.

Isso ocorre porque quando usamos uma função não iterante, estamos criando cálculos que usam contexto de Filtro.

Rafael mas não tem nenhum filtro aplicado aí...

Ow animal... Claro que têm...

O próprio nome do vendedor e a Ordem de Venda cria um Filtro implícito que afeta nosso cálculo.
Traduzindo o que estamos fazendo linha a linha é filtrando o Vendedor X na Ordem de Venda Y, e multiplicando a soma da quantidade pela soma do valor de vendas.

E ele faz essa analise a cada filtro implícito no nosso visual de tabela em cada linha.

O problema que quando ele chega na linha totalizador, SIM o TOTALIZADOR É UMA LINHA DO NOSSO VISUAL, ele procura os filtros e não havendo filtros para vendedor e nem Ordem de venda, então ele simplesmente Soma toda a coluna de Quantidade e Multiplica pela Soma de toda a Coluna Valor e nos dá um resultado bizarro.

Temos então a velho logica que a soma dos produtos não é igual ao produto das somas.

E como corrigir isso?

Em DAX temos as chamadas funções iterantes, que diferente das demais não trabalham em contexto de Filtro mas em contexto de Linha.

O que isso quer dizer?

Quer dizer que essas funções tem a peculiaridade de poder analisar o meu cálculo LINHA A LINHA da minha tabela Fonte, e não somente com base no filtro implícito no meu visual de tabela.

Vamos demonstrar usando a função iterante que substituiria a nossa expressão anterior.

Como queremos uma SOMA dos totais iremos utilizar a função iterante para soma chamada SUMX.


E agora sim, tanto linha a linha quanto no total está correto o nosso valor.


E é isso pessoal, é importante conhecer a teoria para entender o que na prática está ocorrendo com nossos cálculos.

E se quiser conhecer mais sobre funções dax, temos o nosso guia dax em www.guiadax.com.br onde você pode consultar videos que existem em português da maioria das funções DAX.

Grande abraço e até a próxima



Comentários

  1. Perfect, ótimo material e didática. Abs

    ResponderExcluir
  2. Excelente dica! E quando temos o valor de tabela(index 100), o desconto e o acrescimo aplicado? Qual seria a forma mais correta de fazer a conta? utilizar a CURRENCY no valor de tabela e no valor final? Um abs!

    ResponderExcluir
  3. "Ow animal... Claro que têm" kkkkkk, ótimo material Rafael, aguardo os próximos.
    abs

    ResponderExcluir
  4. Boa tarde. poderia fazer uma explicação de como realizar o totalizador sintético conforme esse vídeo fantástico da analisador horizontal e vertical ... gostaria de saber como vc consegue fazer esse totalizar de contas analíticas e depois o totalizador.

    ResponderExcluir
  5. Bom dia,
    estou com um caso onde isso não funcionou,
    por exemplo:
    total forecast está em uma tabela, e o peso líquido está em outra tabela
    Criei uma medida onde multiplico Forecast * peso líquido.
    funcionou , e os valores batem
    mas o totalizador da tabela, não faz a soma de jeito nenhum.
    aí nesse caso qual seria a solução?

    ResponderExcluir
    Respostas
    1. Estou com esse mesmo problema William, encontrou alguma solução?

      Excluir
    2. olá, também estou com esse problema.. conseguirma?

      Excluir
    3. Também estou com esse problema.

      Excluir
    4. Também estou com esse problema, conseguiu resolver?

      Excluir
    5. Pessoal, estou com o mesmo problema, vcs conseguiram alguma solução?

      Excluir
    6. Bom dia pessoal 2022 e agora sou eu que estou com esse problema rs
      alguem conseguiu?

      Excluir
    7. 2023 também estou passando por isso

      Excluir
    8. Agora eu em 2024 enfrento o mesmo problema

      Excluir
    9. Para o totalizador bater, vocês tem que usar o Sumx com Summarize Exemplo: Sumx(Summarize(Calendario, Ano/mes), calculate(forecast * Peso liquid))

      Excluir
  6. Valeu Rafa!!! A solução estava no DAX básico, e eu aqui fazendo medidas mirabolantes hahaha. Preciso dar uma revisada aqui nos estudos 😅
    Obrigado pelo post!

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

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

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