Thep Excel

OPENINGBALANCEWEEKค่าเปิดสัปดาห์ (จุดเริ่มต้นสัปดาห์)

OPENINGBALANCEWEEK ประเมิน Expression ณ จุดเปิดสัปดาห์ (คือวันสิ้นสัปดาห์ก่อนหน้า) ใช้เพื่อเปรียบเทียบค่าเปลี่ยนแปลงระหว่างเปิดและปิดสัปดาห์

fx
=OPENINGBALANCEWEEK(<Expression>, <Dates>, [<Filter>])

ความนิยม6/10
ความยาก4/10
ประโยชน์6/10

อัปเดต 13 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
Expression expression นิพจน์หรือ Measure ที่ต้องการประเมิน ณ จุดเปิดสัปดาห์ สามารถเป็น SUM, SUMX หรือ Measure อื่นก็ได้
Dates table/column คอลัมน์วันที่ (ต้องเป็นขนาด Date) หรือ table expression ที่ให้คอลัมน์วันที่ มักใช้ ‘Date'[Date] หรือ Calendar[DateColumn]
[Filter]ไม่บังคับ expression ตัวกรองเพิ่มเติมที่ใช้ควบคุมบริบทเพิ่มเติม (ไม่บังคับ)

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

OPENINGBALANCEWEEK เป็นฟังก์ชัน Time Intelligence ที่ทำงานคล้ายกับ OPENINGBALANCEMONTH แต่คำนวณเป็นระดับสัปดาห์ ฟังก์ชันนี้จะหาวันสิ้นสัปดาห์ก่อนหน้า (opening point) แล้วประเมิน Expression ณ จุดนั้น

ความเข้าใจพื้นฐาน: ถ้าเราพูดว่า “สัปดาห์นี้” opening balance คือค่าต่างๆ ณ จุดเริ่มต้นของสัปดาห์ (คือสิ้นสัปดาห์ก่อน) เพื่อให้เราวัดการเปลี่ยนแปลงระหว่างจุดเวลาสองจุด

ส่วนตัวผม คิดว่า ถ้าจำ CLOSINGBALANCEWEEK ให้เข้าใจ OPENINGBALANCEWEEK ทันที เพราะมันแค่สมาชิก opposite pair ของเดือน/ปี นะ 😎

How it works

ยอดคงเหลือเปิดสัปดาห์

ใช้เป็นค่าอ้างอิงก่อนเริ่มสัปดาห์เพื่อเทียบการเปลี่ยนแปลง

ทำรายงานเปลี่ยนแปลงรายสัปดาห์

เทียบเปิด/ปิดงวดรายสัปดาห์

Examples

ตัวอย่างที่ 1: ค่าเปิดสัปดาห์ของยอดขายOpening Sales WK = OPENINGBALANCEWEEK( [Total Sales], 'Date'[Date] )

ใช้ [Total Sales] measure และใช้วันที่จาก 'Date' table เพื่อหาค่า sales ที่เปิดการทำงานในสัปดาห์ปัจจุบัน

fx
Opening Sales WK =
OPENINGBALANCEWEEK(
[Total Sales],
'Date'[Date]
)

ผลลัพธ์ค่า Total Sales ณ จุดเปิดสัปดาห์ (วันสิ้นสัปดาห์ก่อน) เช่น หากวันนี้คือวันพฤหัสบดี จะได้ค่า Sales ณ วันจันทร์ของสัปดาห์นั้น
ตัวอย่างที่ 2: การเปลี่ยนแปลงรายสัปดาห์ (Week-over-Week Change)WoW Change = VAR OpeningSales = [Opening Sales WK] VAR ClosingSales = [Closing Sales WK] RETURN ClosingSales – OpeningSales

สร้าง opening และ closing balance measures แล้วลบกัน เพื่อดูจำนวนรายการ/สินค้า/เงินที่เพิ่มขึ้นในสัปดาห์

fx
WoW Change =
VAR OpeningSales = [Opening Sales WK]
VAR ClosingSales = [Closing Sales WK]
RETURN
ClosingSales – OpeningSales

ผลลัพธ์ส่วนต่างระหว่างปิด (สิ้นสัปดาห์) และเปิด (จุดเริ่มสัปดาห์) เช่น 5000 – 3000 = 2000
ตัวอย่างที่ 3: ค่าเปิดสัปดาห์จากตารางคงเหลือสินค้าOpening Inventory Value = OPENINGBALANCEWEEK( SUMX( Inventory, Inventory[UnitCost] * Inventory[QuantityOnHand] ), 'Date'[Date] )

ใช้ SUMX ในนิพจน์ แล้วหาค่า ณ จุดเปิด สำหรับการติดตามการเปลี่ยนแปลงสินค้าคงเหลือ

fx
Opening Inventory Value =
OPENINGBALANCEWEEK(
SUMX(
Inventory,
Inventory[UnitCost] * Inventory[QuantityOnHand]
),
'Date'[Date]
)

ผลลัพธ์มูลค่าคงเหลือสินค้า ณ จุดเปิดสัปดาห์ (ต้นสัปดาห์)
ตัวอย่างที่ 4: ใช้กับ Filter เพิ่มเติมOpening High-Value Sales = OPENINGBALANCEWEEK( [Total Sales], 'Date'[Date], Products[Category] = "Electronics" )

filter parameter ช่วยจำกัดการประเมิน Expression เพื่อให้ได้ค่าที่แม่นยำกว่า

fx
Opening High-Value Sales =
OPENINGBALANCEWEEK(
[Total Sales],
'Date'[Date],
Products[Category] = "Electronics"
)

ผลลัพธ์ค่าเปิดสัปดาห์ แต่เฉพาะหมวด Electronics

FAQs

