---
title: LASTDATE – วันที่สุดท้ายในบริบทตัวกรองปัจจุบัน
url: https://www.thepexcel.com/functions/dax/time-intelligence/lastdate-dax/
type: function-explainer
program: DAX
syntax: "LASTDATE(<Dates>)"
date: 2025-12-13
updated: 2025-12-24
scores:
  popularity: 6
  difficulty: 3
  usefulness: 6
---

# LASTDATE – วันที่สุดท้ายในบริบทตัวกรองปัจจุบัน

> LASTDATE คืนค่าตารางที่มีวันที่สุดท้ายในบริบทตัวกรองปัจจุบัน มักใช้เป็นตารางตัวกรองให้ CALCULATE เพื

## คำอธิบาย

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

## Syntax

```excel
LASTDATE(&lt;Dates&gt;)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| Dates | Yes | dates |  | คอลัมน์วันที่ หรือ table expression ที่ให้คอลัมน์วันที่ (ต้องเป็น date table ที่ทำเครื่องหมายถูกต้องในโมเดล) |

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

### ยอดขายของวันสุดท้ายในช่วงที่เลือก

คำนวณ [Total Sales] เฉพาะวันสุดท้ายของช่วง

_เหมาะกับ:_ last-day-sales

### ดึงวันสุดท้ายเป็นค่าเดี่ยวเพื่อแสดงผล

แปลงจากตารางวันที่ให้เป็น scalar date

_เหมาะกับ:_ extract-last-date

### ใช้คู่กับ FIRSTDATE เพื่อเปรียบเทียบช่วง

ดึงวันแรก/วันสุดท้ายเพื่อวิเคราะห์ช่วงเวลา

_เหมาะกับ:_ range-boundaries

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ยอดขายของวันสุดท้ายในช่วง

```excel
ยอดขายวันสุดท้ายของช่วง =
CALCULATE(
    [Total Sales],
    LASTDATE('Date'[Date])
)
```

**ผลลัพธ์:** `ได้ [Total Sales] เฉพาะวันที่สุดท้ายของช่วงที่ถูกกรอง`

LASTDATE ทำหน้าที่เป็นตารางตัวกรองให้ CALCULATE เลือกเฉพาะวันสุดท้ายในบริบทปัจจุบัน

### 2. ตัวอย่างที่ 2: สินค้าคงเหลือ (Inventory) ณ สิ้นเดือน

```excel
Inventory End of Month =
CALCULATE(
    [Inventory Balance],
    LASTDATE('Date'[Date])
)
```

**ผลลัพธ์:** `ได้ยอดสินค้าคงเหลือของสิ้นเดือนปัจจุบัน`

เนื่องจาก Inventory Balance เป็น semi-additive measure จึงต้องใช้ LASTDATE เพื่อให้ได้ค่าที่ถูกต้องเท่านั้น

### 3. ตัวอย่างที่ 3: ดึงวันที่สุดท้ายเป็นค่า (scalar) เพื่อแสดงผล

```excel
วันที่สุดท้ายของช่วง (ค่า) =
MAXX(
    LASTDATE('Date'[Date]),
    'Date'[Date]
)
```

**ผลลัพธ์:** `ได้วันที่สุดท้ายของช่วงเป็นค่าเดี่ยว (date/datetime)`

MAXX วนบนตาราง 1 แถวที่ LASTDATE คืนมา แล้วคืนค่า 'Date'[Date] ออกมาเป็น scalar

### 4. ตัวอย่างที่ 4: เปรียบเทียบยอดขายวันแรกกับวันสุดท้าย

```excel
เปลี่ยนแปลงยอดขาย (วันแรกถึงวันสุดท้าย) =
VAR FirstDaySales = CALCULATE([Total Sales], FIRSTDATE('Date'[Date]))
VAR LastDaySales = CALCULATE([Total Sales], LASTDATE('Date'[Date]))
RETURN
    LastDaySales - FirstDaySales
```

**ผลลัพธ์:** `ได้ผลต่างของยอดขายระหว่างวันสุดท้ายและวันแรก`

ใช้ VAR เพื่อเก็บค่าทั้งสองวัน แล้วนำมาเปรียบเทียบเพื่อดูการเปลี่ยนแปลง

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

- มักใช้กับ Date table ที่ทำเครื่องหมายเป็น Date table ในโมเดล เพื่อให้ time intelligence ทำงานได้ถูกต้อง

- ใช้ LASTDATE เมื่อต้องการค่า semi-additive measure เช่น balance, inventory, stock ที่ต้องหาค่าสิ้นงวด

- สามารถใช้ VAR เพื่อเก็บผลลัพธ์ของ LASTDATE แล้วใช้ในการคำนวณหลายครั้ง

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

**Q: LASTDATE คืนค่าเป็นอะไร (ตารางหรือค่าเดี่ยว)?**

LASTDATE คืนค่าเป็นตารางวันที่ (table) ดังนั้นถ้าต้องการค่าเดี่ยวให้ใช้ iterator เช่น MAXX หรือ MAX (ตามสิ่งที่ต้องการ)

**Q: LASTDATE กับ LASTNONBLANK ต่างกันอย่างไร?**

LASTDATE หาวันที่สุดท้าย ส่วน LASTNONBLANK หาวันที่สุดท้ายที่มีค่าไม่เป็น blank ของ expression ที่กำหนด ใช้ LASTNONBLANK เมื่อต้องการค่าที่มีข้อมูล

**Q: ควรใช้ MAX('Date'[Date]) แทนได้ไหม?**

ในหลายกรณี MAX จะให้ผลเป็น scalar และใช้ง่ายกว่า แต่ LASTDATE มีประโยชน์เมื่อคุณต้องการ "ตารางตัวกรอง" เพื่อใช้กับ CALCULATE หรือทำงานตามรูปแบบของ time intelligence

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

- firstdate
- lastnonblank
- calculate
- maxx
- minx
- datediff
- datesbetween

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

- [DAX Guide: LASTDATE](https://dax.guide/lastdate/) _(guide)_
- [Microsoft Learn: LASTDATE Function](https://learn.microsoft.com/en-us/dax/lastdate-function-dax) _(official)_

---

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