NATURALINNERJOIN ทำ inner join ระหว่าง LeftTable และ RightTable โดยใช้คอลัมน์ชื่อเดียวกันเป็นคีย์การจับคู่ คืนผลลัพธ์เฉพาะแถวที่จับคู่ได้ทั้งสองตาราง และมักใช้ร่วมกับ SELECTCOLUMNS เพื่อจัดชื่อคอลัมน์ให้ตรงกัน
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| LeftTable | table | ตารางฝั่งซ้าย |
| RightTable | table | ตารางฝั่งขวา |
NATURALINNERJOIN รวมสองตารางเข้าด้วยกันแบบ Inner Join โดยอาศัยคอลัมน์ที่มีชื่อเหมือนกัน (และชนิดข้อมูลเข้ากันได้) เป็นคีย์การจับคู่ ผลลัพธ์จะมีเฉพาะแถวที่ “จับคู่ได้ทั้งสองฝั่ง”
ถ้าชื่อคอลัมน์คีย์ของสองตารางไม่ตรงกัน ให้ปรับชื่อคอลัมน์ให้เหมือนกันก่อน (เช่นด้วย SELECTCOLUMNS) แล้วค่อยทำ NATURALINNERJOIN
เช่นตารางยอดขายและตารางสินค้า ที่มี ProductKey ชื่อเหมือนกัน
รวมข้อมูลสองชุดก่อนสรุปด้วย SUMMARIZE/ADDCOLUMNS
NATURALINNERJOIN จะจับคู่ตามคอลัมน์ที่ชื่อเหมือนกัน (เช่น ProductKey) แล้วรวมคอลัมน์ของทั้งสองฝั่ง
ถ้าชื่อคีย์ไม่ตรงกัน ให้ใช้ SELECTCOLUMNS สร้างคอลัมน์ชื่อเดียวกันก่อน
หลัง join แล้วสามารถนำไปสรุปต่อได้ตามต้องการ
ใช้คอลัมน์ที่มีชื่อเหมือนกันในทั้งสองตาราง (และชนิดข้อมูลเข้ากันได้) เป็นคีย์การจับคู่
NATURALINNERJOIN คืนเฉพาะแถวที่จับคู่ได้ทั้งสองฝั่ง ส่วน NATURALLEFTOUTERJOIN จะเก็บแถวฝั่งซ้ายไว้ทั้งหมดแม้จับคู่ไม่พบฝั่งขวา
ฟังก์ชันที่ผู้เขียนโยงไว้กับ NATURALINNERJOIN จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
ADDCOLUMNS เป็นฟังก์ชัน table transformation ที่ใช้สำหรับเพิ่มคอลัมน์ใหม่ (Calculated Columns) เข้าไปในตารางที่มีอยู่เดิม โดยคำนวณค่าในแต่ละแถวผ่าน Row Context และส่งคืนตารางเดิมพร้อมคอลัมน์ใหม่ต่อท้าย
CROSSJOIN สร้างตารางใหม่โดยการรวมแถวทั้งหมดจากตารางที่ระบุ โดยสร้างทุก Combination ที่เป็นไปได้ ผลลัพธ์คือตารางที่มีจำนวนแถวเท่ากับผลคูณของจำนวนแถวของแต่ละตาราง
NATURALJOINUSAGE ทำให้ table expression ถูกเพิ่มเข้าไปในตัวกรอง (filter context) แบบ natural join โดยจับคู่ตามคอลัมน์ชื่อเดียวกัน เป็นฟังก์ชันที่ออกแบบสำหรับการใช้งานขั้นสูงในโมเดลแบบประกอบ (composite models) และ SUMMARIZECOLUMNS
NATURALLEFTOUTERJOIN ทำ left outer join ระหว่าง LeftTable และ RightTable โดยใช้คอลัมน์ชื่อเดียวกันเป็นคีย์ เก็บทุกแถวของตารางซ้ายไว้ทั้งหมด และเติมคอลัมน์จากตารางขวาเมื่อจับคู่ได้ (ไม่จับคู่จะเป็น BLANK)
สร้างตารางใหม่โดยเลือกเฉพาะคอลัมน์ที่ต้องการจากตารางต้นฉบับและเพิ่มคอลัมน์ที่คำนวณได้ ต่างจาก ADDCOLUMNS ตรงที่ SELECTCOLUMNS เริ่มจากตารางว่างแล้วเพิ่มเฉพาะคอลัมน์ที่ระบุ ทำให้สามารถปรับโครงสร้างตารางและเลือกข้อมูลที่จำเป็นได้อย่างยืดหยุ่น
คืนตารางที่เป็นผลแบบ semi-join ระหว่าง 2 ตาราง พร้อมแทนคอลัมน์ร่วมด้วยดัชนี 0-based ซึ่งคำนวณจากลำดับแถวของตารางอ้างอิงหลังจัดเรียง
SUMMARIZE สร้างตารางสรุปโดยจัดกลุ่มข้อมูลตามคอลัมน์ที่กำหนด คล้าย GROUP BY ใน SQL หรือ Pivot Table ใน Excel คืนค่าตารางที่มีหนึ่งแถวต่อหนึ่ง unique combination ของคอลัมน์ที่เลือก สามารถอ้างถึงคอลัมน์จาก related table ได้โดยตรงโดยไม่ต้องใช้ RELATED มักใช้สร้าง virtual table ใน measure เพื่อทำ intermediate calculations ก่อนใช้ iterator functions อย่าง SUMX, AVERAGEX คำนวณต่อ ⚠️ Best Practice: ใช้ ADDCOLUMNS ครอบ SUMMARIZE แทนการใส่ extension columns ตรงๆ เพื่อ performance และ filter context control ที่ดีกว่า สำหรับ calculated table แนะนำใช้ SUMMARIZECOLUMNS แทนเนื่องจากมี performance ดีกว่าอย่างมาก
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่