หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ:คอลัมน์
จากการคํานวณตาราง
จากการคํานวณวัด
การคํานวณวิชวล
แสดงแถวที่ตําแหน่งสัมบูรณ์ที่ระบุโดยพารามิเตอร์ตําแหน่งภายในพาร์ติชันที่ระบุ โดยเรียงลําดับตามลําดับที่ระบุ ถ้าไม่สามารถหาพาร์ติชันปัจจุบันให้กับพาร์ติชันเดียวได้ อาจส่งกลับหลายแถว
วากยสัมพันธ์
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 (ค่าเริ่มต้น) LOWESTPARENT HIGHESTPARENT หรือจํานวนเต็ม ลักษณะการทํางานขึ้นอยู่กับเครื่องหมายจํานวนเต็ม: - ถ้าศูนย์หรือเว้นไว้ การคํานวณจะไม่รีเซ็ต เทียบเท่ากับ 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))
ปรับปรุงตารางเพื่อให้มี สําหรับแต่ละเดือน:
- ยอดขายรวม
- ความแตกต่างกับเดือนแรกของปีที่เกี่ยวข้อง
- และความแตกต่างกับเดือนแรกของไตรมาสที่เกี่ยวข้อง
สกรีนช็อตด้านล่างแสดงเมทริกซ์วิชวลและนิพจน์การคํานวณวิชวลแรก:
การคํานวณวิชวล