ตัวอย่างที่ 1: สร้าง Measure YTD พื้นฐาน
Sales YTD = CALCULATE( SUM(Sales[Amount]), DATESYTD('Date'[Date]) )
ยอดขายสะสมตั้งแต่ต้นปี
คืนค่าช่วงวันที่ตั้งแต่ต้นปี (ใช้กับ CALCULATE)
DATESYTD คืนค่าตารางวันที่คอลัมน์เดียว ซึ่งประกอบด้วยวันที่ตั้งแต่วันที่ 1 มกราคม ของปีนั้นๆ จนถึงวันที่ล่าสุดใน Context ปัจจุบัน (Year-to-Date intervals) นิยมใช้เป็น Filter ใน CALCULATE
=DATESYTD(Dates, [YearEndDate])
=DATESYTD(Dates, [YearEndDate])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Dates | column | Yes | คอลัมน์วันที่จาก Date Table | |
| YearEndDate | text | Optional | 12-31 | วันที่สิ้นสุดปีบัญชี (เช่น “03-31” สำหรับสิ้นสุดมีนาคม) ถ้าไม่ระบุจะถือเป็น 31 ธ.ค. |
ใช้ CALCULATE( [Total Sales], DATESYTD(…) ) ซึ่งให้ผลลัพธ์เหมือน TOTALYTD แต่ยืดหยุ่นกว่าถ้าต้องใช้ Filter อื่นร่วมด้วย
ใช้ DATESYTD คู่กับ SAMEPERIODLASTYEAR (ซ้อนกัน) เพื่อหายอดสะสมในช่วงเวลาเดียวกันของปีที่แล้ว (PYTD)
Sales YTD = CALCULATE( SUM(Sales[Amount]), DATESYTD('Date'[Date]) )
ยอดขายสะสมตั้งแต่ต้นปี
Fiscal Sales YTD = CALCULATE( [Total Sales], DATESYTD('Date'[Date], "06-30") )
ยอดขายสะสมโดยเริ่มนับปีใหม่วันที่ 1 ก.ค.
Sales PYTD = CALCULATE( [Total Sales], SAMEPERIODLASTYEAR(DATESYTD('Date'[Date])) )
ยอดขายสะสมของปีก่อน
DATESYTD คืนค่าเป็น ‘ตารางวันที่’ (Table) ส่วน TOTALYTD คืนค่าเป็น ‘ตัวเลขผลลัพธ์’ (Scalar) ที่คำนวณเสร็จแล้ว โดยเบื้องหลัง TOTALYTD ก็เรียกใช้ DATESYTD นั่นเอง
มี และทำงานในลักษณะเดียวกัน คือคืนค่าช่วงวันที่ตั้งแต่ต้นไตรมาส (QTD) หรือต้นเดือน (MTD)
DATESYTD เป็นฟังก์ชัน Time Intelligence ที่คืนค่า ตารางวันที่ ตั้งแต่วันแรกของปีจนถึงวันที่ปัจจุบันใน Context นั้นๆ (Year-to-Date)
ฟังก์ชันนี้ไม่ได้ทำการคำนวณผลรวมด้วยตัวเอง (ต่างจาก TOTALYTD) แต่ทำหน้าที่ส่ง “ช่วงวันที่” (Date Range) ไปให้ฟังก์ชัน CALCULATE นำไปใช้กรองข้อมูลต่อ