STARTOFWEEK คืนตารางที่มีวันแรกของสัปดาห์ตามปฏิทินที่กำหนด ใช้เป็นตัวกรองใน CALCULATE หรือดึงค่าสเกลาร์ด้วย MINX ฟังก์ชันนี้จำเป็นต้องมีตารางวันที่ที่ถูกกำหนดไว้เป็น Date Table
=STARTOFWEEK(<calendar>)
=STARTOFWEEK(<calendar>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| calendar | Calendar Reference | Yes | ปฏิทิน/ตารางวันที่ที่ใช้กำหนดขอบเขตสัปดาห์ (ต้องเป็น Date Table ที่กำหนดไว้ในโมเดล) |
แปลงเป็นค่าเดี่ยวแล้วใช้ทำตรรกะช่วงสัปดาห์
ใช้เป็นตัวกรองเพื่อประเมิน measure ณ จุดเริ่มสัปดาห์
Week Start Date = MINX( STARTOFWEEK('Date'), 'Date'[Date] )Week Start Date =
MINX(
STARTOFWEEK('Date'),
'Date'[Date]
)
วันที่เป็น scalar (เช่น 2024-12-23) ที่เป็นวันแรกของสัปดาห์
Sales from Week Start = CALCULATE( SUM(Sales[Amount]), 'Date'[Date] >= MINX(STARTOFWEEK('Date'), 'Date'[Date]) )Sales from Week Start =
CALCULATE(
SUM(Sales[Amount]),
'Date'[Date] >= MINX(STARTOFWEEK('Date'), 'Date'[Date])
)
ยอดขายสะสมตั้งแต่วันแรกของสัปดาห์ถึงวันปัจจุบัน
Opening Balance Week = CALCULATE( [Balance], STARTOFWEEK('Date') )Opening Balance Week =
CALCULATE(
[Balance],
STARTOFWEEK('Date')
)
ค่า Balance ณ วันเริ่มสัปดาห์
Weekly Sales Range = CALCULATE( SUM(Sales[Amount]), 'Date'[Date] >= MINX(STARTOFWEEK('Date'), 'Date'[Date]), 'Date'[Date]Weekly Sales Range =
CALCULATE(
SUM(Sales[Amount]),
'Date'[Date] >= MINX(STARTOFWEEK('Date'), 'Date'[Date]),
'Date'[Date] <= MINX(ENDOFWEEK('Date'), 'Date'[Date])
)
ยอดขายสำหรับสัปดาห์ปัจจุบัน (ตั้งแต่วันแรกถึงวันสุดท้าย)
เพราะ STARTOFWEEK คืนตาราง ไม่ใช่ค่าเดี่ยว MINX (หรือ MIN) ดึงคอลัมน์วันที่ออกมาเป็นค่า scalar ที่สามารถใช้ในการเปรียบเทียบได้
ขึ้นอยู่กับตารางวันที่ของคุณ ตรวจสอบคอลัมน์ Week Start หรือคำนิยามสัปดาห์ใน Date Table ถ้าธุรกิจคุณเริ่มสัปดาห์จันทร์ ตารางวันที่ควรจะเสร็จแล้ว
STARTOFWEEK หาวันแรกของสัปดาห์ STARTOFMONTH หาวันแรกของเดือน STARTOFQUARTER หาวันแรกของไตรมาส STARTOFYEAR หาวันแรกของปี
ทั้งสองได้ แต่ Calculated Column จะต้องไม่ใช้ Filter Context ที่ขึ้นอยู่กับ Slicer เพราะ Calculated Column ประเมินครั้งเดียวตอนโหลดข้อมูล
DATEADD ย้ายวันที่ไปข้างหน้า/ข้างหลัง STARTOFWEEK หาขอบเขตวันแรก DATEADD เป็น offset STARTOFWEEK เป็น boundary
STARTOFWEEK เป็นฟังก์ชัน Time Intelligence ที่คืนตารางวันที่มีขนาด 1 แถว แสดงวันแรกของสัปดาห์ในบริบทปัจจุบัน โดยคืนค่าจากปฏิทินที่คุณระบุ
ส่วนที่ยุ่งคือ STARTOFWEEK คืนตาราง ไม่ใช่ค่าเดี่ยว! ถ้าต้องการค่า Scalar Date ต้องใช้ MINX หรือ MIN บนคอลัมน์วันที่
คำสำคัญ: ฟังก์ชันนี้ขึ้นอยู่กับคำนิยามสัปดาห์ในตารางวันที่ของคุณ ถ้าตารางวันที่กำหนดว่าสัปดาห์เริ่มวันจันทร์ ผลลัพธ์ก็จะเป็นวันจันทร์ ถ้าเริ่มวันอาทิตย์ ผลลัพธ์ก็จะเป็นวันอาทิตย์
ส่วนตัวผม ถ้าต้องทำตัวชี้วัดรายสัปดาห์ STARTOFWEEK + ENDOFWEEK + CALCULATE เป็นสามตัวอักษรสั้นๆ ที่ช่วยชีวิตได้มาก 😎