DAX'ta üst-alt hiyerarşileri için işlevleri anlama
DAX, kullanıcıların modellerinde üst-alt hiyerarşi olarak sunulan verileri yönetmesine yardımcı olmak için beş işlev sağlar. Bu işlevlerle, bir kullanıcı bir satırın sahip olduğu üst öğe kökeninin tamamını elde edebilir, en üst üstteki köken kaç düzeye sahiptir, geçerli satırın üst n düzeyi kimdir, geçerli satır hiyerarşisinin en üstünden n alt öğe kimdir ve belirli üst öğe geçerli satır hiyerarşisindeki bir üst öğe mi?
DAX'ta üst-alt işlevler
Aşağıdaki tablo, sütunlarda bir Üst-Alt hiyerarşi içerir: Tüm işlev örneklerinde kullanılan EmployeeKey ve ParentEmployeeKey .
EmployeeKey | ParentEmployeeKey |
---|---|
112 | |
14 | 112 |
3 | 14 |
11 | 3 |
13 | 3 |
162 | 3 |
117 | 162 |
221 | 162 |
81 | 162 |
Yukarıdaki tabloda, çalışan 112'de ana öğe tanımlanmadığını, 14 çalışanın yönetici olarak 112 çalışanı olduğunu (ParentEmployeeKey), 3. çalışanın yönetici olarak 14 çalışanı ve 11, 13 ve 162 çalışanlarının yönetici olarak 3 çalışanı olduğunu görebilirsiniz. Yukarıdakiler, 112 çalışanının üzerinde yöneticisi olmadığını ve burada gösterilen tüm çalışanların en üst yöneticisi olduğunu anlamaya yardımcı olur; ayrıca, çalışan 3 raporları çalışan 14 ve çalışanlara 11, 13, 162 rapor 3.
Aşağıdaki tabloda, kullanılabilir işlevler, işlevin kısa bir açıklaması ve yukarıda gösterilen verilerin üzerinde işleve bir örnek verilmiştir.
PATH işlevi - Geçerli satıra kadar en eski veya en üstten başlayarak geçerli satırın tüm üst değerlerinin tanımlayıcılarıyla sınırlandırılmış bir metin döndürür.
EmployeeKey | ParentEmployeeKey | Yol |
---|---|---|
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 işlevi - En eski veya en üst düzeye kadar geçerli düzeyden başlayarak belirli bir PATH() içindeki düzeylerin sayısını döndürür. Aşağıdaki örnek sütunda PathLength '= PATHLENGTH([Path])
' olarak tanımlanmıştır; örnek, bu işlevin nasıl çalıştığını anlamanıza yardımcı olmak için Path() örneğindeki tüm verileri içerir.
EmployeeKey | ParentEmployeeKey | Yol | 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 işlevi - PATH() gibi bir sonuçtan, soldan sağa doğru sayarak belirtilen konumdaki öğeyi döndürür. Aşağıdaki örnek sütunda PathItem - soldan 4. sütun '= PATHITEM([Path], 4)
' olarak tanımlanmıştır; bu örnek Path() örneğindeki aynı örnek verileri kullanarak soldan Yol dizesinde dördüncü konumdaki EmployeKey değerini döndürür.
EmployeeKey | ParentEmployeeKey | Yol | PathItem - Soldan 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 işlevi - Path() gibi bir işlev sonucundaki öğeyi, sağdan sola doğru geriye doğru sayarak döndürür.
Aşağıdaki örnek sütunda PathItemReverse - Sağdan 3. sütun '= PATHITEMREVERSE([Path], 3)
' olarak tanımlanmıştır; bu örnek, Path() örneğindeki aynı örnek verileri kullanarak sağdan Yol dizesinde üçüncü konumdaki EmployeKey değerini döndürür.
EmployeeKey | ParentEmployeeKey | Yol | PathItemReverse - Sağdan 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 işlevi - Belirtilen öğe belirtilen yol içinde varsa TRUE döndürür. Aşağıdaki örnek sütunda PathContains - çalışan 162 '= PATHCONTAINS([Path], "162")
' olarak tanımlanmıştır; verilen yol çalışan 162 içeriyorsa bu örnek DOĞRU döndürür. Bu örnekte yukarıdaki Path() örneğinden alınan sonuçlar kullanılır.
EmployeeKey | ParentEmployeeKey | Yol | PathContains - çalışan 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 | DOĞRU |
117 | 162 | 112|14|3|162|117 | DOĞRU |