ตัวอย่างที่ 1: ยอดขายสะสมตลอดกาล (Lifetime Sales)
Lifetime Sales =
CALCULATE(
[Total Sales],
DATESBETWEEN(
'Date'[Date],
BLANK(),
MAX('Date'[Date])
)
)
ยอดขายรวมตั้งแต่อดีตจนถึงวันปัจจุบัน
คืนค่าช่วงวันที่ระหว่างจุดเริ่มต้นและจุดสิ้นสุด
DATESBETWEEN คืนค่าตารางวันที่ ที่อยู่ระหว่าง StartDate และ EndDate ที่กำหนด (รวมวันเริ่มและวันจบด้วย)
=DATESBETWEEN(Dates, StartDate, EndDate)
=DATESBETWEEN(Dates, StartDate, EndDate)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Dates | column | Yes | คอลัมน์วันที่จาก Date Table | |
| StartDate | date/datetime | Yes | วันที่เริ่มต้น | |
| EndDate | date/datetime | Yes | วันที่สิ้นสุด |
คำนวณยอดสะสมตั้งแต่วันแรกที่มีข้อมูล จนถึงวันปัจจุบัน (ไม่ใช่แค่ต้นปี)
คำนวณยอดขายเฉพาะช่วงเวลาแคมเปญที่กำหนดไว้แน่นอน
Lifetime Sales =
CALCULATE(
[Total Sales],
DATESBETWEEN(
'Date'[Date],
BLANK(),
MAX('Date'[Date])
)
)
ยอดขายรวมตั้งแต่อดีตจนถึงวันปัจจุบัน
H1 Sales =
CALCULATE(
[Total Sales],
DATESBETWEEN(
'Date'[Date],
DATE(2023,1,1),
DATE(2023,6,30)
)
)
ยอดขาย 1 ม.ค. - 30 มิ.ย. 2023
Last 7 Days Sales =
CALCULATE(
[Total Sales],
DATESBETWEEN(
'Date'[Date],
MAX('Date'[Date]) - 6,
MAX('Date'[Date])
)
)
ยอดขาย 7 วันย้อนหลัง (รวมวันนี้)
รวม (Inclusive) คือรวมทั้ง StartDate และ EndDate เข้าไปในผลลัพธ์ด้วย
ได้ แต่ DATESINPERIOD จะสะดวกกว่าถ้าต้องการขยับช่วงเวลาแบบ Dynamic (เช่น “3 เดือนก่อน”) โดยไม่ต้องมานั่งคำนวณวันจบเอง
DATESBETWEEN เป็นฟังก์ชันที่ตรงไปตรงมาที่สุดในการสร้างช่วงวันที่ คือให้ระบุ วันเริ่มต้น และ วันสิ้นสุด แล้วฟังก์ชันจะคืนค่าตารางวันที่ทั้งหมดในช่วงนั้นออกมา
มักใช้ในการคำนวณแบบกำหนดช่วงเวลาตายตัว (Fixed Period) หรือการคำนวณตั้งแต่ “แรกเริ่ม” จนถึงปัจจุบัน (Life-to-Date)