Compreensão das funções para hierarquias pai-filho no DAX
O DAX fornece cinco funções para ajudar os usuários a gerenciar dados apresentados como uma hierarquia pai-filho em seus modelos. Com essas funções, um usuário pode obter a linhagem inteira de pais de uma linha, quantos níveis têm a linhagem até o primeiro pai, quem são os níveis n pai acima da linha atual, quem é o descendente n da parte superior da hierarquia de linhas atual e se determinado pai é pai na hierarquia de linhas atual.
Funções pai-filho no DAX
A tabela a seguir contém uma hierarquia pai-filho nas colunas: EmployeeKey e ParentEmployeeKey usadas em todos os exemplos de função.
EmployeeKey | ParentEmployeeKey |
---|---|
112 | |
14 | 112 |
3 | 14 |
11 | 3 |
13 | 3 |
162 | 3 |
117 | 162 |
221 | 162 |
81 | 162 |
Na tabela acima, você pode ver que o funcionário 112 não tem nenhum 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 funcionários 11, 13 e 162 têm o funcionário 3 como gerente. A tabela acima ajuda a entender que o funcionário 112 não tem gerente acima dele e ele é o gerente principal de todos os funcionários mostrados aqui. Além disso, o funcionário 3 é subordinado ao funcionário 14 e os funcionários 11, 13, 162 ao 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 acima.
Função PATH – retorna um texto delimitado com os identificadores de todos os pais da linha atual, começando com o mais antigo ou mais alto até o atual.
EmployeeKey | ParentEmployeeKey | Caminho |
---|---|---|
112 | 112 | |
14 | 112 | 112|14 |
3 | 14 | 112|14|3 |
11 | 3 | 112|14|3|11 |
13 | 3 | 112|14|3|13 |
162 | 3 | 112|14|3|162 |
117 | 162 | 112|14|3|162|117 |
221 | 162 | 112|14|3|162|221 |
81 | 162 | 112|14|3|162|81 |
Função PATHLENGTH – retorna o número de níveis em um determinado PATH(), começando no nível atual até o nível pai mais antigo ou superior. No exemplo a seguir, a coluna PathLength é definida como '= PATHLENGTH([Path])
', e o exemplo inclui todos os dados do exemplo Path() para ajudar a entender como essa função funciona.
EmployeeKey | ParentEmployeeKey | Caminho | PathLength |
---|---|---|---|
112 | 112 | 1 | |
14 | 112 | 112|14 | 2 |
3 | 14 | 112|14|3 | 3 |
11 | 3 | 112|14|3|11 | 4 |
13 | 3 | 112|14|3|13 | 4 |
162 | 3 | 112|14|3|162 | 4 |
117 | 162 | 112|14|3|162|117 | 5 |
221 | 162 | 112|14|3|162|221 | 5 |
81 | 162 | 112|14|3|162|81 | 5 |
Função PATHITEM – retorna o item na posição especificada de um resultado semelhante a PATH(), contando da esquerda para a direita. No exemplo a seguir, a coluna PathItem, que é a 4ª partindo da esquerda, é definida como "= PATHITEM([Path], 4)
". Esse exemplo retorna o EmployeKey na quarta posição na cadeia de caracteres Path começando da esquerda, usando os mesmos dados do exemplo Path().
EmployeeKey | ParentEmployeeKey | Caminho | PathItem – 4º começando da esquerda |
---|---|---|---|
112 | 112 | ||
14 | 112 | 112|14 | |
3 | 14 | 112|14|3 | |
11 | 3 | 112|14|3|11 | 11 |
13 | 3 | 112|14|3|13 | 13 |
162 | 3 | 112|14|3|162 | 162 |
117 | 162 | 112|14|3|162|117 | 162 |
221 | 162 | 112|14|3|162|221 | 162 |
81 | 162 | 112|14|3|162|81 | 162 |
Função PATHITEMREVERSE – retorna o item na posição de um resultado de função semelhante a PATH(), contando de maneira inversa da direita para a esquerda.
No exemplo a seguir, a coluna PathItemReverse, que é a 3ª partindo da direita, é definida como '= PATHITEMREVERSE([Path], 3)
'. Esse exemplo retorna o EmployeKey na terceira posição na cadeia de caracteres Path começando da direita, usando os mesmos dados do exemplo Path().
EmployeeKey | ParentEmployeeKey | Caminho | PathItemReverse – 3ª começando da direita |
---|---|---|---|
112 | 112 | ||
14 | 112 | 112|14 | |
3 | 14 | 112|14|3 | 112 |
11 | 3 | 112|14|3|11 | 14 |
13 | 3 | 112|14|3|13 | 14 |
162 | 3 | 112|14|3|162 | 14 |
117 | 162 | 112|14|3|162|117 | 3 |
221 | 162 | 112|14|3|162|221 | 3 |
81 | 162 | 112|14|3|162|81 | 3 |
Função PATHCONTAINS – retornará TRUE se o item especificado existir no caminho especificado. No exemplo a seguir, na coluna PathContains, o funcionário 162 é definido como '= PATHCONTAINS([Path], "162")
'. Esse exemplo retornará TRUE se o caminho fornecido contiver o funcionário 162. Este exemplo usa os resultados do exemplo Path() acima.
EmployeeKey | ParentEmployeeKey | Caminho | PathContains – Funcionário 162 |
---|---|---|---|
112 | 112 | FALSO | |
14 | 112 | 112|14 | FALSE |
3 | 14 | 112|14|3 | FALSO |
11 | 3 | 112|14|3|11 | FALSO |
13 | 3 | 112|14|3|13 | FALSO |
162 | 3 | 112|14|3|162 | VERDADEIRO |
117 | 162 | 112|14|3|162|117 | VERDADEIRO |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de