EDATE คืนค่าวันที่ที่ห่างจากวันเริ่มต้นตามจำนวนเดือนที่ระบุ ใช้สำหรับคำนวณวันครบกำหนด หรือวันกำหนดส่งแบบเดือนปกติ
=EDATE(<start_date>, <months>)
=EDATE(<start_date>, <months>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| start_date | DateTime | Yes | วันที่เริ่มต้น สามารถใช้การอ้างอิง column หรือค่าวันที่เป็นข้อความ | |
| months | Integer | Yes | จำนวนเดือนที่ต้องการเพิ่มหรือลด ใช้ตัวเลขบวกสำหรับลงในอนาคต ตัวเลขลบสำหรับย้อนกลับไปในอดีต |
เช่น วันครบกำหนดชำระในอีก 2 เดือนจากวันเริ่ม
เช่น เทียบกับเดือนก่อนหน้าโดยเลื่อน -1 เดือน
EDATE([TransactionDate], 3)=EDATE([TransactionDate], 3)
วันที่ครบกำหนดสินเชื่อหลังจากลงนามสัญญา 3 เดือน
EDATE([OrderDate], -2)=EDATE([OrderDate], -2)
วันที่ก่อนสั่งซื้อ 2 เดือน
Revenue Next Month = CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[DueDate] = EDATE(TODAY(), 1)))Revenue Next Month = CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[DueDate] = EDATE(TODAY(), 1)))
รวมรายได้ที่กำหนดส่งในเดือนถัดไป
EDATE("2024-01-31", 1)=EDATE("2024-01-31", 1)
2024-02-29 (ในปีอุ่นลุง)
EDATE เก็บวันที่เดิมไว้ (31 มกราคม + 1 เดือน = 28 กุมภาพันธ์) แต่ EOMONTH จะปัดเศษเป็นวันสุดท้ายของเดือนเสมอ ใช้ EDATE เมื่อต้องการรักษาวันที่ของเดือน
ได้ EDATE ใช้งานได้ในทุก DAX environment เช่น Power BI Desktop, Power BI Service (Calculated columns เท่านั้น), SQL Server Analysis Services, และ Azure Analysis Services
DAX จะตัดส่วนทศนิยมทิ้ง ตัวอย่างเช่น months = 1.9 จะถือว่า 1 เดือน
ไม่ได้ EDATE ไม่รองรับ DirectQuery mode สำหรับ calculated columns หรือ RLS rules
ถ้าเดือนถัดไปมีวันน้อยกว่า 31 วัน EDATE จะให้วันสุดท้ายของเดือนนั้น (เช่น 28 หรือ 29 กุมภาพันธ์)
EDATE เป็นฟังก์ชันวันที่ที่ถูกออกแบบมาเพื่อหาวันที่ห่างออกไปตามจำนวนเดือนที่ระบุ เหมาะสำหรับการคำนวณวันครบกำหนดสินเชื่อ วันส่งมอบสินค้า หรือวันหมดอายุสัญญา
สิ่งที่เจ๋งของ EDATE คือมันเก็บวันที่เดิมไว้ เช่น ถ้าคุณมี 31 มกราคม และเพิ่ม 1 เดือน EDATE จะให้ 28 กุมภาพันธ์ (หรือ 29 ในปีอุ่นลุง) ซึ่งต่างจาก EOMONTH ที่จะปัดเศษเป็นวันสุดท้ายของเดือนเสมอ
ส่วนตัวผม EDATE มีประโยชน์มากเมื่อต้องการวันที่ที่ตรงตามกำหนดเดือน เช่นสัญญาจ่ายรายเดือน หากปล่อยสินเชื่อวันที่ 15 ของเดือน ใช้ EDATE ก็จะได้วันที่ 15 ของเดือนถัดไป ไม่ต้องกังวลว่าเดือนไหนจะมีวันน้อยกว่า