ตัวอย่างที่ 1: Sales YTD แบบปกติ
Sales YTD = TOTALYTD( [Total Sales], 'Date'[Date] )
ยอดขายรวมตั้งแต่วันที่ 1 ม.ค. ถึงวันที่ในแถวนั้น
คำนวณยอดสะสมตั้งแต่ต้นปี (Year-to-Date)
TOTALYTD ช่วยคำนวณยอดสะสมของ Expression ตั้งแต่วันแรกของปี จนถึงวันสุดท้ายของช่วงเวลาที่เลือก (Context) โดยสามารถกำหนดวันสิ้นสุดปีงบประมาณได้
=TOTALYTD(Expression, Dates, [Filter], [YearEndDate])
=TOTALYTD(Expression, Dates, [Filter], [YearEndDate])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Expression | scalar | Yes | สูตรที่ต้องการหาผลรวมสะสม (เช่น [Total Sales]) | |
| Dates | column | Yes | คอลัมน์วันที่จาก Date Table (ห้ามใช้คอลัมน์วันที่จาก Fact Table โดยตรง) | |
| Filter | expression | Optional | ตัวกรองเพิ่มเติมที่ต้องการนำมาใช้ (เช่น ‘Product'[Color] = “Red”) | |
| YearEndDate | text | Optional | 12-31 | วันที่สิ้นสุดปีบัญชี ระบุในรูปแบบ “MM-DD” (เช่น “06-30” สำหรับสิ้นสุดมิถุนายน) |
ดูว่ายอดขายสะสมตั้งแต่ต้นปีจนถึงวันนี้ เป็นเท่าไหร่แล้วเมื่อเทียบกับเป้าทั้งปี
คำนวณ YTD โดยเริ่มนับปีใหม่ในเดือนอื่นๆ ที่ไม่ใช่ มกราคม (Fiscal Year)
Sales YTD = TOTALYTD( [Total Sales], 'Date'[Date] )
ยอดขายรวมตั้งแต่วันที่ 1 ม.ค. ถึงวันที่ในแถวนั้น
Fiscal Sales YTD = TOTALYTD( [Total Sales], 'Date'[Date], "03-31" )
ยอดขายสะสม โดยเริ่มนับ 1 เม.ย. เป็นวันแรกของปี
Red Sales YTD = TOTALYTD( [Total Sales], 'Date'[Date], 'Product'[Color] = "Red" )
ยอดขายสะสมเฉพาะสินค้าสีแดง
TOTALYTD คือ Syntax Sugar (รูปย่อ) ของ CALCULATE + DATESYTD ทำงานเหมือนกันทุกประการ แต่เขียนสั้นกว่า หากต้องการ Logic ที่ซับซ้อนแนะนำให้ใช้ CALCULATE
เช็คว่าคอลัมน์ Dates เป็นคอลัมน์จาก Date Table หรือไม่ และมีการ Mark as Date Table หรือยัง รวมถึง Relationship ระหว่าง Date Table กับ Fact Table ต้องถูกต้อง
TOTALYTD คือฟังก์ชันสำเร็จรูปสำหรับการคำนวณหา ยอดสะสมตั้งแต่ต้นปี (Year-to-Date) จนถึงวันที่ปัจจุบันใน Context นั้นๆ โดยที่เราไม่ต้องเขียนสูตร CALCULATE และ DATESYTD เองให้ยุ่งยาก
ฟังก์ชันนี้จำเป็นต้องใช้ร่วมกับ Date Table ที่มีความต่อเนื่องและไม่มีวันหยุด เพื่อให้การคำนวณช่วงเวลาเป็นไปอย่างถูกต้อง