Share via


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