Quando usar
Para documentar ou auditar os relacionamentos em consulta DAX, como localizar relacionamentos inativos ou bidirecionais.
Sintaxe
DAX
INFO.RELATIONSHIPS([<Nome da restrição>, <Valor da restrição>], ...)Parâmetros
Nome da restrição (Opcional): texto entre aspas duplas com o nome da restrição usada para filtrar o resultado; em geral, qualquer coluna retornada pode ser usada. Valor da restrição (Opcional): texto entre aspas duplas com o valor do filtro. Nome e valor são informados sempre em par, e mais de um par é permitido.
Aplica-se a
- NãoColuna Calculada
- NãoTabela Calculada
- NãoMedida
- NãoCálculo Visual
Exemplo
DAX
// Relacionamentos com nomes de tabela e coluna (DAX Query View)
EVALUATE
VAR vRelacionamentos =
SELECTCOLUMNS (
INFO.RELATIONSHIPS (),
"Ativo", [IsActive],
"Filtro Cruzado", [CrossFilteringBehavior],
"FromTableID", [FromTableID],
"FromColumnID", [FromColumnID],
"ToTableID", [ToTableID],
"ToColumnID", [ToColumnID]
)
VAR vTabelaDe = SELECTCOLUMNS ( INFO.TABLES (), "FromTableID", [ID], "Tabela De", [Name] )
VAR vTabelaPara = SELECTCOLUMNS ( INFO.TABLES (), "ToTableID", [ID], "Tabela Para", [Name] )
VAR vColunaDe = SELECTCOLUMNS ( INFO.COLUMNS (), "FromColumnID", [ID], "Coluna De", [ExplicitName] )
VAR vColunaPara = SELECTCOLUMNS ( INFO.COLUMNS (), "ToColumnID", [ID], "Coluna Para", [ExplicitName] )
VAR vJuncao =
NATURALLEFTOUTERJOIN (
NATURALLEFTOUTERJOIN (
NATURALLEFTOUTERJOIN ( NATURALLEFTOUTERJOIN ( vRelacionamentos, vTabelaDe ), vTabelaPara ),
vColunaDe
),
vColunaPara
)
RETURN
SELECTCOLUMNS (
vJuncao,
"Tabela De", [Tabela De], // ex.: TabFatVenda
"Coluna De", [Coluna De],
"Tabela Para", [Tabela Para], // ex.: TabDimCliente
"Coluna Para", [Coluna Para],
"Ativo", [Ativo],
"Filtro Cruzado", [Filtro Cruzado]
)
ORDER BY [Tabela De], [Tabela Para]