---
title: OPENINGBALANCEWEEK – ค่าเปิดสัปดาห์ (จุดเริ่มต้นสัปดาห์)
url: https://www.thepexcel.com/functions/dax/time-intelligence/openingbalanceweek-dax/
type: function-explainer
program: DAX
syntax: "OPENINGBALANCEWEEK(<Expression>, <Dates>, [<Filter>])"
date: 2025-12-13
updated: 2025-12-24
scores:
  popularity: 6
  difficulty: 4
  usefulness: 6
---

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

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

## คำอธิบาย

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

## Syntax

```excel
OPENINGBALANCEWEEK(&lt;Expression&gt;, &lt;Dates&gt;, [&lt;Filter&gt;])
```

## Arguments

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

## เคสการใช้งาน

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

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

_เหมาะกับ:_ week-opening-balance

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

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

_เหมาะกับ:_ weekly-change

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ค่าเปิดสัปดาห์ของยอดขาย

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

**ผลลัพธ์:** `ค่า Total Sales ณ จุดเปิดสัปดาห์ (วันสิ้นสัปดาห์ก่อน) เช่น หากวันนี้คือวันพฤหัสบดี จะได้ค่า Sales ณ วันจันทร์ของสัปดาห์นั้น`

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

### 2. ตัวอย่างที่ 2: การเปลี่ยนแปลงรายสัปดาห์ (Week-over-Week Change)

```excel
WoW Change =
VAR OpeningSales = [Opening Sales WK]
VAR ClosingSales = [Closing Sales WK]
RETURN
    ClosingSales - OpeningSales
```

**ผลลัพธ์:** `ส่วนต่างระหว่างปิด (สิ้นสัปดาห์) และเปิด (จุดเริ่มสัปดาห์) เช่น 5000 - 3000 = 2000`

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

### 3. ตัวอย่างที่ 3: ค่าเปิดสัปดาห์จากตารางคงเหลือสินค้า

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

**ผลลัพธ์:** `มูลค่าคงเหลือสินค้า ณ จุดเปิดสัปดาห์ (ต้นสัปดาห์)`

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

### 4. ตัวอย่างที่ 4: ใช้กับ Filter เพิ่มเติม

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

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

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

## หมายเหตุเพิ่มเติม

- ถ้ารายงานของคุณใช้ fiscal week (เช่นสัปดาห์ธุรกิจเริ่มวันจันทร์ สิ้นวันอาทิตย์) ตรวจว่าตารางวันที่สะท้อนนิยามสัปดาห์นั้นอย่างถูกต้อง

- ใช้ VAR เพื่อเก็บค่า Opening และ Closing Balance แล้ว RETURN ค่าต่างหรือ % change เพื่ออ่านง่ายขึ้น

- คู่เสมอกับ CLOSINGBALANCEWEEK สำหรับรายงาน Week-over-Week analysis

- ลองใช้ OPENINGBALANCEWEEK ร่วมกับ CALCULATE และ PREVIOUSWEEK เพื่อความยืดหยุ่นมากขึ้น (ถ้าต้องการ filter บริบท)

## คำถามที่พบบ่อย

**Q: OPENINGBALANCEWEEK ต่างจาก PREVIOUSWEEK อย่างไร?**

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

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

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

**Q: ใช้ได้ใน Calculated Column หรือไม่?**

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

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

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

## ฟังก์ชันที่เกี่ยวข้อง

- closingbalanceweek
- openingbalancemonth
- previousweek
- calculate
- endofweek
- startofweek
- lastdate

## แหล่งข้อมูลเพิ่มเติม

- [DAX.guide - OPENINGBALANCEWEEK](https://dax.guide/openingbalanceweek/) _(guide)_
- [Microsoft Learn - OPENINGBALANCEWEEK Function](https://learn.microsoft.com/en-us/dax/openingbalanceweek-function-dax) _(official)_
- [SQLBI - Time Intelligence in DAX](https://www.sqlbi.com/articles/time-intelligence-in-dax/) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/dax/time-intelligence/openingbalanceweek-dax/](https://www.thepexcel.com/functions/dax/time-intelligence/openingbalanceweek-dax/)_
