ROWNU เมกะไบต์ ER
นําไปใช้กับ:การคํานวณคอลัมน์จากการคํานวณ ตารางจากการคํานวณ หน่วยวัดการคํานวณวิชวล
แสดงการจัดอันดับที่ไม่ซ้ํากันสําหรับบริบทปัจจุบันภายในพาร์ติชันที่ระบุ โดยเรียงลําดับตามลําดับที่ระบุ ถ้าหาค่าตรงกันไม่พบ จากนั้น rownumber จะเป็นค่าว่าง
ไวยากรณ์
ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
พารามิเตอร์
เงื่อนไข | คำนิยาม |
---|---|
สัมพันธ์ | (ไม่บังคับ) นิพจน์ตารางที่ส่งกลับแถวผลลัพธ์ ถ้าระบุ คอลัมน์ <ทั้งหมดใน orderBy> และ <partitionBy> ต้องมาจากคอลัมน์นั้น ถ้าเว้นไว้: - <orderBy> ต้องระบุอย่างชัดเจน- คอลัมน์ orderBy> และ <partitionBy> ทั้งหมด<จะต้องมีคุณสมบัติครบถ้วนและมาจากตารางเดียว - ค่าเริ่มต้นเป็น ALLSELECTED() ของคอลัมน์<ทั้งหมดใน orderBy> และ <partitionBy> |
แกน | (ไม่บังคับ) แกนในรูปร่างวิชวล พร้อมใช้งานในการคํานวณวิชวลเท่านั้น และแทนที่<ความสัมพันธ์> |
orderBy | (ไม่บังคับ) คําสั่ง ORDERBY() ที่มีคอลัมน์ที่กําหนดวิธีการเรียงลําดับแต่ละพาร์ติชัน ถ้าเว้นไว้: - <ต้องระบุความสัมพันธ์> อย่างชัดเจน - ค่าเริ่มต้นในการเรียงลําดับตามทุกคอลัมน์ที่สัมพันธ์กับ<>ไม่ได้ระบุไว้ใน <partitionBy> |
ช่อง ว่าง | (ไม่บังคับ) ค่าจาระเลี่ยงที่กําหนดวิธีการจัดการค่าว่างเมื่อเรียงลําดับ ค่าที่ได้รับการสนับสนุนคือ:
|
partitionBy | (ไม่บังคับ) คําสั่ง PARTITIONBY() ที่มีคอลัมน์ที่กําหนดวิธีการ<แบ่งพาร์ติชันความสัมพันธ์> ถ้ามีการเว้นไว้ <ความสัมพันธ์> จะถือว่าเป็นพาร์ติชันเดียว |
matchBy | (ไม่บังคับ) ส่วนคําสั่ง MATCHBY() ที่มีคอลัมน์ที่กําหนดวิธีการจับคู่ข้อมูลและระบุแถวปัจจุบัน |
รี เซ็ต | (ไม่บังคับ) พร้อมใช้งานในการคํานวณวิชวลเท่านั้น ระบุว่าการคํานวณรีเซ็ตหรือไม่ และระดับใดของลําดับชั้นคอลัมน์ของรูปร่างวิชวล ค่าที่ยอมรับคือ: NONE, LOWESTPARENT, HIGHESTPARENT หรือจํานวนเต็ม ลักษณะการทํางานจะขึ้นอยู่กับเครื่องหมายจํานวนเต็ม: - ถ้าเป็นศูนย์หรือเว้นไว้ การคํานวณจะไม่รีเซ็ต เทียบเท่ากับ NONE - ถ้าเป็นค่าบวก จํานวนเต็มจะระบุคอลัมน์ที่เริ่มต้นจากสูงสุด เป็นอิสระจากเกรน HIGHESTPARENT เทียบเท่ากับ 1 - ถ้าเป็นค่าลบ จํานวนเต็มจะระบุคอลัมน์โดยเริ่มต้นจากต่ําสุด ซึ่งสัมพันธ์กับเกรนปัจจุบัน LOWESTPARENT เทียบเท่ากับ -1 |
ค่าที่ส่งกลับ
หมายเลขแถวสําหรับบริบทปัจจุบัน
หมายเหตุ
แต่ละ <orderBy>, <partitionBy> และ <matchBy> ต้องมีค่าภายนอกที่สอดคล้องกันเพื่อช่วยกําหนดแถวปัจจุบันที่จะทํางาน โดยมีลักษณะการทํางานต่อไปนี้:
- ถ้ามีหนึ่งคอลัมน์ภายนอกที่สอดคล้องกัน ค่านั้นจะถูกใช้
- ถ้าไม่มีคอลัมน์ภายนอกที่สอดคล้องกัน จะเป็น:
- ROWNU เมกะไบต์ ER จะกําหนด<ลําดับของคอลัมน์ orderBy>, <partitionBy> และ <matchBy> ทั้งหมดที่ไม่มีคอลัมน์ภายนอกที่สอดคล้องกัน
- สําหรับการรวมค่าที่มีอยู่สําหรับคอลัมน์เหล่านี้ในบริบทหลัก ROWNU เมกะไบต์ ER จะมีการประเมิน ROWNU เมกะไบต์ ER และจะส่งกลับแถว
- ผลลัพธ์สุดท้ายของ ROWNU เมกะไบต์ ER คือการรวมแถวเหล่านี้
- ถ้ามีคอลัมน์ภายนอกที่สอดคล้องกันมากกว่าหนึ่งคอลัมน์ ข้อผิดพลาดจะถูกส่งกลับ
ถ้า <matchBy> ปรากฏอยู่ ROWNU เมกะไบต์ ER จะพยายามใช้คอลัมน์ใน <matchBy> และ <partitionBy> เพื่อไม่ให้ความทึบของแถวปัจจุบัน
ถ้าคอลัมน์ที่ระบุภายใน <orderBy> และ <partitionBy> ไม่สามารถระบุทุกแถวที่มีความ <สัมพันธ์กับ>กันได้ ดังนั้น:
- ROWNU เมกะไบต์ ER จะพยายามค้นหาจํานวนคอลัมน์เพิ่มเติมขั้นต่ําที่จําเป็นในการระบุเฉพาะทุกแถว
- หากพบคอลัมน์ดังกล่าว ROWNU เมกะไบต์ ER จะ
- ลองค้นหาจํานวนคอลัมน์เพิ่มเติมน้อยที่สุดซึ่งจําเป็นต้องระบุเฉพาะทุกแถว
- ผนวกคอลัมน์ใหม่เหล่านี้เข้ากับ <ส่วนคําสั่ง orderBy> โดยอัตโนมัติ
- เรียงลําดับแต่ละพาร์ติชันโดยใช้ชุดคอลัมน์ orderBy ใหม่นี้
- ถ้าไม่พบคอลัมน์ดังกล่าวและฟังก์ชันตรวจพบความสัมพันธ์ในขณะทํางาน ข้อผิดพลาดจะถูกส่งกลับ
<Reset> สามารถใช้ในการคํานวณวิชวลเท่านั้น และไม่สามารถใช้ร่วมกับ <orderBy> หรือ <partitionBy> ได้ ถ้า <รีเซ็ต> ปรากฏ <อยู่ สามารถระบุแกน> ได้ แต่ <ไม่สามารถระบุความสัมพันธ์> ได้
ตัวอย่างที่ 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))
สร้างสองคอลัมน์ที่มีการจัดอันดับที่ไม่ซ้ํากันในแต่ละเดือนตามยอดขายทั้งหมด ทั้งภายในแต่ละปี และประวัติทั้งหมด
สกรีนช็อตด้านล่างแสดงเมทริกซ์วิชวลและนิพจน์การคํานวณวิชวลแรก:
เนื้อหาที่เกี่ยวข้อง
คำติชม
https://aka.ms/ContentUserFeedback
เร็วๆ นี้: ตลอดปี 2024 เราจะขจัดปัญหา GitHub เพื่อเป็นกลไกคำติชมสำหรับเนื้อหา และแทนที่ด้วยระบบคำติชมใหม่ สำหรับข้อมูลเพิ่มเติม ให้ดู:ส่งและดูข้อคิดเห็นสำหรับ