CLOSINGBALANCEWEEK ประเมินนิพจน์ (มาตรวัด) ที่วันสิ้นสัปดาห์ของบริบทวันที่ปัจจุบัน สำคัญสำหรับรายงานปิดสัปดาห์และ snapshot ยอดคงเหลือ
=CLOSINGBALANCEWEEK(<Expression>, <Calendar>[, <Filter>])
=CLOSINGBALANCEWEEK(<Expression>, <Calendar>[, <Filter>])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Expression | scalar expression | Yes | นิพจน์ที่ต้องการประเมิน เช่น มาตรวัด [Balance] หรือ SUMX() ที่คืนค่าตัวเลข | |
| Calendar | column (date) | Yes | คอลัมน์วันที่จากตารางวันที่/ปฏิทินของโมเดล (ต้องมีคุณลักษณะ “วันที่ปฏิทิน” ที่ Mark as Date Table) | |
| Filter | boolean expression or FILTER() | Optional | ไม่มี | ตัวกรองเพิ่มเติมที่ใช้ก่อนประเมิน Expression ที่วันสิ้นสัปดาห์ (เช่น Accounts[Type] = “A”) |
เช่น ยอดเงินคงเหลือ ณ สิ้นสัปดาห์
เช่น ยอดคงเหลือปลายสัปดาห์เฉพาะบางกลุ่ม
Weekly Closing Balance = CLOSINGBALANCEWEEK( [Balance], 'Date'[Date] )Weekly Closing Balance =
CLOSINGBALANCEWEEK(
[Balance],
'Date'[Date]
)
คืนค่า Balance ณ วันสิ้นสัปดาห์ของบริบทวันที่ปัจจุบัน
Inventory Week End (Electronics) = CLOSINGBALANCEWEEK( SUMX( Products, Products[UnitCost] * Products[QtyOnHand] ), 'Date'[Date], Products[Category] = "Electroni…=Inventory Week End (Electronics) =
CLOSINGBALANCEWEEK(
SUMX(
Products,
Products[UnitCost] * Products[QtyOnHand]
),
'Date'[Date],
Products[Category] = "Electronics"
)
มูลค่าสินค้า Electronics ที่เหลืออยู่ ณ วันสิ้นสัปดาห์ โดยคิด UnitCost * QtyOnHand
Balance Week End = CLOSINGBALANCEWEEK([Balance], 'Date'[Date]) Balance Month End = CLOSINGBALANCEMONTH([Balance], 'Date'[Date])Balance Week End = CLOSINGBALANCEWEEK([Balance], 'Date'[Date])
Balance Month End = CLOSINGBALANCEMONTH([Balance], 'Date'[Date])
สัปดาห์เลือก Mon-Fri ส่วนเดือน 1-28/29/30/31
ขึ้นอยู่กับตัวแปรระบบในอุปกรณ์ของผู้ใช้ (Windows/Excel/Power BI) และการตั้งค่า WEEKDAY สำหรับตารางวันที่ หากใช้ DAX Calendar Auto ระบบจะใช้วันแรกของปี 1 ม.ค. เป็นอ้างอิง
ENDOFWEEK เป็นฟังก์ชัน Date ที่คืนวันสิ้นสัปดาห์ (เช่น วันที่ 31 ม.ค.) CLOSINGBALANCEWEEK ประเมินนิพจน์ที่วันนั้น ให้ความเห็นว่า CLOSINGBALANCEWEEK = CALCULATE(Expression, ‘Date'[Date] = ENDOFWEEK(Date))
ใช่ สำคัญมาก ตาราง Calendar ต้องมีคุณลักษณะ “Mark as Date Table” และสัมพันธ์กับตารางข้อเท็จจริง ถ้าไม่ระบุ DAX จะไม่รู้วันสิ้นสัปดาห์
ไม่รองรับ DirectQuery ใน Calculated Column หรือ RLS ใช้ได้เฉพาะใน Measures หรือ Calculated Tables ที่ Import mode
CLOSINGBALANCEWEEK เป็นฟังก์ชัน Time Intelligence ที่ประเมินนิพจน์ (เช่น [Balance]) ที่วันสิ้นสัปดาห์ของบริบทปัจจุบัน ฟังก์ชันนี้ใช้เมื่อคุณต้องการดูค่า snapshot ณ สิ้นสัปดาห์ เช่น ยอดคงเหลือบัญชี ระดับสินค้า หรือสถานะโปรเจกต์ ณ วันศุกร์ (หรือวันสุดท้ายของสัปดาห์ตามการตั้งค่า)
ที่สำคัญคือ CLOSINGBALANCEWEEK จะเปลี่ยน Filter Context ไปที่วันสิ้นสัปดาห์โดยอัตโนมัติ ถ้าบริบทเป็น “วันจันทร์” ฟังก์ชันจะ “กระโดด” ไปถึงวันศุกร์เดียวกัน แล้วประเมินค่า ตรวจสอบให้แน่ใจว่าตารางวันที่ของคุณต่อเนื่องและตั้งค่าได้ถูกต้อง
ส่วนตัวผม ความสับสนเกิดจากการลืมใส่ตารางวันที่ที่ถูกต้องเป็น Calendar Reference หรือลืมว่าฟังก์ชันนี้ต้องมีตารางวันที่จริง ๆ ไม่ใช่แค่ column อย่างเดียว 😎