Skip to content

Lição 12: USERELATIONSHIP ​

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

Lição 12 de 12 do tutorial DAX, nível avançado, cerca de 8 minutos. Objetivo: calcular a medida por outra data da mesma tabela, como a data de entrega.

1. Relacionamento padrão ​

Numa tabela com a coluna Data do Calendário nas linhas, agrupada por mês, crie a medida:

dax
SUM('Vendas'[Faturamento])

O calendário filtra as vendas pela data da venda, que é o relacionamento padrão do app.

2. Relacionamento secundário ​

O app declara um segundo relacionamento, entre a data de entrega e o calendário. Crie a medida:

dax
CALCULATE(
    SUM('Vendas'[Faturamento]),
    USERELATIONSHIP('Vendas'[Entrega], 'Calendário'[Data])
)

Cada mês passa a somar as vendas entregues naquele mês.

Como funciona ​

USERELATIONSHIP usa o relacionamento secundário declarado no app entre as duas colunas. Sem ele declarado, a medida é recusada.

No Power BI, o segundo relacionamento fica inativo. Na plataforma não existe relacionamento inativo, e o secundário declarado faz esse papel.

Uma medida usa USERELATIONSHIP entre um único par de tabelas.

Em SQL ​

use([Calendário], [Vendas]."ENTREGA") SUM([Vendas].[Faturamento]). O use() no começo da fórmula troca o relacionamento da expressão inteira.

Exercício ​

Crie a medida "Pedidos por entrega", com o número de vendas contado pela data de entrega.

Mostrar resposta
dax
CALCULATE(
    COUNTROWS('Vendas'),
    USERELATIONSHIP('Vendas'[Entrega], 'Calendário'[Data])
)

Próximos passos ​