Κατανόηση συναρτήσεων για γονικές-θυγατρικές ιεραρχίες σε DAX
DAX παρέχει πέντε συναρτήσεις για να βοηθήσει τους χρήστες να διαχειρίζονται δεδομένα που παρουσιάζονται ως ιεραρχία γονικού-θυγατρικού στοιχείου στα μοντέλα τους. Με αυτές τις συναρτήσεις, ένας χρήστης μπορεί να αποκτήσει ολόκληρη τη γενεαλογία των γονικών που διαθέτει μια γραμμή, πόσα επίπεδα έχει η γενεαλογία μέχρι το ανώτερο γονικό στοιχείο, ποιο είναι το γονικό επίπεδο n πάνω από την τρέχουσα γραμμή, ποιο είναι το απογονικό στοιχείο n από το επάνω μέρος της τρέχουσας ιεραρχίας γραμμών και είναι ένα συγκεκριμένο γονικό στοιχείο στην τρέχουσα ιεραρχία γραμμών;
Γονικές-θυγατρικές συναρτήσεις σε DAX
Ο παρακάτω πίνακας περιέχει μια ιεραρχία Parent-Child στις στήλες: EmployeeKey και ParentEmployeeKey που χρησιμοποιείται σε όλα τα παραδείγματα συναρτήσεων.
EmployeeKey | ParentEmployeeKey |
---|---|
112 | |
14 | 112 |
3 | 14 |
11 | 3 |
13 | 3 |
162 | 3 |
117 | 162 |
221 | 162 |
81 | 162 |
Στον παραπάνω πίνακα μπορείτε να δείτε ότι ο υπάλληλος 112 δεν έχει καθορισμένο γονικό στοιχείο, ο υπάλληλος 14 έχει τον υπάλληλο 112 ως διευθυντή (ParentEmployeeKey), ο υπάλληλος 3 έχει τον υπάλληλο 14 ως διευθυντή και οι υπάλληλοι 11, 13 και 162 έχουν τον εργαζόμενο 3 ως διευθυντή. Τα παραπάνω βοηθούν να κατανοήσετε ότι ο υπάλληλος 112 δεν έχει προϊστάμενο πάνω από αυτόν και είναι ο κορυφαίος διευθυντής για όλους τους υπαλλήλους που εμφανίζονται εδώ. επίσης, ο υπάλληλος 3 αναφέρεται στον υπάλληλο 14 και οι υπάλληλοι 11, 13, 162 αναφέρουν στον 3.
Ο παρακάτω πίνακας παρουσιάζει τις διαθέσιμες συναρτήσεις, μια σύντομη περιγραφή της συνάρτησης και ένα παράδειγμα της συνάρτησης με τα ίδια δεδομένα που εμφανίζονται παραπάνω.
PATH συνάρτηση - Επιστρέφει ένα οριοθετημένο κείμενο με τα αναγνωριστικά όλων των γονικών στοιχείων στην τρέχουσα γραμμή, ξεκινώντας από το παλαιότερο ή το ανώτατο μέχρι σήμερα.
EmployeeKey | ParentEmployeeKey | Μονοπάτι |
---|---|---|
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 |
PATHLENGTH συνάρτηση - Επιστρέφει τον αριθμό των επιπέδων σε μια δεδομένη PATH(), ξεκινώντας από το τρέχον επίπεδο μέχρι το παλαιότερο ή το ανώτερο επίπεδο του γονικού στοιχείου. Στο παρακάτω παράδειγμα, η στήλη PathLength ορίζεται ως '= PATHLENGTH([Path])
'. Το παράδειγμα περιλαμβάνει όλα τα δεδομένα από το παράδειγμα Path() για να κατανοήσετε πώς λειτουργεί αυτή η συνάρτηση.
EmployeeKey | ParentEmployeeKey | Μονοπάτι | 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 |
PATHITEM συνάρτηση - Επιστρέφει το στοιχείο στην καθορισμένη θέση από ένα PATH() όπως αποτέλεσμα, μετρώντας από αριστερά προς τα δεξιά. Στο παρακάτω παράδειγμα, η στήλη PathItem - 4η από αριστερά- ορίζεται ως '= PATHITEM([Path], 4)
'; Αυτό το παράδειγμα επιστρέφει το EmployeKey στην τέταρτη θέση στη συμβολοσειρά Path από τα αριστερά, χρησιμοποιώντας το ίδιο δείγμα δεδομένων από το παράδειγμα Path().
EmployeeKey | ParentEmployeeKey | Μονοπάτι | PathItem - 4η από αριστερά |
---|---|---|---|
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 |
PATHITEMREVERSE συνάρτηση - Επιστρέφει το στοιχείο στη position
από ένα αποτέλεσμα συνάρτησης PATH(), μετρώντας προς τα πίσω από τα δεξιά προς τα αριστερά.
Στο παρακάτω παράδειγμα, η στήλη PathItemReverse - 3η από δεξιά ορίζεται ως '= PATHITEMREVERSE([Path], 3)
'; Αυτό το παράδειγμα επιστρέφει το EmployeKey στην τρίτη θέση στη συμβολοσειρά Path από τα δεξιά, χρησιμοποιώντας το ίδιο δείγμα δεδομένων από το παράδειγμα Path().
EmployeeKey | ParentEmployeeKey | Μονοπάτι | PathItemReverse - 3η από δεξιά |
---|---|---|---|
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 |
PATHCONTAINS συνάρτηση - Επιστρέφει TRUE
εάν η καθορισμένη item
υπάρχει εντός του καθορισμένου path
. Στο παρακάτω παράδειγμα, η στήλη PathContains - υπάλληλος 162 ορίζεται ως '= PATHCONTAINS([Path], "162")
'; Αυτό το παράδειγμα επιστρέφει TRUE
εάν η συγκεκριμένη διαδρομή περιέχει τον υπάλληλο 162. Αυτό το παράδειγμα χρησιμοποιεί τα αποτελέσματα από το παράδειγμα Path() παραπάνω.
EmployeeKey | ParentEmployeeKey | Μονοπάτι | PathContains - υπάλληλος 162 |
---|---|---|---|
112 | 112 | FALSE |
|
14 | 112 | 112|14 | FALSE |
3 | 14 | 112|14|3 | FALSE |
11 | 3 | 112|14|3|11 | FALSE |
13 | 3 | 112|14|3|13 | FALSE |
162 | 3 | 112|14|3|162 | TRUE |
117 | 162 | 112|14|3|162|117 | TRUE |