Skip to content

Lição 6: Percentual do total ​

Tipo
Tutorial
Para
Analista
Na tela
DataViz › Aplicação › Editar › Expressões
Liberação
Em beta

Lição 6 de 12 do tutorial DAX, nível intermediário, cerca de 8 minutos. Objetivo: dividir o valor da linha pelo total das linhas do gráfico.

1. Total em todas as linhas ​

Numa tabela com UF nas linhas, crie a medida:

dax
CALCULATE(
    SUM('Vendas'[Faturamento]),
    ALLSELECTED('Clientes'[UF])
)

Todas as linhas mostram o total das UFs que o dashboard deixa ver.

2. Percentual ​

Divida o faturamento da linha por esse total:

dax
DIVIDE(
    SUM('Vendas'[Faturamento]),
    CALCULATE(SUM('Vendas'[Faturamento]), ALLSELECTED('Clientes'[UF]))
)

Com a medida formatada como percentual, a soma das linhas dá 100%.

Valores do app de demonstração:

UFFaturamento% do total
PR63.574.811,6557,02%
SC29.421.831,7626,39%
SP18.503.356,5516,59%

Como funciona ​

ALLSELECTED tira o filtro da linha e mantém o do dashboard. Com o dashboard em 2025, o total é o de 2025.

ALL tira também o filtro do dashboard na tabela. O percentual passa a ser sobre o total geral, e as linhas deixam de somar 100%.

Nenhum dos dois tira a liberação do usuário nem o filtro do datamart.

Em SQL ​

SUM(valor) / NULLIF(SUM(SUM(valor)) OVER (), 0). O OVER () soma as linhas do resultado.

Exercício ​

Crie a medida "% sobre todas as UFs": faturamento da linha dividido pelo faturamento de todos os clientes, mesmo com UF filtrada no dashboard.

Mostrar resposta
dax
DIVIDE(
    SUM('Vendas'[Faturamento]),
    CALCULATE(SUM('Vendas'[Faturamento]), ALL('Clientes'))
)

Próximos passos ​