RANKX
นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณ
หน่วยวัด
การคํานวณวิชวล
ส่งกลับการจัดอันดับของตัวเลขในรายการของตัวเลขสําหรับแต่ละแถวในอาร์กิวเมนต์ table
ไวยากรณ์
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
พารามิเตอร์
table
นิพจน์ DAX ใด ๆ ที่แสดงตารางของข้อมูลที่มีการประเมินนิพจน์
expression
นิพจน์ DAX ใด ๆ ที่แสดงค่าสเกลาเดียว นิพจน์ จะถูกประเมินสําหรับแต่ละแถวของ table
เพื่อสร้างค่าที่เป็นไปได้ทั้งหมดสําหรับการจัดอันดับ ดูส่วนหมายเหตุเพื่อทําความเข้าใจลักษณะการทํางานของฟังก์ชันเมื่อ expression
ประเมินเป็น BLANK
value
(ไม่บังคับ) นิพจน์ DAX ใดก็ตามที่แสดงค่าสเกลาเดียวที่มีการค้นหาอันดับ ดูส่วนหมายเหตุเพื่อทําความเข้าใจเกี่ยวกับลักษณะการทํางานของฟังก์ชันเมื่อไม่พบ value
ในนิพจน์
เมื่อพารามิเตอร์ value
ถูกเว้นไว้ ค่าของนิพจน์ในแถวปัจจุบันจะถูกใช้แทน
order
(ไม่บังคับ) ค่าที่ระบุวิธีการจัดอันดับ value
ต่ําถึงสูงหรือสูงไปต่ํา:
ค่า | ค่าสํารอง | คำอธิบาย |
---|---|---|
0 (ศูนย์) | FALSE |
จัดอันดับจากมากไปหาน้อยสําหรับค่านิพจน์ ถ้าค่าเท่ากับจํานวนสูงสุดในนิพจน์ RANKX จะแสดงค่า 1 นี่คือค่าเริ่มต้นเมื่อพารามิเตอร์ลําดับถูกเว้นไว้ |
1 | TRUE |
จัดอันดับจากน้อยไปหามากสําหรับนิพจน์ ถ้าค่าเท่ากับจํานวนต่ําสุดในนิพจน์ RANKX จะแสดงค่า 1 |
ties
(ไม่บังคับ) ค่าจาระบีที่กําหนดวิธีการกําหนดการจัดอันดับเมื่อมีการผูกรวม
การแจงนับ | คำอธิบาย |
---|---|
Skip |
ค่าอันดับถัดไปหลังจากเชื่อมโยง เป็นค่าอันดับของความสัมพันธ์บวกกับจํานวนของค่าที่เชื่อมโยง ตัวอย่างเช่น ถ้าค่าห้า (5) เชื่อมโยงกับอันดับ 11 ค่าถัดไปจะได้รับอันดับ 16 (11 + 5) นี่คือค่าเริ่มต้นเมื่อพารามิเตอร์ ties ถูกเว้นไว้ |
Dense |
ค่าอันดับถัดไปหลังจากผูกเป็นค่าอันดับถัดไป ตัวอย่างเช่น ถ้าค่าห้า (5) เชื่อมโยงกับอันดับ 11 ค่าถัดไปจะได้รับอันดับ 12 |
ค่าผลลัพธ์
จํานวนอันดับของ value
ระหว่างค่าที่เป็นไปได้ทั้งหมดของ expression
ที่ประเมินสําหรับแถวทั้งหมดของตัวเลข table
หมายเหตุ
ถ้า
expression
หรือvalue
ประเมินเป็น BLANK จะถือว่าเป็น 0 (ศูนย์) สําหรับนิพจน์ทั้งหมดที่เป็นตัวเลข หรือเป็นข้อความที่ว่างเปล่าสําหรับนิพจน์ข้อความทั้งหมดถ้า
value
ไม่ได้อยู่ในค่าที่เป็นไปได้ทั้งหมดของexpression
RANKX จะเพิ่มvalue
ชั่วคราวลงในค่าจากexpression
และประเมิน RANKX ใหม่เพื่อกําหนดอันดับที่เหมาะสมของvalue
อาร์กิวเมนต์ที่เลือกได้อาจถูกข้ามโดยการวางเครื่องหมายจุลภาค (,) ที่ว่างเปล่าในรายการอาร์กิวเมนต์ เช่น
RANKX(Inventory, [InventoryCost],,,"Dense")
การเปรียบเทียบที่เกี่ยวข้องกับความเท่ากัน (
=
,<
,>
,>=
และ<=
) ระหว่างค่าที่มีชนิดข้อมูล เลขทศนิยม อาจแสดงผลลัพธ์ที่ไม่คาดคิดเมื่อใช้ฟังก์ชัน RANKX ผลลัพธ์ที่ไม่ถูกต้องสามารถเกิดขึ้นได้ เนื่องจากค่าที่มี เลขทศนิยม ชนิดข้อมูลจะถูกจัดเก็บเป็นตัวเลขจุดทศนิยมลอยตัว IEEE Standard 754 และมีขีดจํากัดที่มีอยู่ภายในความแม่นยํา เพื่อหลีกเลี่ยงผลลัพธ์ที่ไม่คาดคิด ให้เปลี่ยนชนิดข้อมูลเป็น เลขทศนิยมคงที่ หรือบังคับให้ปัดเศษโดยใช้ ROUNDฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)
ตัวอย่าง
คอลัมน์จากการคํานวณต่อไปนี้ในตารางผลิตภัณฑ์จะคํานวณการจัดอันดับยอดขายสําหรับแต่ละผลิตภัณฑ์ในช่องทางอินเทอร์เน็ต
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))