หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ:
คอลัมน์
จากการคํานวณตาราง
จากการคํานวณวัด
การคํานวณวิชวล
แสดงแถวที่ตําแหน่งสัมบูรณ์ที่ระบุโดยพารามิเตอร์ตําแหน่งภายในพาร์ติชันที่ระบุ โดยเรียงลําดับตามลําดับที่ระบุ ถ้าไม่สามารถหาพาร์ติชันปัจจุบันให้กับพาร์ติชันเดียวได้ อาจส่งกลับหลายแถว
วากยสัมพันธ์
INDEX(<position>[, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
พารามิเตอร์
| เทอม | นิยาม |
|---|---|
position |
ตําแหน่งสัมบูรณ์ (แบบ 1) จากที่ได้รับข้อมูล: - position เป็นบวก: 1 คือแถวแรก 2 คือแถวที่สอง ฯลฯ - position เป็นลบ: -1 คือแถวสุดท้าย -2 เป็นแถวสุดท้ายแถวที่สอง ฯลฯ เมื่อ position อยู่นอกขอบเขต หรือศูนย์ หรือ BLANK(), INDEX จะส่งกลับตารางว่าง ซึ่งอาจเป็นนิพจน์ DAX ใด ๆ ที่แสดงค่าสเกลา |
relation |
(ไม่บังคับ) นิพจน์ตารางที่ผลลัพธ์ถูกส่งกลับ ถ้าใช้ในการคํานวณวิชวล พารามิเตอร์นี้จะยอมรับแกนในรูปร่างวิชวล
คอลัมน์ทั้งหมดใน partitionBy ต้องมาจากคอลัมน์นั้นหรือตารางที่เกี่ยวข้อง
ถ้าเว้นไว้: คุณต้องระบุ - orderBy อย่างชัดเจน
- นิพจน์ orderBy และ partitionBy ทั้งหมดต้องเป็นชื่อคอลัมน์ที่มีคุณสมบัติครบถ้วนและมาจากตารางเดียว
- ค่าเริ่มต้นคือ ALLSELECTED() ของคอลัมน์ทั้งหมดใน orderBy และ partitionBy |
orderBy |
(ไม่บังคับ) คําสั่ง ORDERBY() ที่มีนิพจน์ที่กําหนดวิธีการเรียงลําดับแต่ละพาร์ติชัน
ถ้าเว้นไว้: ต้องมีการระบุ - relation อย่างชัดเจน
- ค่าเริ่มต้นการเรียงลําดับตามทุกคอลัมน์ใน relation ซึ่งยังไม่ได้ระบุใน partitionBy |
blanks |
(ไม่บังคับ) ค่าจาระเหยที่กําหนดวิธีการจัดการค่าว่างเมื่อเรียงลําดับ relation หรือ axis
ค่าที่สนับสนุนคือ:
|
partitionBy |
(ไม่บังคับ) คําสั่ง relation จะถือว่าเป็นพาร์ติชันเดียว |
matchBy |
(ไม่บังคับ) ส่วนคําสั่ง |
reset |
(ไม่บังคับ) พร้อมใช้งานในการคํานวณวิชวลเท่านั้น ระบุว่าการคํานวณรีเซ็ตหรือไม่ และระดับใดของลําดับชั้นคอลัมน์ของรูปร่างวิชวล ค่าที่ยอมรับคือ: การอ้างอิงเขตข้อมูลไปยังคอลัมน์ในรูปร่างวิชวลปัจจุบัน NONE (ค่าเริ่มต้น) LOWESTPARENTHIGHESTPARENTหรือจํานวนเต็ม ลักษณะการทํางานขึ้นอยู่กับเครื่องหมายจํานวนเต็ม: - ถ้าศูนย์หรือเว้นไว้ การคํานวณจะไม่รีเซ็ต เทียบเท่ากับ NONE
- ถ้าเป็นค่าบวก จํานวนเต็มจะระบุคอลัมน์ที่เริ่มต้นจากสูงสุด โดยไม่ขึ้นอยู่กับเกรน HIGHESTPARENT เทียบเท่ากับ 1
- ถ้าเป็นค่าลบ จํานวนเต็มจะระบุคอลัมน์ที่เริ่มต้นจากต่ําสุด ซึ่งสัมพันธ์กับเกรนปัจจุบัน LOWESTPARENT เทียบเท่ากับ -1 |
ค่าผลลัพธ์
แถวที่ตําแหน่งสัมบูรณ์
หมาย เหตุ
แต่ละ partitionBy และคอลัมน์ matchBy ต้องมีค่าภายนอกที่สอดคล้องกันเพื่อช่วยกําหนด "พาร์ติชันปัจจุบัน" ที่จะทํางาน โดยมีลักษณะการทํางานต่อไปนี้:
- ถ้ามีหนึ่งคอลัมน์ภายนอกที่สอดคล้องกัน ค่านั้นจะถูกใช้
- ถ้าไม่มีคอลัมน์ภายนอกที่สอดคล้องกัน:
-
INDEX จะกําหนด
partitionByและคอลัมน์matchByทั้งหมดที่ไม่มีคอลัมน์ภายนอกที่สอดคล้องกัน - สําหรับการรวมค่าที่มีอยู่สําหรับคอลัมน์เหล่านี้ในบริบทหลักของ INDEXINDEX ได้รับการประเมินและแถวจะถูกส่งกลับ
- ผลลัพธ์สุดท้าย INDEXคือการรวมแถวเหล่านี้
-
INDEX จะกําหนด
- ถ้ามีคอลัมน์ภายนอกที่สอดคล้องกันมากกว่าหนึ่งคอลัมน์ ข้อผิดพลาดจะถูกส่งกลับ
ถ้า matchBy ปรากฏ INDEX จะพยายามใช้คอลัมน์ matchBy และ partitionBy เพื่อระบุแถว
ถ้าไม่มี matchBy และคอลัมน์ที่ระบุภายใน orderBy และ partitionBy ไม่สามารถระบุเฉพาะทุกแถวใน relation:
- INDEX จะพยายามค้นหาจํานวนคอลัมน์เพิ่มเติมน้อยที่สุดที่จําเป็นในการระบุเฉพาะทุกแถว
- ถ้าสามารถพบได้คอลัมน์ดังกล่าว INDEX จะผนวกคอลัมน์ใหม่เหล่านี้เข้ากับ
orderByโดยอัตโนมัติ และแต่ละพาร์ติชันจะถูกเรียงลําดับโดยใช้ชุดคอลัมน์ OrderBy ใหม่นี้ - ถ้าไม่พบคอลัมน์ดังกล่าว ข้อผิดพลาดจะถูกส่งกลับ
ตารางเปล่าจะถูกส่งกลับถ้า:
- ไม่มีค่าภายนอกที่สอดคล้องกันของคอลัมน์ PartitionBy อยู่ภายใน
relation - ค่า
positionอ้างอิงถึงตําแหน่งที่ไม่มีอยู่ภายในพาร์ติชัน
ถ้า INDEX ถูกใช้ภายในคอลัมน์จากการคํานวณที่กําหนดไว้ในตารางเดียวกันกับ relation และ orderBy จะถูกละเว้น ข้อผิดพลาดจะถูกส่งกลับ
reset สามารถใช้ในการคํานวณวิชวลเท่านั้น และไม่สามารถใช้ร่วมกับ orderBy หรือ partitionByได้ ถ้ามี reset อยู่ สามารถระบุ axis ได้ แต่ไม่สามารถระบุ relation ได้
ถ้าค่าของ reset เป็นแบบสัมบูรณ์ (เช่น จํานวนเต็ม HIGHESTPARENT บวก หรือการอ้างอิงเขตข้อมูล) และการคํานวณจะถูกประเมินที่หรือเหนือระดับเป้าหมายในลําดับชั้น การคํานวณจะรีเซ็ตสําหรับแต่ละองค์ประกอบ นั่นคือ ฟังก์ชันจะถูกประเมินภายในพาร์ติชันที่ประกอบด้วยองค์ประกอบเฉพาะเท่านั้น
ตัวอย่างที่ 1 - คอลัมน์จากการคํานวณ
คิวรี DAX ต่อไปนี้:
EVALUATE INDEX(1, ALL(DimDate[CalendarYear]))
แสดงตารางต่อไปนี้:
| DimDate[CalendarYear] |
|---|
| 2005 |
ตัวอย่างที่ 2 - คอลัมน์จากการคํานวณ
คิวรี DAX ต่อไปนี้:
EVALUATE
SUMMARIZECOLUMNS (
FactInternetSales[ProductKey],
DimDate[MonthNumberOfYear],
FILTER (
VALUES(FactInternetSales[ProductKey]),
[ProductKey] < 222
),
"CurrentSales", SUM(FactInternetSales[SalesAmount]),
"LastMonthSales",
CALCULATE (
SUM(FactInternetSales[SalesAmount]),
INDEX(-1, ORDERBY(DimDate[MonthNumberOfYear]))
)
)
ORDER BY [ProductKey], [MonthNumberOfYear]
แสดงตารางต่อไปนี้:
| FactInternetSales[ProductKey] | DimDate[MonthNumberOfYear] | [CurrentSales] | [LastMonthSales] |
|---|---|---|---|
| 214 | 1 | 5423.45 | 8047.7 |
| 214 | 2 | 4968.58 | 8047.7 |
| 214 | 3 | 5598.4 | 8047.7 |
| 214 | 4 | 5073.55 | 8047.7 |
| 214 | 5 | 5248.5 | 8047.7 |
| 214 | 6 | 7487.86 | 8047.7 |
| 214 | 7 | 7382.89 | 8047.7 |
| 214 | 8 | 6543.13 | 8047.7 |
| 214 | 9 | 6788.06 | 8047.7 |
| 214 | 10 | 6858.04 | 8047.7 |
| 214 | 11 | 8607.54 | 8047.7 |
| 214 | 12 | 8047.7 | 8047.7 |
| 217 | 1 | 5353.47 | 7767.78 |
| 217 | 2 | 4268.78 | 7767.78 |
| 217 | 3 | 5773.35 | 7767.78 |
| 217 | 4 | 5738.36 | 7767.78 |
| 217 | 5 | 6158.24 | 7767.78 |
| 217 | 6 | 6998 | 7767.78 |
| 217 | 7 | 5563.41 | 7767.78 |
| 217 | 8 | 5913.31 | 7767.78 |
| 217 | 9 | 5913.31 | 7767.78 |
| 217 | 10 | 6823.05 | 7767.78 |
| 217 | 11 | 6683.09 | 7767.78 |
| 217 | 12 | 7767.78 | 7767.78 |
ตัวอย่างที่ 3 - การคํานวณวิชวล
การคํานวณวิชวลต่อไปนี้ DAX คิวรี:
SalesComparedToBeginningOfYear = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, ROWS, HIGHESTPARENT))
SalesComparedToBeginningOfQuarter = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, , -1))
ปรับปรุงตารางเพื่อให้มี สําหรับแต่ละเดือน:
- ยอดขายรวม
- ความแตกต่างกับเดือนแรกของปีที่เกี่ยวข้อง
- และความแตกต่างกับเดือนแรกของไตรมาสที่เกี่ยวข้อง
สกรีนช็อตด้านล่างแสดงเมทริกซ์วิชวลและนิพจน์การคํานวณวิชวลแรก:
การคํานวณวิชวล