Buscar K
Aparência
Aparência
Lição 5 de 12 do tutorial DAX, nível intermediário, cerca de 8 minutos. Objetivo: calcular uma medida com um filtro diferente do filtro da linha.
Na tabela "Faturamento por UF", crie a medida:
SUM('Vendas'[Faturamento])Cada linha mostra o faturamento da própria UF. O filtro vem da linha.
Crie a medida "Só SP":
CALCULATE(
SUM('Vendas'[Faturamento]),
'Clientes'[UF] = "SP"
)Todas as linhas mostram o faturamento de SP.
Valores do app de demonstração:
| UF | Faturamento | Só SP |
|---|---|---|
| PR | 63.574.811,65 | 18.503.356,55 |
| SC | 29.421.831,76 | 18.503.356,55 |
| SP | 18.503.356,55 | 18.503.356,55 |
O CALCULATE substitui o filtro de UF da linha (UF = PR) pelo filtro informado (UF = SP). Os demais filtros, como o período do dashboard, são mantidos.
Com KEEPFILTERS, o filtro é adicionado em vez de substituído. Nesse caso a linha do PR fica vazia.
SUM(CASE WHEN UF = 'SP' THEN valor END). O CASE avalia a linha da tabela, e o CALCULATE altera o filtro do gráfico. Para condição simples na mesma tabela, o CASE é mais rápido. Com UF nas linhas, o CASE deixa as outras UFs vazias, e por isso não equivale ao CALCULATE nesse caso.
Crie a medida "Faturamento sobre SP": faturamento da linha dividido pelo faturamento de SP. Use DIVIDE para tratar divisor zero.
DIVIDE(
SUM('Vendas'[Faturamento]),
CALCULATE(SUM('Vendas'[Faturamento]), 'Clientes'[UF] = "SP")
)