Thep Excel

FIRSTDATE – วันที่แรกในบริบทตัวกรองปัจจุบัน

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

=FIRSTDATE(<Dates>)

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
6/10

Difficulty
3/10

Usefulness
6/10

Syntax & Arguments

=FIRSTDATE(<Dates>)

Argument Type Required Default Description
Dates dates Yes คอลัมน์วันที่ หรือ table expression ที่ให้คอลัมน์วันที่

How it works

ยอดขายของวันแรกในช่วงที่เลือก

คำนวณ [Total Sales] เฉพาะวันแรกของช่วงที่ถูกกรอง

หา “วันที่แรก” เป็นค่าเดี่ยว

แปลงผลลัพธ์จากตารางให้เป็น scalar date เพื่อใช้แสดงผล

เปรียบเทียบวันแรกและวันสุดท้าย

ใช้คู่กับ LASTDATE เพื่อคำนวณความต่างของช่วงเวลา

Examples

ตัวอย่างที่ 1: ยอดขายของวันแรกในช่วง
ยอดขายวันแรกของช่วง = CALCULATE( [Total Sales], FIRSTDATE('Date'[Date]) )
FIRSTDATE ทำหน้าที่เป็นตัวกรองให้ CALCULATE เลือกเฉพาะวันแรกในบริบทปัจจุบัน
DAX Formula:

ยอดขายวันแรกของช่วง =
CALCULATE(
    [Total Sales],
    FIRSTDATE('Date'[Date])
)

Result:

ได้ [Total Sales] เฉพาะวันที่แรกของช่วงที่ถูกกรอง

ตัวอย่างที่ 2: ดึงวันที่แรกเป็นค่า (scalar) เพื่อแสดงผล
วันที่แรกของช่วง (ค่า) = MINX( FIRSTDATE('Date'[Date]), 'Date'[Date] )
MINX วนบนตาราง 1 แถวที่ FIRSTDATE คืนมา แล้วคืนค่า 'Date'[Date] ออกมาเป็น scalar
DAX Formula:

=วันที่แรกของช่วง (ค่า) =
MINX(
    FIRSTDATE('Date'[Date]),
    'Date'[Date]
)

Result:

ได้วันที่แรกของช่วงเป็นค่าเดี่ยว (date/datetime)

ตัวอย่างที่ 3: จำนวนวันในช่วงที่เลือก
จำนวนวันในช่วง = DATEDIFF( MINX(FIRSTDATE('Date'[Date]), 'Date'[Date]), MAX('Date'[Date]), DAY ) + 1
ตัวอย่างนี้ดึงวันแรกเป็น scalar แล้วใช้ MAX เป็นวันสุดท้าย เพื่อหาความต่างของจำนวนวัน
DAX Formula:

จำนวนวันในช่วง =
DATEDIFF(
    MINX(FIRSTDATE('Date'[Date]), 'Date'[Date]),
    MAX('Date'[Date]),
    DAY
) + 1

Result:

ได้จำนวนวันในช่วง (โดยประมาณตามตัวอย่างนี้)

FAQs

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

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

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

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

Resources & Related

Additional Notes

FIRSTDATE คืนค่าตารางวันที่ที่มี “วันที่แรก” ในบริบทตัวกรองปัจจุบัน โดยทั่วไปใช้เป็น ตารางตัวกรอง ใน CALCULATE เพื่อคำนวณค่าของวันแรกในช่วงที่เลือก เช่นยอดขายของวันแรกในเดือน/ไตรมาส/ช่วงวันที่ที่ผู้ใช้เลือก

หมายเหตุ: FIRSTDATE คืนค่าเป็น ตาราง ไม่ใช่ scalar date ดังนั้นถ้าต้องการดึงออกมาเป็นค่าเดี่ยว (วันที่) ให้ใช้ iterator เช่น MINX เพื่อแปลงเป็น scalar

Leave a Reply

Your email address will not be published. Required fields are marked *