INFO.RELATIONSHIPS

DAXInformação (INFO Functions)

Retorna uma tabela com cada relacionamento do modelo semântico: nome, se está ativo, tipo, direção do filtro cruzado, tabelas e colunas de origem e destino (por ID), cardinalidades e comportamento de filtro de segurança.

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]

Mais informações

Aprender DAX ao vivo