Compreendendo funções para hierarquias pai-filho em DAX
O DAX fornece cinco funções para ajudar os usuários a gerenciar dados que são apresentados como uma hierarquia pai-filho nos seus modelos. Com essas funções, um usuário pode obter a linhagem inteira de pais de uma linha, quantos níveis a linhagem ao pai de parte superior que os níveis de n pai estão acima da linha atual que o descendente de n é da parte superior da hierarquia de linha atual e certo pai é um pai na hierarquia de linha atual?
Funções pai-filho em DAX
A seguinte tabela contém uma hierarquia Pai-Filho nas colunas: EmployeeKey e ParentEmployeeKey que é usada em todos os exemplos de funções.
EmployeeKey |
ParentEmployeeKey |
112 |
|
14 |
112 |
3 |
14 |
11 |
3 |
13 |
3 |
162 |
3 |
117 |
162 |
221 |
162 |
81 |
162 |
Na tabela anterior, verifique que o funcionário 112 não tem pai definido, o funcionário 14 tem o funcionário 112 como gerente (ParentEmployeeKey), o funcionário 3 tem o funcionário 14 como gerente e os funcionários 11, 13 e 162 têm o funcionário 3 como gerente. Essa tabela o ajuda a compreender que o funcionário 112 não tem gerente acima dele e que ele é o gerente principal de todos os funcionários mostrados aqui; além disso, o funcionário 3 se reporta ao funcionário 14 e os funcionários 11, 13, 162 se reportam ao funcionário 3.
A tabela a seguir apresenta as funções disponíveis, uma breve descrição da função e um exemplo da função em relação aos mesmos dados mostrados anteriormente.
Função |
Descrição / Exemplo |
||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Retorna um texto delimitado com os identificadores de todos os pais da linha atual, começando pelo mais antigo ou o primeiro até o atual. No exemplo a seguir, a coluna 'Path' é definida como '=PATH(EmployeeKey, ParentEmployeeKey)'
|
|||||||||||||||||||||||||||||||||||||||||
Retorna o número de níveis em determinado PATH(), começando pelo nível atual até o primeiro nível pai ou o mais antigo. No exemplo a seguir, a coluna PathLength é definida como '=PATHLENGTH([Path])'; o exemplo inclui todos os dados do exemplo de Path() para ajudar a compreender como esta função funciona.
|
|||||||||||||||||||||||||||||||||||||||||
Retorna o item à posição especificada de um resultado como PATH(), contando da esquerda para a direita. No exemplo a seguir, a coluna PathItem - 4th from left é definida como '=PATHITEM([Path], 4)'; este exemplo retorna o EmployeKey na quarta posição na cadeia de caracteres Path a partir da esquerda, usando os mesmos dados de exemplo do exemplo Path().
|
|||||||||||||||||||||||||||||||||||||||||
Retorna o item em position de um resultado de função como PATH(), contando de trás para a frente, da direita para a esquerda. No exemplo a seguir, a coluna PathItemReverse - 3rd from right é definida como '=PATHITEMREVERSE([Path], 3)'; este exemplo retorna o EmployeKey na terceira posição na cadeia de caracteres Path a partir da direita, usando os mesmos dados de exemplo do exemplo Path().
|
|||||||||||||||||||||||||||||||||||||||||
Retorna TRUE quando o item especificado existe no path especificado. No exemplo a seguir, a coluna PathContains - employee 162 é definido como '=PATHCONTAINS([Path], "162")'; este exemplo retorna TRUE quando o caminho especificado contém o funcionário 162. Este exemplo usa os resultados do exemplo Path() anterior.
|
Cuidado |
---|
No SQL Server 2012 Analysis Services, o mecanismo analítico na memória xVelocity (VertiPaq) não oferece suporte à definição de hierarquias pai-filho; porém, a linguagem DAX fornece um conjunto de funções que permite aos usuários explorar hierarquias pai-filho e usar essas hierarquias em fórmulas. |