ROWNUMBER
นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณ
หน่วยวัด
การคํานวณวิชวล
แสดงการจัดอันดับที่ไม่ซ้ํากันสําหรับบริบทปัจจุบันภายในพาร์ติชันที่ระบุ โดยเรียงลําดับตามลําดับที่ระบุ ถ้าหาค่าตรงกันไม่พบ rownumber จะเป็นค่าว่าง
ไวยากรณ์
ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
พารามิเตอร์
เงื่อนไข | คำนิยาม |
---|---|
relation |
(ไม่บังคับ) นิพจน์ตารางที่ส่งกลับแถวผลลัพธ์
ถ้าระบุ คอลัมน์ทั้งหมดใน orderBy และ partitionBy ต้องมาจากคอลัมน์นั้น
ถ้าเว้นไว้: ต้องมีการระบุ - orderBy อย่างชัดเจน- คอลัมน์ orderBy และ partitionBy ทั้งหมดจะต้องผ่านคุณสมบัติครบถ้วนและมาจากตารางเดียว
- ค่าเริ่มต้นคือ ALLSELECTED() ของคอลัมน์ทั้งหมดใน orderBy และ partitionBy |
axis |
(ไม่บังคับ) แกนในรูปร่างวิชวล พร้อมใช้งานในการคํานวณวิชวลเท่านั้น และแทนที่ relation |
orderBy |
(ไม่บังคับ) คําสั่ง ORDERBY() ที่มีคอลัมน์ที่กําหนดวิธีการเรียงลําดับแต่ละพาร์ติชัน
ถ้าเว้นไว้: ต้องมีการระบุ - relation อย่างชัดเจน
- ค่าเริ่มต้นการเรียงลําดับตามทุกคอลัมน์ใน relation ซึ่งยังไม่ได้ระบุใน partitionBy |
blanks |
(ไม่บังคับ) ค่าจาระเหยที่กําหนดวิธีการจัดการค่าว่างเมื่อเรียงลําดับ relation หรือ axis
ค่าที่สนับสนุนคือ:
|
partitionBy |
(ไม่บังคับ) คําสั่ง relation จะถือว่าเป็นพาร์ติชันเดียว |
matchBy |
(ไม่บังคับ) ส่วนคําสั่ง |
reset |
(ไม่บังคับ) พร้อมใช้งานในการคํานวณวิชวลเท่านั้น ระบุว่าการคํานวณรีเซ็ตหรือไม่ และระดับใดของลําดับชั้นคอลัมน์ของรูปร่างวิชวล ค่าที่ยอมรับคือ: การอ้างอิงเขตข้อมูลไปยังคอลัมน์ในรูปร่างวิชวลปัจจุบัน NONE (ค่าเริ่มต้น) LOWESTPARENT HIGHESTPARENT หรือจํานวนเต็ม ลักษณะการทํางานขึ้นอยู่กับเครื่องหมายจํานวนเต็ม: - ถ้าศูนย์หรือเว้นไว้ การคํานวณจะไม่รีเซ็ต เทียบเท่ากับ NONE
- ถ้าเป็นค่าบวก จํานวนเต็มจะระบุคอลัมน์ที่เริ่มต้นจากสูงสุด โดยไม่ขึ้นอยู่กับเกรน HIGHESTPARENT เทียบเท่ากับ 1
- ถ้าเป็นค่าลบ จํานวนเต็มจะระบุคอลัมน์ที่เริ่มต้นจากต่ําสุด ซึ่งสัมพันธ์กับเกรนปัจจุบัน LOWESTPARENT เทียบเท่ากับ -1 |
ค่าผลลัพธ์
หมายเลขแถวสําหรับบริบทปัจจุบัน
หมายเหตุ
แต่ละ orderBy
คอลัมน์ partitionBy
และ matchBy
ต้องมีค่าภายนอกที่สอดคล้องกันเพื่อช่วยกําหนดแถวปัจจุบันที่จะดําเนินการ ด้วยลักษณะการทํางานต่อไปนี้:
- ถ้ามีหนึ่งคอลัมน์ภายนอกที่สอดคล้องกัน ค่านั้นจะถูกใช้
- ถ้าไม่มีคอลัมน์ภายนอกที่สอดคล้องกัน จะเป็น:
-
ROWNUMBER จะกําหนด
orderBy
ทั้งหมดpartitionBy
และmatchBy
คอลัมน์ที่ไม่มีคอลัมน์ภายนอกที่สอดคล้องกัน - สําหรับการรวมค่าที่มีอยู่สําหรับคอลัมน์เหล่านี้ในบริบทหลัก ROWNUMBERROWNUMBER จะถูกประเมินและแถวจะถูกส่งกลับ
- ผลลัพธ์สุดท้าย ROWNUMBERคือการรวมแถวเหล่านี้
-
ROWNUMBER จะกําหนด
- ถ้ามีคอลัมน์ภายนอกที่สอดคล้องกันมากกว่าหนึ่งคอลัมน์ ข้อผิดพลาดจะถูกส่งกลับ
ถ้า matchBy
ปรากฏ ROWNUMBER จะพยายามใช้คอลัมน์ใน matchBy
และ partitionBy
เพื่อปฏิเสธแถวปัจจุบัน
ถ้าคอลัมน์ที่ระบุภายใน orderBy
และ partitionBy
ไม่สามารถระบุทุกแถวใน relation
ที่ไม่ซ้ํากันได้ จะเป็น:
- ROWNUMBER จะพยายามค้นหาจํานวนคอลัมน์เพิ่มเติมน้อยที่สุดที่จําเป็นในการระบุเฉพาะทุกแถว
- หากพบคอลัมน์ดังกล่าว ROWNUMBER จะ
- ลองค้นหาจํานวนคอลัมน์เพิ่มเติมน้อยที่สุดซึ่งจําเป็นต้องระบุเฉพาะทุกแถว
- ผนวกคอลัมน์ใหม่เหล่านี้เข้ากับส่วนคําสั่ง
orderBy
โดยอัตโนมัติ - เรียงลําดับแต่ละพาร์ติชันโดยใช้ชุดคอลัมน์ orderBy ใหม่นี้
- ถ้าไม่พบคอลัมน์ดังกล่าวและฟังก์ชันตรวจพบความสัมพันธ์ในขณะทํางาน ข้อผิดพลาดจะถูกส่งกลับ
reset
สามารถใช้ในการคํานวณวิชวลเท่านั้น และไม่สามารถใช้ร่วมกับ orderBy
หรือ partitionBy
ได้ ถ้ามี reset
อยู่ สามารถระบุ axis
ได้ แต่ไม่สามารถระบุ relation
ได้
ตัวอย่างที่ 1 - คอลัมน์จากการคํานวณ
คิวรี DAX ต่อไปนี้:
EVALUATE
ADDCOLUMNS(
'DimGeography',
"UniqueRank",
ROWNUMBER(
'DimGeography',
ORDERBY(
'DimGeography'[StateProvinceName], desc,
'DimGeography'[City], asc),
PARTITIONBY(
'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc
แสดงตารางที่มีการจัดอันดับแต่ละภูมิศาสตร์ด้วย EnglishCountryRegionName เดียวกันโดย StateProvinceName และ City
ตัวอย่างที่ 2 - การคํานวณวิชวล
การคํานวณวิชวลต่อไปนี้ DAX คิวรี:
SalesRankWithinYear = ROWNUMBER(ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))
สร้างสองคอลัมน์ที่มีการจัดอันดับที่ไม่ซ้ํากันในแต่ละเดือนตามยอดขายทั้งหมด ทั้งภายในแต่ละปี และประวัติทั้งหมด
สกรีนช็อตด้านล่างแสดงเมทริกซ์วิชวลและนิพจน์การคํานวณวิชวลแรก:
การคํานวณวิชวล