OPENINGBALANCEWEEK ต่างจาก PREVIOUSWEEK อย่างไร?+

PREVIOUSWEEK คืนตารางวันที่ของสัปดาห์ก่อนหน้า (ใช้เป็น filter table ในฟังก์ชั่นอื่น) ส่วน OPENINGBALANCEWEEK ประเมิน Expression ณ จุดสิ้นสัปดาห์ก่อนหน้า โดยตรง ดังนั้น PREVIOUSWEEK มักใช้ใน CALCULATE ส่วน OPENINGBALANCEWEEK ใช้ดี ๆ เพื่อหาค่าบ้านน

สัปดาห์เริ่มต้นวันไหน?+

ขึ้นกับการออกแบบตารางวันที่และคอลัมน์สัปดาห์ (เช่น WeekNum, IsWeekEnd) ในโมเดล DAX ของคุณ ต้องตรวจสอบให้แน่ว่า 'Date' table มีคอลัมน์ที่ระบุว่าวันไหนคือสิ้นสัปดาห์ (IsWeekEnd = TRUE หรือ WeekEndDate column)

ใช้ได้ใน Calculated Column หรือไม่?+

ใช้ได้ใน Measures (ที่มี filter context) แต่ใน Calculated Column ก็ใช้ได้ถ้ามี Date context ที่ชัดเจน แนะนำให้ใช้เป็น Measure เพราะมันเป็น time intelligence function

ถ้าไม่มีวันสิ้นสัปดาห์ที่ชัดเจนจะเกิดอะไร?+

อาจได้ค่า BLANK() หรือผลลัพธ์ที่ไม่คาดหวัง ต้องแน่ใจว่าตารางวันที่ได้ init อย่างถูกต้อง (ลองใช้ CALENDARAUTO() หรือ DATE table ที่สร้างเอง)

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ OPENINGBALANCEWEEK จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้OPENINGBALANCEWEEKTime Intelligence
Time Intelligence (8)
CLOSINGBALANCEWEEK

CLOSINGBALANCEWEEK ประเมินนิพจน์ (มาตรวัด) ที่วันสิ้นสัปดาห์ของบริบทวันที่ปัจจุบัน สำคัญสำหรับรายงานปิดสัปดาห์และ snapshot ยอดคงเหลือ

ENDOFWEEK

ฟังก์ชัน ENDOFWEEK คืนตารางวันที่ที่แสดงวันสิ้นสุดของสัปดาห์ตามบริบทวันที่ปัจจุบัน ใช้สำหรับการวิเคราะห์ข้อมูลตามระดับสัปดาห์ และการเปรียบเทียบเมตริกส์ณวันปิดสัปดาห์

LASTDATE

LASTDATE คืนค่าตารางที่มีวันที่สุดท้ายในบริบทตัวกรองปัจจุบัน มักใช้เป็นตารางตัวกรองให้ CALCULATE เพื่อคำนวณ measure ณ วันสุดท้ายของช่วงที่เลือก และสามารถใช้ MAXX เพื่อแปลงผลเป็น scalar date ได้

OPENINGBALANCEMONTH

OPENINGBALANCEMONTH ประเมิน Expression ณ จุดเปิดเดือน (วันสิ้นเดือนก่อนหน้า) เหมาะสำหรับหา opening balance ของยอดคงเหลือ สต็อก หรือสถิติ ณ จุดเริ่มเดือน

OPENINGBALANCEQUARTER

OPENINGBALANCEQUARTER ประเมิน Expression ณ วันที่เทียบเท่ากับวันสิ้นไตรมาสก่อนหน้า ภายใต้บริบทตัวกรองที่กำหนด ใช้เพื่อหา “ค่าเปิดงวดรายไตรมาส”

OPENINGBALANCEYEAR

OPENINGBALANCEYEAR คำนวณค่า Expression ณ วันแรกของปี โดยดึงค่าจากวันสิ้นปีปีก่อนหน้า เหมาะสำหรับการหา opening balance ของคงเหลือ บัญชี สต็อก และค่าที่วัดได้แค่ที่จุดเวลาเดียว

PREVIOUSWEEK

PREVIOUSWEEK คืนตารางวันที่ของสัปดาห์ก่อนหน้า ตามบริบทวันที่ปัจจุบัน เหมาะสำหรับตัวชี้วัดแบบ Week-over-Week โดยนำตารางวันที่ไปใช้เป็นตัวกรองเวลา

STARTOFWEEK

STARTOFWEEK คืนตารางที่มีวันแรกของสัปดาห์ตามปฏิทินที่กำหนด ใช้เป็นตัวกรองใน CALCULATE หรือดึงค่าสเกลาร์ด้วย MINX ฟังก์ชันนี้จำเป็นต้องมีตารางวันที่ที่ถูกกำหนดไว้เป็น Date Table

Filter (1)
CALCULATE

CALCULATE เป็นฟังก์ชันหลักที่สำคัญที่สุดใน DAX ใช้สำหรับ evaluate expression ภายใต้ filter context ที่ถูกปรับเปลี่ยน สามารถเพิ่มตัวกรองใหม่ ลบตัวกรองเดิม หรือแทนที่ filter ที่มีอยู่ได้ รองรับทั้ง Boolean expression และ table expression เป็น filter arguments พร้อม filter modifier functions เช่น REMOVEFILTERS, ALL, ALLEXCEPT, KEEPFILTERS เพื่อควบคุมการกรองอย่างละเอียด มีพฤติกรรมพิเศษคือ context transition ที่เปลี่ยน row context เป็น filter context โดยอัตโนมัติ ทำให้เป็นเครื่องมือหลักในการสร้าง measure ที่ซับซ้อนและ calculated column ที่ต้องใช้ aggregation

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่