2
respostas

[Dúvida] Como fazer um calculo eliminando as duplicadas?

Olá, pessoal! Estou com uma dificuldade para calcular corretamente o faturamento por método de pagamento no Power BI, utilizando duas tabelas diferentes. Estou utilizando a as tabelas de vendas de marketing e logistica do curso Power BI: aprofundando na linguagem DAX. Ao terminar eu quis praticar e criar meu próprio dashboard. Então criei o problema de fazer o total de faturamente por método de pagamento mas o resultado fica superestimado — o valor total do faturamento extrapola completamente o valor real (que é em torno de R$ 53 mil, mas aparece como R$ 500 mil+). Também tentei usar LOOKUPVALUE() dentro do SUMX, mas continuo com resultados errados ou incompletos. Tentei ainda mudar a direção do relacionamento para ambos os sentidos, mas sem sucesso. Quero uma medida que calcule corretamente o faturamento por método de pagamento, multiplicando: Preço Unitário (da tabela registro_livros_marketing) × Quantidade vendida (da tabela registro_notas_logistica) Agrupado por Metodo_Pagamento. Se alguem puder me dar uma luz, agradeço. Forte abraço.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Olá, Pedro, tudo bem?

O problema pode estar relacionado a duplicações nas tabelas ou à forma como as tabelas estão relacionadas. Peço que verifique se as tabelas registro_livros_marketing e registro_notas_logistica estão corretamente relacionadas, através do campo comum, ID_Produto:

Imagem do Power BI exibindo o painel de gerenciamento de relacionamentos entre duas tabelas: registro_livros_marketing e registro_notas_logistica. A tabela registro_livros_marketing contém colunas como Categoria, Editora, ID, Preço Promocional, Preço Unitário, Quantidade Vendas e Título. A tabela registro_notas_logistica possui colunas como Categoria do livro, Cidade_Entrega, Codigo_Postal_Entrega, Data_Compra, Data_Entrega, Endereco_Entrega, ID_Fatura, ID_Produto e Metodo_Pagamento. Há uma linha de relacionamento conectando a coluna ID da tabela registro_livros_marketing com a coluna ID_Produto da tabela registro_notas_logistica.No painel lateral direito, na aba "Propriedades", o relacionamento está configurado como “Muitos para um (*:1)”, com filtro cruzado definido como “Único” e ativado como “Sim”.

Para evitar que o cálculo do faturamento seja inflado por repetições, recomendo testar a criação da medida abaixo, utilizando a função SUMX junto com DISTINCT:

Faturamento por Método de Pagamento = 
SUMX(
    DISTINCT(
        SELECTCOLUMNS(
            registro_notas_logistica,
            "Metodo_Pagamento", registro_notas_logistica[Metodo_Pagamento],
            "Quantidade", registro_notas_logistica[Quantidade vendida Logistica],
            "Preço Unitário", RELATED(registro_livros_marketing[Preço Unitário])
        )
    ),
    [Quantidade] * [Preço Unitário]
)
  • SELECTCOLUMNS: Cria uma tabela temporária com as colunas necessárias.
  • RELATED: Busca o preço unitário da tabela de marketing, assumindo que existe uma relação correta entre as tabelas.
  • DISTINCT: Remove duplicações na combinação de método de pagamento, quantidade e preço unitário.
  • SUMX: Calcula o total multiplicando quantidade pelo preço unitário para cada linha distinta.

Teste essa medida e veja se os valores fazem mais sentido.

Destaco que o código acima é uma sugestão. É possível que haja necessidade de fazer algumas alterações para alcançar o objetivo.

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Olá, muito obrigado. Entretanto não funcionou da forma deveria. Veja, o faturamento total é de R$ 53.305,00. Fazendo essa fórmula DAX, eu fiquei com os valores no ANEXO. O relacionamento também está feito. Quando eu faço isso usando simples procx no EXCEL, os dados batem certinho com os valores de faturamento por método de pagamento, mas no DAX não ta dando certo. Eu queria conseguir resolver no dax. Vejo os anexos. Se puder me da uma força, agradeço. Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade