คำนวณยอดสะสมตั้งแต่ต้นสัปดาห์ (Week-to-Date) ของ Expression ตามคอลัมน์วันที่ที่กำหนด โดยรวมข้อมูลจากวันแรกของสัปดาห์จนถึงวันปัจจุบันในบริบท
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| expression | scalar | นิพจน์หรือเมเชอร์ที่ต้องการคำนวณยอดสะสม เช่น SUM(Sales[Amount]) หรือ [Total Sales] |
| calendar | dates | คอลัมน์วันที่จากตารางวันที่ (Date Table) ที่ต่อเนื่องและมีการ mark as date table ในโมเดล ใช้เพื่อกำหนดช่วงสัปดาห์ |
| [filter]ไม่บังคับ | expression | เงื่อนไขเพิ่มเติมในรูป Boolean Expression หรือ Table Expression เพื่อจำกัดช่วงสัปดาห์หรือเพิ่มเงื่อนไขการกรอง |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
TOTALWTD เป็นฟังก์ชัน Time Intelligence ที่ช่วยคำนวณยอดสะสมแบบ Week-to-Date (WTD) ของ Expression ตามช่วงวันที่ที่ระบุ นั่นคือ รวมข้อมูลตั้งแต่วันแรกของสัปดาห์จนถึงวันล่าสุดในบริบทปัจจุบัน เหมาะสำหรับการดูผลสะสมรายสัปดาห์ (เช่น ยอดขายสัปดาห์นี้ตั้งแต่วันจันทร์ถึงวันนี้).
ฟังก์ชันนี้ทำงานโดยการใช้ calendar (ตารางวันที่) เพื่อกำหนดว่าสัปดาห์เริ่มต้นจากวันไหน และสิ้นสุดจนถึงวันไหน จากนั้นจึงคำนวณค่า Expression สำหรับช่วงวันที่ทั้งหมดในสัปดาห์นั้น.
ส่วนตัวผมคิดว่า TOTALWTD เป็นเครื่องมือที่มีประโยชน์สำหรับการตรวจสอบความก้าวหน้างานรายสัปดาห์ แต่ต้องมีความเข้าใจที่ชัดเจนเกี่ยวกับการตั้งค่า calendar ให้ถูกต้อง มิฉะนั้นจะได้ผลลัพธ์ที่ไม่ถูกต้อง 😎
แสดงยอดสะสมตั้งแต่ต้นสัปดาห์จนถึงวันที่ล่าสุดในบริบท
ใช้กับเมเชอร์อื่นเพื่อทำตัวชี้วัดสะสมระดับสัปดาห์
ฟังก์ชันนี้จะคำนวณรวม Amount ของทุกแถวในตาราง Sales ที่วันที่ตกอยู่ในช่วงวันแรกของสัปดาห์ถึงวันปัจจุบัน (ตามที่กำหนดในบริบท) โปรดสังเกตว่าต้องใช้ 'Calendar'[Date] ซึ่งเป็นคอลัมน์วันที่จาก Calendar table ที่ได้รับการ mark as date table
พารามิเตอร์ filter ช่วยเพิ่มเงื่อนไขให้ TOTALWTD คำนวณเฉพาะสินค้าหมวด Electronics เท่านั้น เหมือนการใช้ CALCULATE แต่เน้นที่ช่วงเวลา WTD
ฟังก์ชัน DIVIDE ช่วยให้เราเปรียบเทียบยอดขายสะสมสัปดาห์นี้ (จาก TOTALWTD) กับยอดขายรวมทั้งหมดในช่วงเวลา context ปัจจุบัน วิธีนี้ช่วยให้เห็นเปอร์เซ็นต์ความก้าวหน้างานรายสัปดาห์
TOTALWTD ใช้การตั้งค่าเพื่อกำหนดวันเริ่มต้นของสัปดาห์ (โดยปกติคือวันอาทิตย์ หรือจันทร์ ขึ้นอยู่กับการตั้งค่า Power BI/Analysis Services) ถ้าต้องการการควบคุมทั้งหมด ให้สร้างช่วงวันที่ด้วยเอง โดยใช้ STARTOFWEEK และ DATESBETWEEN ร่วมกับ CALCULATE
ใช่ TOTALWTD ต้องการ Date Table ที่ได้รับการ mark as date table ในโมเดล ถ้าไม่มี DAX จะไม่สามารถตรวจสอบความต่อเนื่องและช่วงของวันที่ได้ ทำให้ผลลัพธ์ไม่ถูกต้อง
ทั้ง TOTALWTD, TOTALMTD, TOTALQTD, TOTALYTD ทำหน้าที่คล้ายกัน แต่คำนวณในช่วงเวลาต่างกัน: TOTALWTD = ตั้งแต่ต้นสัปดาห์, TOTALMTD = ตั้งแต่ต้นเดือน, TOTALQTD = ตั้งแต่ต้นไตรมาส, TOTALYTD = ตั้งแต่ต้นปี
TOTALWTD สนับสนุน DirectQuery สำหรับ Measures แต่ไม่สนับสนุนสำหรับ Calculated Columns หรือ Row-Level Security (RLS) rules
ไม่แนะนำ TOTALWTD สำหรับ Visual Calculations เนื่องจากอาจให้ผลลัพธ์ที่ไม่มีความหมายหรือไม่ถูกต้อง ให้ใช้เป็น Measure เท่านั้น
ฟังก์ชันที่ผู้เขียนโยงไว้กับ TOTALWTD จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
DATESBETWEEN คืนตารางวันที่ที่อยู่ระหว่าง StartDate และ EndDate (รวมวันเริ่ม/วันจบ) เหมาะกับการใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อคำนวณตามช่วงวันที่ที่กำหนดเอง
DATESWTD คืนตารางวันที่ตั้งแต่ต้นสัปดาห์จนถึงวันที่ในบริบทปัจจุบัน ใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อคำนวณยอดสะสมตั้งแต่ต้นสัปดาห์
STARTOFWEEK คืนตารางที่มีวันแรกของสัปดาห์ตามปฏิทินที่กำหนด ใช้เป็นตัวกรองใน CALCULATE หรือดึงค่าสเกลาร์ด้วย MINX ฟังก์ชันนี้จำเป็นต้องมีตารางวันที่ที่ถูกกำหนดไว้เป็น Date Table
คำนวณยอดสะสมตั้งแต่ต้นเดือน (Month-to-Date) ของ Expression ตามคอลัมน์วันที่ที่กำหนด เป็นทางลัดของ CALCULATE + DATESMTD
TOTALQTD คำนวณยอดสะสมตั้งแต่วันแรกของไตรมาส (Q1/Q2/Q3/Q4) จนถึงวันที่ล่าสุดใน filter context ปัจจุบัน
.
ส่วนตัวผมใช้บ่อยมากตอน analyze quarterly performance และการวิเคราะห์ KPI รายไตรมาสครับ
TOTALYTD คำนวณยอดสะสมตั้งแต่ต้นปี (Year-to-Date) ของ expression ใดๆ โดยอิงจาก Date table และสามารถกำหนด fiscal year end date เพื่อรองรับปีงบประมาณที่ไม่ตรงกับปีปฏิทินได้
.
ส่วนตัวผมใช้บ่อยมากตอนต้องวิเคราะห์ยอดขาย KPI และรายงานทางการเงินที่ต้องการติดตามความก้าวหน้าตลอดทั้งปีครับ
CALCULATE เป็นฟังก์ชันหลักที่สำคัญที่สุดใน DAX ใช้สำหรับ evaluate expression ภายใต้ filter context ที่ถูกปรับเปลี่ยน สามารถเพิ่มตัวกรองใหม่ ลบตัวกรองเดิม หรือแทนที่ filter ที่มีอยู่ได้ รองรับทั้ง Boolean expression และ table expression เป็น filter arguments พร้อม filter modifier functions เช่น REMOVEFILTERS, ALL, ALLEXCEPT, KEEPFILTERS เพื่อควบคุมการกรองอย่างละเอียด มีพฤติกรรมพิเศษคือ context transition ที่เปลี่ยน row context เป็น filter context โดยอัตโนมัติ ทำให้เป็นเครื่องมือหลักในการสร้าง measure ที่ซับซ้อนและ calculated column ที่ต้องใช้ aggregation
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่