evento
Junte-se a nós na FabCon Vegas
31/03, 23 - 2/04, 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registe-se hoje mesmoEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
Aplica-se a: Coluna calculada Tabela calculada Medida Cálculo visual
Especifica a relação a ser usada em um cálculo específico como a que existe entre columnName1 e columnName2.
USERELATIONSHIP(<columnName1>,<columnName2>)
Termo | Definição |
---|---|
columnName1 | O nome de uma coluna existente, usando sintaxe DAX padrão e totalmente qualificada, que geralmente representa os muitos lados da relação a ser usada; Se os argumentos forem dados em ordem inversa, a função irá trocá-los antes de usá-los. Este argumento não pode ser uma expressão. |
columnName2 | O nome de uma coluna existente, usando sintaxe DAX padrão e totalmente qualificada, que geralmente representa o lado ou o lado de pesquisa da relação a ser usada; Se os argumentos forem dados em ordem inversa, a função irá trocá-los antes de usá-los. Este argumento não pode ser uma expressão. |
A função não retorna nenhum valor; A função só permite a relação indicada durante o cálculo.
USERELATIONSHIP só pode ser usado em funções que tomam um filtro como argumento, por exemplo: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD e TOTALYTD funções.
USERELATIONSHIP não pode ser usado quando a segurança em nível de linha é definida para a tabela na qual a medida está incluída. Por exemplo, CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey]))
retornará um erro se a segurança em nível de linha for definida para DimCustomer.
USERELATIONSHIP usa relações existentes no modelo, identificando relações por suas colunas de ponto final.
Em USERELATIONSHIP, o status de um relacionamento não é importante; ou seja, se a relação está ativa ou não não afeta o uso da função. Mesmo que a relação esteja inativa, ela será usada e substituirá quaisquer outras relações ativas que possam estar presentes no modelo, mas não mencionadas nos argumentos da função.
Um erro será retornado se qualquer uma das colunas nomeadas como argumento não fizer parte de um relacionamento ou se os argumentos pertencerem a relações diferentes.
Se forem necessárias várias relações para unir a tabela A à tabela B num cálculo, cada relação deve ser indicada numa função USERELATIONSHIP diferente.
Se as expressões CALCULATE estiverem aninhadas e mais de uma expressão CALCULATE contiver uma função USERELATIONSHIP, então a USERELATIONSHIP mais interna é a que prevalece em caso de conflito ou ambiguidade.
Até 10 funções USERELATIONSHIP podem ser aninhadas; no entanto, sua expressão pode ter um nível mais profundo de aninhamento, ou seja. a expressão de exemplo a seguir é aninhada com 3 níveis de profundidade, mas apenas 2 para USERELATIONSHIP: =CALCULATE(CALCULATE( CALCULATE( <anyExpression>, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA]))
.
Para relações 1-para-1, USERELATIONSHIP só ativará a relação em uma direção. Em particular, os filtros só poderão fluir da tabela de columnName2 para a tabela de columnName1. Se a filtragem cruzada bidirecional for desejada, dois USERELATIONSHIPs com direcionalidade oposta podem ser usados no mesmo cálculo. Por exemplo, CALCULATE(..., USERELATIONSHIP(T1[K], T2[K]), USERELATIONSHIP(T2[K], T1[K]))
.
O exemplo a seguir mostra como substituir a relação padrão, ativa, entre as tabelas InternetSales e DateTime. A relação padrão existe entre a coluna OrderDate, na tabela InternetSales, e a coluna Date, na tabela DateTime.
Para calcular a soma das vendas pela Internet e permitir o fatiamento por ShippingDate em vez da tradicional OrderDate, crie measure, [InternetSales by ShippingDate] usando a seguinte expressão:
= CALCULATE(SUM(InternetSales[SalesAmount]), USERELATIONSHIP(InternetSales[ShippingDate], DateTime[Date]))
As relações entre InternetSales[ShipmentDate] e DateTime[Date] devem existir e não devem ser a relação ativa; também, a relação entre InternetSales[OrderDate] e DateTime[Date] deve existir e deve ser a relação ativa.
evento
Junte-se a nós na FabCon Vegas
31/03, 23 - 2/04, 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registe-se hoje mesmo