GENERATESERIES สร้างตารางคอลัมน์เดียวที่เป็นลำดับตัวเลขจาก StartValue ถึง EndValue ด้วย increment ที่กำหนดได้ เหมาะกับตารางช่วย parameter table หรือสร้างชุดตัวเลขสำหรับ what-if analysis
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| StartValue | number | ค่าเริ่มต้นของลำดับ (จำนวนทั้งหมด) | |
| EndValue | number | ค่าสิ้นสุดของลำดับ (ต้องมากกว่า StartValue) | |
| [IncrementValue]ไม่บังคับ | number | 1 | ขั้นเพิ่มค่าของลำดับ (ต้องเป็นบวก default = 1) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
GENERATESERIES เป็นฟังก์ชันที่สร้างตารางตัวเลขแบบลำดับเรียบง่าย ส่วนตัวผมชอบใช้เพื่อสร้าง parameter table สำหรับ slicer ตัวเลข หรือสร้างชุดค่า discount/commission range สำหรับการวิเคราะห์ what-if
สิ่งที่เจ๋งคือ มันง่ายมากในการใช้ แต่มีความจำเป็นสูงมาก โดยเฉพาะเวลาต้องสร้าง lookup table ตัวเลขที่ติดต่อกัน แทนที่จะไปพิมพ์ตัวเลขด้วยมือ
ส่วนตัวผม ถ้าต้องการเพิ่มความซับซ้อน เช่น เพิ่มคำอธิบาย หรือ label ให้แต่ละตัวเลข ก็ใช้ ADDCOLUMNS ช่วยได้ครับ 😎 วิธีนี้ทำให้ parameter table ของเราเป็นตารางสมบูรณ์ที่พร้อมใช้เลย
เช่น ทำตาราง 1–100 เพื่อใช้เลือกค่าในรายงาน
เช่น สร้างค่า 0–1 แบบ step 0.1 เพื่อทำ bin หรือ threshold
GENERATESERIES คืนค่าเป็นตารางเดียวคอลัมน์ชื่อ Value ที่เป็นลำดับตัวเลขตามช่วงที่กำหนด
ใช้สร้าง parameter table ที่แสดงช่วง discount 0%-50% เพื่อให้ user เลือกค่า discount ผ่าน slicer
สร้างตารางช่วย rating scale สำหรับ what-if analysis ด้วยการใช้ increment = 0.5
ใช้ GENERATESERIES เป็นพื้นฐาน แล้วใช้ ADDCOLUMNS เพิ่มคอลัมน์ label และ formula เพื่อให้ได้ lookup table สมบูรณ์
คอลัมน์จะชื่อ Value โดยอัตโนมัติ ใช้ [Value] หรือ GENERATESERIES(…)[Value] เพื่ออ้างอิง
ไม่ โดยตรง GENERATESERIES สร้างเป็นตัวเลขเท่านั้น หากต้องการลำดับวันที่ ให้ใช้ CALENDAR หรือ CALENDARAUTO แทน หรือสร้างตัวเลขด้วย GENERATESERIES แล้วแปลงเป็นวันที่ด้วย DATE/DATEADD
ฟังก์ชันจะคืนค่ากลับมาเป็น empty table (ตารางว่าง) ไม่มีข้อผิดพลาด
ไม่ IncrementValue ต้องเป็นจำนวนบวกเท่านั้น หากต้องการลำดับลดลง ให้สลับค่า StartValue และ EndValue แล้วใช้ Increment บวก
ไม่ GENERATESERIES ไม่รองรับ DirectQuery mode สำหรับ calculated columns หรือ RLS rules ต้องใช้กับ Import mode
ฟังก์ชันที่ผู้เขียนโยงไว้กับ GENERATESERIES จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
ADDCOLUMNS เป็นฟังก์ชัน table transformation ที่ใช้สำหรับเพิ่มคอลัมน์ใหม่ (Calculated Columns) เข้าไปในตารางที่มีอยู่เดิม โดยคำนวณค่าในแต่ละแถวผ่าน Row Context และส่งคืนตารางเดิมพร้อมคอลัมน์ใหม่ต่อท้าย
DATATABLE สร้างตารางแบบ hardcode ด้วยข้อมูลคงที่ โดยระบุชื่อคอลัมน์ ชนิดข้อมูล และค่าของแต่ละแถว เหมาะสำหรับตารางอ้างอิงเล็กๆ เช่น lookup table หรือข้อมูลตัวอย่าง
GENERATE วนทีละแถวใน Table1 แล้วประเมิน Table2 ในบริบทของแถวนั้น (row context) จากนั้นรวมผลทั้งหมดเป็นตารางเดียว ถ้า Table2 ว่างเปล่าในรอบไหน แถวนั้นจาก Table1 จะถูกตัดออก (ต่างจาก GENERATEALL)
GENERATEALL วนแถวของตาราง 1 แล้วสร้าง Cartesian product กับผลลัพธ์ของตาราง 2 โดยคงแถวที่ไม่มีข้อมูลย่อย ต่างจาก GENERATE ตรงที่ไม่ตัดแถวหลักออก
สร้างตารางใหม่โดยเลือกเฉพาะคอลัมน์ที่ต้องการจากตารางต้นฉบับและเพิ่มคอลัมน์ที่คำนวณได้ ต่างจาก ADDCOLUMNS ตรงที่ SELECTCOLUMNS เริ่มจากตารางว่างแล้วเพิ่มเฉพาะคอลัมน์ที่ระบุ ทำให้สามารถปรับโครงสร้างตารางและเลือกข้อมูลที่จำเป็นได้อย่างยืดหยุ่น
CALENDAR ใช้สำหรับสร้างตารางวันที่ครบถ้วนตั้งแต่วันเริ่มต้นถึงวันสิ้นสุดโดยไม่มีช่องว่าง เหมาะสำหรับสร้างตารางวันที่โครงสร้างพื้นฐาน (Date Dimension) ที่ใช้ร่วมกับ Time Intelligence Function
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่