แชร์ผ่าน


การทําความเข้าใจฟังก์ชันสําหรับลําดับชั้นหลัก-รองใน 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()

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()

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