| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| Column | column | คอลัมน์ที่ใช้แบ่งกลุ่ม (partition) ก่อนทำ window calculation | |
| [Column2]ไม่บังคับ | column | ไม่ระบุ | คอลัมน์เพิ่มเติมสำหรับแบ่งกลุ่ม |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
PARTITIONBY ใช้ภายในกลุ่ม Window Functions (เช่น OFFSET, INDEX, WINDOW) เพื่อกำหนด “การแบ่งกลุ่ม” (partition) ของข้อมูล ก่อนที่จะทำการเรียงลำดับด้วย ORDERBY และคำนวณตำแหน่ง/การเลื่อนแถวภายในแต่ละกลุ่ม
แนวคิดคือ: PARTITIONBY แบ่งกลุ่ม, ORDERBY เรียงในกลุ่ม, และ MATCHBY ช่วยระบุเอกลักษณ์ของแถวในกรณีที่ลำดับมีค่าซ้ำ
เช่นดึงสินค้าขายดีอันดับ 1 ภายในแต่ละหมวด
เช่นเทียบยอดขายกับแถวก่อนหน้าในหมวดเดียวกัน
PARTITIONBY ทำให้ INDEX เลือกตำแหน่งภายในแต่ละหมวด แทนที่จะเลือกจากทั้งตารางรวมกัน
OFFSET จะเลื่อนตำแหน่งโดยไม่ข้ามไปข้ามหมวด เพราะมีการแบ่งกลุ่มไว้ก่อน
เมื่อคีย์เรียงมีค่าซ้ำ การเพิ่ม MATCHBY จะช่วยให้การระบุแถวปัจจุบันชัดขึ้น
โดยหลักใช้ภายใน window functions (OFFSET/INDEX/WINDOW) เพื่อกำหนดการแบ่งกลุ่ม
การคำนวณตำแหน่ง/การเลื่อนแถวจะทำบนชุดข้อมูลรวมทั้งหมด (ไม่แบ่งกลุ่ม) ซึ่งอาจไม่ตรงกับสิ่งที่ต้องการ
ฟังก์ชันที่ผู้เขียนโยงไว้กับ PARTITIONBY จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
INDEX ดึงแถวจากตำแหน่งที่ระบุ (Position) ภายในกลุ่มข้อมูลที่เรียงแล้ว โดยสามารถใช้ ORDERBY และ PARTITIONBY เพื่อควบคุมลำดับและการแบ่งกลุ่ม เหมาะสำหรับงาน window function เช่นดึงค่าอันดับที่ N
MATCHBY ระบุคอลัมน์ที่ใช้จับคู่และระบุแถวปัจจุบันใน window functions เพื่อให้การเลื่อน/เลือกตำแหน่งแถวทำงานถูกต้องเมื่อมีค่า ORDERBY ซ้ำ หรือเมื่อจำเป็นต้องกำหนดเอกลักษณ์ของแถว
ORDERBY ระบุลำดับการเรียงลำดับ (ASC/DESC) และการจัดการค่าว่าง สำหรับ window functions เช่น INDEX, OFFSET, WINDOW เพื่อกำหนดลำดับของแถวภายในกลุ่ม
WINDOW ดึงช่วงแถวภายในพาร์ทิชัน คืนค่าเป็นตาราง เหมาะกับการคำนวณแบบช่วง เช่น moving average, running sum, หรือ lead/lag analysis
RUNNINGSUM คำนวณยอดสะสมของคอลัมน์/นิพจน์ตามลำดับบนแกนของ Visual Calculations โดยสามารถกำหนด Axis, OrderBy, Blanks และ Reset เพื่อควบคุมลำดับและจุดเริ่มสะสม
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่