คืนตารางที่เป็นผลแบบ semi-join ระหว่าง 2 ตาราง พร้อมแทนคอลัมน์ร่วมด้วยดัชนี 0-based ซึ่งคำนวณจากลำดับแถวของตารางอ้างอิงหลังจัดเรียง
=SUBSTITUTEWITHINDEX(<Table>, <Name>, <SemiJoinIndexTable>, <Expression> [, [<Order>] [, <Expression> [, [<Order>]]]])
=SUBSTITUTEWITHINDEX(<Table>, <Name>, <SemiJoinIndexTable>, <Expression> [, [<Order>] [, <Expression> [, [<Order>]]]])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Table | table | Yes | ตารางหลักที่ต้องการปรับ โดยจะถูกคืนกลับมาในรูปแบบตารางผลลัพธ์ | |
| Name | string | Yes | ชื่อคอลัมน์ดัชนีใหม่ที่จะถูกเพิ่มลงในผลลัพธ์ | |
| SemiJoinIndexTable | table | Yes | ตารางอ้างอิงสำหรับสร้างดัชนีและใช้จับคู่กับ Table (หลังจัดเรียงตาม Expression/Order ที่ระบุ) | |
| Expression | expression | Yes | นิพจน์สำหรับ “จัดลำดับ” ตารางอ้างอิง (SemiJoinIndexTable); สามารถระบุได้หลายตัว | |
| Order | keyword | Optional | ASC | ทิศทางการจัดเรียงของแต่ละ Expression เช่น ASC หรือ DESC |
ใช้สร้าง “หมายเลขคอลัมน์” จากรายการหัวคอลัมน์ที่จัดลำดับแล้ว เพื่อวางค่าลงตำแหน่งที่ถูกต้อง
เมื่อมีคอลัมน์ร่วมหลายตัว การสร้างดัชนีช่วยให้การจัดรูปตาราง/ส่งต่อข้อมูลทำได้ง่ายขึ้น
แนวคิด (โครง) = SUBSTITUTEWITHINDEX( <ResultTable>, "ColIndex", <IndexTable>, <SortExpression>, ASC )=แนวคิด (โครง) =
SUBSTITUTEWITHINDEX(
<ResultTable>,
"ColIndex",
<IndexTable>,
<SortExpression>,
ASC
)
ได้ตารางที่มีคอลัมน์ "ColIndex" เป็นเลข 0,1,2,... ตามลำดับของตารางอ้างอิง
R (แนวคิด) = SUMMARIZECOLUMNS( 'Product'[แบรนด์], 'Date'[ปี], "Amount", [Sales Amount] ) Result (แนวคิด) = SUBSTITUTEWITHINDEX( R, "ColIndex", <IndexTable…=R (แนวคิด) =
SUMMARIZECOLUMNS(
'Product'[แบรนด์],
'Date'[ปี],
"Amount", [Sales Amount]
)
Result (แนวคิด) =
SUBSTITUTEWITHINDEX(
R,
"ColIndex",
<IndexTable>,
'Date'[ปี],
ASC
)
สร้างตารางผลรวมแล้วแทนคอลัมน์ปีด้วยดัชนีตามลำดับปี
แนวคิด: ถ้าตารางอ้างอิงมีคอลัมน์ชื่อชนกับคอลัมน์ที่มี lineage อาจเกิดข้อผิดพลาด ให้พิจารณาใช้ SELECTCOLUMNS เพื่อสร้างคอลัมน์ใหม่จากนิพจน์แทน=แนวคิด: ถ้าตารางอ้างอิงมีคอลัมน์ชื่อชนกับคอลัมน์ที่มี lineage อาจเกิดข้อผิดพลาด
ให้พิจารณาใช้ SELECTCOLUMNS เพื่อสร้างคอลัมน์ใหม่จากนิพจน์แทน
ลดโอกาสชนกันของ metadata ทำให้จับคู่ได้ตามที่ต้องการ
เริ่มที่ 0 (0-based index) เช่น 0, 1, 2, …
โดยมากเป็นฟังก์ชันเชิงเครื่องมือที่ใช้ในงานจัดรูปผลลัพธ์/การทำงานภายในมากกว่างานโมเดลปกติ แต่สามารถใช้ได้ถ้าเข้าใจโครงสร้างข้อมูลและการจับคู่คอลัมน์
SUBSTITUTEWITHINDEX เป็นฟังก์ชันเชิงเครื่องมือที่คืน “ตารางผลลัพธ์แบบจับคู่บางส่วน (semi-join)” ระหว่าง 2 ตาราง โดยคอลัมน์ที่ใช้จับคู่ร่วมกันจะถูกแทนด้วยคอลัมน์ดัชนีแบบ 0-based (เริ่มจาก 0) ตามลำดับแถวของตารางอ้างอิงที่ถูกจัดเรียงตามนิพจน์ที่กำหนด ฟังก์ชันนี้พบได้บ่อยในงานที่ต้องทำ mapping ค่าจากคิวรีไปวางในแกนคอลัมน์ของ visual (เช่น matrix)