หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ:คอลัมน์
จากการคํานวณตาราง
จากการคํานวณวัด
การคํานวณวิชวล
ส่งกลับแถวเดียวที่มีตําแหน่งก่อนหรือหลัง แถวปัจจุบัน ภายในตารางเดียวกันตามออฟเซตที่กําหนด ถ้าแถวปัจจุบันไม่สามารถอนุมานเป็นแถวเดียว ได้ ระบบอาจส่งกลับหลายแถว
วากยสัมพันธ์
OFFSET ( <delta>[, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
พารามิเตอร์
เทอม | นิยาม |
---|---|
delta |
จํานวนแถวก่อน (ค่าลบ) หรือหลังจาก (ค่าบวก) แถวปัจจุบันที่จะรับข้อมูล ซึ่งอาจเป็นนิพจน์ 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 |
ค่าผลลัพธ์
อย่างน้อยหนึ่งแถวจาก relation
หมาย เหตุ
ยกเว้นสําหรับคอลัมน์ที่เพิ่มโดย DAX ฟังก์ชันตาราง แต่ละคอลัมน์ใน relation
เมื่อไม่มี matchBy
อยู่ หรือแต่ละคอลัมน์ใน matchBy
และ partitionBy
เมื่อ matchBy
ปรากฏ อยู่ จะต้องมีค่าภายนอกที่สอดคล้องกันเพื่อช่วยกําหนดแถวปัจจุบันที่จะทํางาน ด้วยลักษณะการทํางานต่อไปนี้:
- ถ้ามีหนึ่งคอลัมน์ภายนอกที่สอดคล้องกัน ค่านั้นจะถูกใช้
- ถ้าไม่มีคอลัมน์ภายนอกที่สอดคล้องกัน จะเป็น:
- OFFSET จะกําหนดคอลัมน์ทั้งหมดที่ไม่มีคอลัมน์ภายนอกที่สอดคล้องกันก่อน
- สําหรับการรวมค่าที่มีอยู่สําหรับคอลัมน์เหล่านี้ในบริบทหลักของ OFFSETOFFSET ได้รับการประเมินและแถวจะถูกส่งกลับ
- ผลลัพธ์สุดท้าย OFFSETคือการรวมแถวเหล่านี้
- ถ้ามีคอลัมน์ภายนอกที่สอดคล้องกันมากกว่าหนึ่งคอลัมน์ ข้อผิดพลาดจะถูกส่งกลับ
ถ้าคอลัมน์ของ relation
ทั้งหมดถูกเพิ่มโดยฟังก์ชันตาราง DAX ระบบจะแสดงข้อผิดพลาด
ถ้า matchBy
ปรากฏ OFFSET จะพยายามใช้คอลัมน์ matchBy
และ partitionBy
เพื่อระบุแถว
ถ้า matchBy
ไม่ปรากฏ และคอลัมน์ที่ระบุภายใน orderBy
และ partitionBy
ไม่สามารถระบุเฉพาะทุกแถวใน relation
แล้ว:
- OFFSET จะพยายามค้นหาจํานวนคอลัมน์เพิ่มเติมน้อยที่สุดที่จําเป็นในการระบุเฉพาะทุกแถว
- ถ้าสามารถพบได้คอลัมน์ดังกล่าว OFFSET จะผนวกคอลัมน์ใหม่เหล่านี้เข้ากับ
orderBy
โดยอัตโนมัติ และแต่ละพาร์ติชันจะถูกเรียงลําดับโดยใช้ชุดคอลัมน์ OrderBy ใหม่นี้ - ถ้าไม่พบคอลัมน์ดังกล่าว ข้อผิดพลาดจะถูกส่งกลับ
ตารางเปล่าจะถูกส่งกลับถ้า:
- ไม่มีค่าภายนอกที่สอดคล้องกันของคอลัมน์ OrderBy หรือ PartitionBy อยู่ภายใน
relation
- ค่า
delta
ทําให้เกิดการเลื่อนไปยังแถวที่ไม่มีอยู่ภายในพาร์ติชัน
ถ้า OFFSET ถูกใช้ภายในคอลัมน์จากการคํานวณที่กําหนดไว้ในตารางเดียวกันกับ relation
และ orderBy
จะถูกละเว้น ข้อผิดพลาดจะถูกส่งกลับ
reset
สามารถใช้ในการคํานวณวิชวลเท่านั้น และไม่สามารถใช้ร่วมกับ orderBy
หรือ partitionBy
ได้ ถ้ามี reset
อยู่ สามารถระบุ axis
ได้ แต่ไม่สามารถระบุ relation
ได้
ถ้าค่าของ reset
เป็นแบบสัมบูรณ์ (เช่น จํานวนเต็ม HIGHESTPARENT
บวก หรือการอ้างอิงเขตข้อมูล) และการคํานวณจะถูกประเมินที่หรือเหนือระดับเป้าหมายในลําดับชั้น การคํานวณจะรีเซ็ตสําหรับแต่ละองค์ประกอบ นั่นคือ ฟังก์ชันจะถูกประเมินภายในพาร์ติชันที่ประกอบด้วยองค์ประกอบเฉพาะเท่านั้น
ตัวอย่างที่ 1 - คอลัมน์จากการคํานวณ
คิวรี DAX ต่อไปนี้:
DEFINE
VAR vRelation = SUMMARIZECOLUMNS (
DimProductCategory[EnglishProductCategoryName],
DimDate[CalendarYear],
"CurrentYearSales", SUM(FactInternetSales[SalesAmount])
)
EVALUATE
ADDCOLUMNS (
vRelation,
"PreviousYearSales",
SELECTCOLUMNS(
OFFSET (
-1,
vRelation,
ORDERBY([CalendarYear]),
PARTITIONBY([EnglishProductCategoryName])
),
[CurrentYearSales]
)
)
ส่งกลับตารางที่สรุปยอดขายทั้งหมดสําหรับแต่ละหมวดหมู่ผลิตภัณฑ์และปีปฏิทิน รวมถึงยอดขายทั้งหมดสําหรับหมวดหมู่นั้นในปีก่อนหน้า
ตัวอย่างที่ 2 - หน่วยวัด
คิวรี DAX ต่อไปนี้:
DEFINE
MEASURE DimProduct[CurrentYearSales] = SUM(FactInternetSales[SalesAmount])
MEASURE DimProduct[PreviousYearSales] = CALCULATE(SUM(FactInternetSales[SalesAmount]), OFFSET(-1, , ORDERBY(DimDate[CalendarYear])))
EVALUATE
SUMMARIZECOLUMNS (
DimDate[CalendarYear],
"CurrentYearSales", DimProduct[CurrentYearSales],
"PreviousYearSales", DimProduct[PreviousYearSales]
)
ใช้ OFFSET() ในหน่วยวัดเพื่อส่งคืนตารางที่สรุปยอดขายทั้งหมดสําหรับแต่ละปีปฏิทินและยอดขายทั้งหมดสําหรับปีก่อนหน้า
ตัวอย่างที่ 3 - คอลัมน์จากการคํานวณ
คิวรี DAX ต่อไปนี้:
EVALUATE
ADDCOLUMNS (
FactInternetSales,
"Previous Sales Amount",
SELECTCOLUMNS (
OFFSET (
-1,
FactInternetSales,
ORDERBY ( FactInternetSales[SalesAmount], DESC ),
PARTITIONBY ( FactInternetSales[ProductKey] ),
MATCHBY( FactInternetSales[SalesOrderNumber], FactInternetSales[SalesOrderLineNumber] )
),
FactInternetSales[SalesAmount]
)
)
ส่งกลับตาราง FactInternetSales พร้อมการเพิ่มคอลัมน์ ซึ่งระบุสําหรับการขายแต่ละครั้ง จํานวนการขายก่อนหน้าของผลิตภัณฑ์เดียวกัน ในลําดับยอดขายจากมากไปหาน้อย โดยมีการขายปัจจุบันซึ่งระบุโดย SalesOrderNumber และ SalesOrderLineNumber หากไม่มี MATCHBYคิวรีจะส่งกลับข้อผิดพลาดเนื่องจากไม่มีคอลัมน์หลักในตาราง FactInternetSales
ตัวอย่างที่ 4 - การคํานวณวิชวล
การคํานวณวิชวลต่อไปนี้ DAX คิวรี:
SalesRelativeToPreviousMonth = [SalesAmount] - CALCULATE(SUM([SalesAmount]), OFFSET(-1, ROWS, HIGHESTPARENT))
ส่งกลับความแตกต่างของยอดขายรวมระหว่างแต่ละเดือนกับยอดขายก่อนหน้าภายในปีเดียวกัน
สกรีนช็อตด้านล่างแสดงเมทริกซ์วิชวลและนิพจน์การคํานวณวิชวล:
การคํานวณวิชวล