Thep Excel

ฟังก์ชัน YEAR ใน DAX

ดึงปีจากวันที่ในรูปแบบตัวเลข 4 หลัก สำหรับวิเคราะห์ข้อมูลตามปี

ความนิยม9/10
ความยาก2/10
ประโยชน์9/10

อัปเดต 13 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
date required ค่าวันที่ที่ต้องการดึงปี สามารถเป็น datetime value หรือ text ที่สามารถแปลงเป็นวันที่ได้

Additional Notes

ฟังก์ชัน YEAR คืออะไร

YEAR เป็นฟังก์ชันแยกวันที่ใน DAX ที่ทำหน้าที่ดึงปี (Year) จากค่าวันที่ และคืนค่าเป็นตัวเลข 4 หลัก (1900-9999) ครับ

ส่วนตัวผมคิดว่า YEAR เป็นหนึ่งในฟังก์ชันพื้นฐานที่สำคัญมากเลยทีเดียว เพราะการวิเคราะห์ข้อมูลตามปีนั้นเกิดขึ้นบ่อยมาก

เมื่อไหร่ใช้ YEAR

ใช้ YEAR เมื่อ:

  • ต้องการแยกปีออกมาจากวันที่เพื่อการกรุปหรือวิเคราะห์
  • สร้างคอลัมน์ปีในตาราข้อมูล
  • กรองข้อมูลตามปีที่ต้องการ
  • สร้าง Date Dimension หรือ Time Intelligence

ข้อสำคัญเกี่ยวกับ YEAR

YEAR ทำงานกับ datetime data type ที่ DAX ใช้จัดการ ซึ่งต่างจาก Excel ที่ใช้ serial numbers โดยจะคืนค่าเป็นเลข 4 หลักเสมอ แม้ว่าวันที่จะแสดงในปฏิทินแบบอื่น (เช่น Hijri calendar) ก็ตาม

How it works

สร้างคอลัมน์ปีสำหรับการจัดกลุ่ม

เช่น Year = YEAR('DimDate'[Date]) เพื่อใช้เป็นแกนในรายงาน

กรองข้อมูลตามปี

เช่น สร้างปีจากวันที่ในข้อมูลเพื่อทำตัวกรอง/สรุปผล

Examples

สร้างคอลัมน์ปี (Calculated Column)Order Year = YEAR(Sales[OrderDate])
fx
Order Year = YEAR(Sales[OrderDate])

ผลลัพธ์สำหรับวันที่ 2024-05-15 จะคืนค่า 2024
ดึงปีจากวันที่ปัจจุบันCurrent Year = YEAR(TODAY())
fx
Current Year = YEAR(TODAY())

ผลลัพธ์ปี 2025 (ตามวันที่ปัจจุบัน)
สร้าง Measure สำหรับการเปรียบเทียบปีOrders 2024 = CALCULATE(COUNTA(Sales[OrderID]), YEAR(Sales[OrderDate]) = 2024)
fx
Orders 2024 = CALCULATE(COUNTA(Sales[OrderID]), YEAR(Sales[OrderDate]) = 2024)

ผลลัพธ์จำนวน Order ทั้งหมดในปี 2024
ใช้ YEAR ในการสร้าง Time Intelligence DimensionDate Dimension = ADDCOLUMNS(CALENDARAUTO(), "Year", YEAR([Date]), "Month", MONTH([Date]), "Day", DAY([Date]))
fx
Date Dimension = ADDCOLUMNS(CALENDARAUTO(), "Year", YEAR([Date]), "Month", MONTH([Date]), "Day", DAY([Date]))

ผลลัพธ์ตารางที่มีคอลัมน์ Year, Month, Day สำหรับใช้ในการวิเคราะห์

FAQs

YEAR ใน DAX ต่างจาก YEAR ใน Excel ไหม+

พูดได้ว่าเหมือนกัน แต่ DAX มี context ที่แตกต่าง ใน Excel นั่น YEAR = YEAR(A1) แต่ใน DAX ต้องระบุชื่อตารางและคอลัมน์ เช่น YEAR(Sales[OrderDate]) ครับ

