Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

A resposta da demanda não seria uma tabelinha com cada combustível e a respectiva bandeira mais barata?

A demanda desse tópico:

Qual bandeira teve o menor preço médio por tipo de combustível?

A resposta não deveria ser uma tabela do tipo

ProdutoBandeira
DIESELBandeira1
DIESEL S10Bandeira2
ETANOLBandeira3
GASOLINABandeira4
GASOLINA ADITIVADABandeira5
GNVBandeira6

e talvez uma terceira coluna opcional com o valor?

Como montar isso?

2 respostas
solução!

Olá, elieser, tudo bem?

O instrutor demonstra o processo filtrando um combustível por vez, usando o slicer. Porém, quando queremos uma tabela que já traga, para cada combustível, qual bandeira possui o menor preço médio, o slicer deixa de ser suficiente. Isso acontece porque a medida AVERAGE depende do filtro aplicado manualmente pelo usuário, e o slicer apenas exibe os dados filtrados, sem identificar qual bandeira possui o menor preço médio.

Para esse tipo de resumo, o Power BI precisa comparar as médias de preço dentro de cada produto e selecionar automaticamente a menor. Esse tipo de operação é possível em DAX, usando tabelas calculadas, agregações e funções iteradoras.

Você pode seguir os passos:

1. Criar uma tabela com Produto × Bandeira e a média de preço

ResumoProdutoBandeira = 
SUMMARIZE(
    fPrecos,
    dProdutos[Produto],
    dBandeiras[Bandeira],
    "MediaPreco", [Média de Preço]
)

Essa tabela reúne todas as combinações de Produto e Bandeira, já com o valor médio calculado para cada par.

2. Criar outra tabela identificando a bandeira mais barata de cada produto

MenorPrecoPorProduto = 
ADDCOLUMNS(
    SUMMARIZE(ResumoProdutoBandeira, ResumoProdutoBandeira[Produto]),
    "BandeiraMaisBarata",
        VAR Prod = ResumoProdutoBandeira[Produto]
        VAR MediaMinima =
            MINX(
                FILTER(
                    ResumoProdutoBandeira,
                    ResumoProdutoBandeira[Produto] = Prod
                ),
                ResumoProdutoBandeira[MediaPreco]
            )
        RETURN
            CALCULATE(
                MAX(ResumoProdutoBandeira[Bandeira]),
                ResumoProdutoBandeira[Produto] = Prod,
                ResumoProdutoBandeira[MediaPreco] = MediaMinima
            )
)

Essa tabela faz o seguinte:

  • cria uma linha para cada produto
  • encontra a menor média naquele produto
  • retorna a bandeira correspondente
  • entrega exatamente a estrutura desejada para o resumo

3. Inserir o visual no relatório

Basta usar um visual de tabela e adicionar:

  • Produto
  • BandeiraMaisBarata

O Power BI exibirá, em uma única visualização, o menor preço médio por tipo de combustível, sem depender de slicers.

A imagem mostra uma tela do Power BI com um visual de tabela exibindo duas colunas, “Produto” e “BandeiraMaisBarata”. Os produtos listados são Diesel, Diesel S10, Etanol, Gasolina, Gasolina Aditivada e GNV, cada um acompanhado pela bandeira com menor preço médio, como Pelikano, Royal FIC ou Larco. À direita, aparece o painel de campos do Power BI, onde as tabelas calculadas “MenorPrecoPorProduto” e “ResumoProdutoBandeira” estão expandidas, mostrando os campos utilizados. No painel de configurações do visual, vê-se que as colunas selecionadas para composição da tabela são “Produto” e “BandeiraMaisBarata”.

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!

Excelente, obrigado!