แชร์ผ่าน


การทําความเข้าใจฟังก์ชันสําหรับลําดับชั้นหลัก-รองใน DAX

DAX มีฟังก์ชันห้ารายการเพื่อช่วยให้ผู้ใช้สามารถจัดการข้อมูลที่แสดงเป็นลําดับชั้นหลัก-รองในแบบจําลองของพวกเขา ด้วยฟังก์ชันนี้ ผู้ใช้จะสามารถรับสายข้อมูลระดับหลักทั้งหมดในแถวจะมีจํานวนกี่ระดับที่มีสายข้อมูลระดับหลักสูงสุด ซึ่งเป็นระดับ n หลักที่อยู่เหนือแถวปัจจุบัน ซึ่งคือโหนดสืบทอด n จากด้านบนของลําดับชั้นแถวปัจจุบัน และเป็นรายการหลักในลําดับชั้นแถวปัจจุบันหรือไม่

ฟังก์ชันหลัก-รองใน DAX

ตารางต่อไปนี้ประกอบด้วยลําดับชั้นหลัก-รองในคอลัมน์: 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 Path
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 Path 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()

EmployeeKey ParentEmployeeKey Path 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 - แสดงรายการที่ ตําแหน่ง จาก PATH() เช่น ผลลัพธ์ของฟังก์ชัน โดยนับถอยหลังจากขวาไปซ้าย
ในตัวอย่างต่อไปนี้ คอลัมน์ PathItemReverse - อันดับ 3 จากขวาถูกกําหนดเป็น '= PATHITEMREVERSE([Path], 3)' ตัวอย่างนี้ส่งกลับ EmployeKey ที่ตําแหน่งที่สามในสตริงเส้นทางจากด้านขวา โดยใช้ข้อมูลตัวอย่างเดียวกันจากตัวอย่าง Path()

EmployeeKey ParentEmployeeKey Path 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 ถ้ารายการที่ระบุอยู่ภายในเส้นทางที่ระบุ ในตัวอย่างต่อไปนี้ คอลัมน์ PathContains - พนักงาน 162 ถูกกําหนดเป็น '= PATHCONTAINS([Path], "162")' ตัวอย่างนี้แสดง ค่า TRUE ถ้าเส้นทางที่กําหนดประกอบด้วยพนักงาน 162 ตัวอย่างนี้ใช้ผลลัพธ์จากตัวอย่าง Path() ข้างต้น

EmployeeKey ParentEmployeeKey Path 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