EOMONTH คืนค่าวันสิ้นเดือนของเดือนที่เลื่อนจาก StartDate ตามจำนวน Months (บวก/ลบได้) เหมาะกับการหาวันปิดงวด วันครบกำหนด และการจัดการช่วงเวลาแบบรายเดือน
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| StartDate | date/datetime | วันที่อ้างอิงเริ่มต้น |
| Months | number | จำนวนเดือนที่ต้องการเลื่อน (บวก=ไปข้างหน้า, ลบ=ย้อนหลัง) |
EOMONTH คืนค่าวัน “สิ้นเดือน” (datetime) โดยเริ่มจากวันที่ StartDate แล้วเลื่อนจำนวนเดือนตาม Months (บวก/ลบได้) ไม่ว่าวันอ้างอิงจะเป็นวันไหนในเดือนนั้น มันก็ยังคืนค่าเป็นวันสุดท้ายของเดือนเสมอ
ส่วนตัวผม EOMONTH เป็นฟังก์ชันที่มีประโยชน์สำหรับการจัดการข้อมูลตามงวดเวลา โดยเฉพาะการคำนวณวันครบกำหนดของบิล วันปิดงวดบัญชี หรือการรายงานตามปลายเดือน ต่างจาก EDATE ที่พยายามรักษาวันเดิมไว้ 😎
ใช้ EOMONTH(StartDate, 0) เพื่อได้วันสิ้นเดือนของ StartDate
เช่น สิ้นเดือนหน้า (Months=1) หรือสิ้นเดือนก่อน (Months=-1)
ใช้สำหรับสร้างคอลัมน์ช่วยเพื่อจัดกลุ่มข้อมูลรายเดือน เช่นสิ้นสุด 31 ม.ค. สิ้นสุด 28 ก.พ. เป็นต้น
ใช้ TODAY() เป็นจุดอ้างอิง แล้วเลื่อนไป 1 เดือน เหมาะสำหรับการคำนวณวันครบกำหนดของเดือนหน้า
ใช้ค่า Months ติดลบเพื่อย้อนกลับตามจำนวนเดือนที่ต้องการ เช่นการดึงข้อมูลรายไตรมาส
หา EOMONTH ของเดือนปัจจุบัน จากนั้นเลื่อนไป -1 เดือน ใช้ CALCULATE ระบุระยะเวลา
คืนค่าเป็นวันที่/เวลา (datetime) ซึ่งเป็นวันสุดท้ายของเดือนที่คำนวณได้ เช่น 31 มกราคม 2024, 29 กุมภาพันธ์ 2024 เป็นต้น
EOMONTH คืนวันสิ้นเดือนของเดือนที่เลื่อนเสมอ ส่วน EDATE เลื่อนวันที่ไปตามจำนวนเดือนโดยพยายามรักษาวันเดิมไว้ เช่น EDATE(31 Jan, 1) = 28 Feb แต่ EOMONTH(31 Jan, 1) = 29 Feb
ใช้ EOMONTH(date, -1) + 1 เพื่อหาวันต้นเดือนของเดือนปัจจุบัน เช่น EOMONTH(15 Jan, -1) + 1 = 1 Jan
ทั้งสองอย่างได้ แต่พฤติกรรมต่างกัน: ใน Calculated Column มันทำงานตามแต่ละแถว ใน Measure ต้องจัดการ Filter Context อย่างระมัดระวัง
โดยปกติเกิดจากค่า StartDate ไม่ใช่ datetime format หรือเป็น NULL ให้ใช้ IFERROR หรือ IF เพื่อตรวจสอบ เช่น IFERROR(EOMONTH(Sales[OrderDate], 1), "Invalid date")
ฟังก์ชันที่ผู้เขียนโยงไว้กับ EOMONTH จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
DATE สร้างค่าวันที่จากตัวเลข Year/Month/Day แล้วคืนค่าเป็นชนิด datetime เหมาะกับการประกอบวันที่จากคอลัมน์แยกส่วนหรือสร้างวันที่อ้างอิง เช่น วันแรกของเดือน วันตัดยอด
DAY คืนค่าเลขวันของเดือนจากค่าวันที่/เวลา (1–31) เป็นฟังก์ชันพื้นฐานสำหรับการวิเคราะห์ตามวันของเดือน การจัดกลุ่ม และการสร้างคอลัมน์ช่วย
EDATE รับวันที่เริ่มต้นและจำนวนเดือนที่ต้องการเลื่อนไปข้างหน้า/ย้อนกลับ แล้วคืนวันที่ใหม่ที่รักษาวันเดิม (หรือวันสุดท้ายของเดือนถัดไปถ้าวันเดิมเกิน) เหมาะสำหรับวันครบกำหนดชำระ บันทึกงวด และตารางผ่อน
EDATE คืนค่าวันที่ที่ห่างจากวันเริ่มต้นตามจำนวนเดือนที่ระบุ ใช้สำหรับคำนวณวันครบกำหนด หรือวันกำหนดส่งแบบเดือนปกติ
MONTH ดึงเลขเดือน (integer 1-12) จากค่า datetime โดยรับ input เป็น datetime value, column reference, หรือ text representation ของวันที่ และคืนค่าตั้งแต่ 1 (มกราคม) ถึง 12 (ธันวาคม) ตาม Gregorian calendar ใช้สร้าง calculated column ใน Date table เพื่อเป็น sort column สำหรับชื่อเดือน และใช้ใน measure เพื่อสร้าง conditional logic กับ custom time intelligence calculations
ดึงปีจากวันที่ในรูปแบบตัวเลข 4 หลัก สำหรับวิเคราะห์ข้อมูลตามปี
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่