ถ้า OrderDate เป็น NULL จะเกิดอะไรขึ้น+

YEAR จะคืนค่า BLANK (ว่าง) ถ้าค่าอินพุตเป็น NULL หรือ BLANK ครับ

สามารถใช้ YEAR กับ Text ได้ไหม+

ได้ครับ แต่ต้องระวัง YEAR จะพยายามแปลง text เป็น datetime โดยใช้การตั้งค่า locale ของคอมพิวเตอร์ ดังนั้นถ้า format ไม่ตรงกับ locale นั้นอาจเกิดข้อผิดพลาด

YEAR ใช้ได้ในทุกประเภท Measure หรือไม่+

ใช้ได้ครับ YEAR ทำงานได้ในทั้ง Calculated Column, Measure, Visual Calculation และ Calculated Table

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ ฟังก์ชัน YEAR ใน DAX จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้ฟังก์ชัน YEAR ใน DAXDate and Time
Date and Time (10)
CALENDARAUTO

CALENDARAUTO สร้างตารางวันที่อัตโนมัติโดยอิงช่วงวันที่ที่พบในโมเดล และสามารถกำหนดเดือนสิ้นสุดปีบัญชีได้ เหมาะกับการสร้าง Date table แบบเร็ว ๆ แต่ควรระวังค่าวันที่ผิดปกติในข้อมูล

DATE

DATE สร้างค่าวันที่จากตัวเลข Year/Month/Day แล้วคืนค่าเป็นชนิด datetime เหมาะกับการประกอบวันที่จากคอลัมน์แยกส่วนหรือสร้างวันที่อ้างอิง เช่น วันแรกของเดือน วันตัดยอด

DATEVALUE

DATEVALUE แปลงข้อความวันที่ (text) ให้เป็น datetime โดยอ้างอิงตามการตั้งค่า locale ของ model เหมาะกับข้อมูลวันที่ที่เก็บเป็นข้อความและต้องแปลงเป็นวันที่จริงเพื่อการคำนวณตามเวลา

DAY

DAY คืนค่าเลขวันของเดือนจากค่าวันที่/เวลา (1–31) เป็นฟังก์ชันพื้นฐานสำหรับการวิเคราะห์ตามวันของเดือน การจัดกลุ่ม และการสร้างคอลัมน์ช่วย

EOMONTH

EOMONTH คืนค่าวันสิ้นเดือนของเดือนที่เลื่อนจาก StartDate ตามจำนวน Months (บวก/ลบได้) เหมาะกับการหาวันปิดงวด วันครบกำหนด และการจัดการช่วงเวลาแบบรายเดือน

MINUTE (DAX)

ดึงเลขนาที (0–59) จากค่าวันที่/วันเวลา และคืนค่าเป็นจำนวนเต็ม

MONTH (DAX)

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

QUARTER

QUARTER คือฟังก์ชันที่แยกหมายเลขไตรมาส (Quarter) จากวันที่ โดยส่งค่า 1-4 แทนไตรมาสของปี ใช้เพื่อจัดกลุ่มข้อมูลตามไตรมาส สร้างลำดับชั้นเวลา และวิเคราะห์ประสิทธิภาพตามรอบปี

WEEKDAY

WEEKDAY คืนค่าเลขวันในสัปดาห์ (1-7) จากวันที่ที่กำหนด สามารถปรับรูปแบบให้เริ่มจากอาทิตย์หรือจันทร์ได้ตามต้องการ เหมาะสำหรับการแยกวันทำงาน วันหยุด หรือวิเคราะห์พฤติกรรมตามวัน

YEARFRAC

YEARFRAC คืนค่าสัดส่วนของปีระหว่าง StartDate และ EndDate โดยเลือกวิธีนับวัน (Basis) ได้ เหมาะกับการวัดช่วงเวลาที่ต้องการผลลัพธ์เป็นจำนวนปีแบบทศนิยม

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่