DAX Function PREVIOUSMONTH

สิ่งสำคัญของการใช้งาน Power BI ที่ขาดไม่ได้และเป็นเรื่องสำคัญมาก ๆ อย่างหนึ่งนั้นคือ DAX (Data Analysis Expressions) ซึ่งจะมาช่วยคำนวณสรุปผลข้อมูลที่มี โดย DAX จะถูกไปใช้ในการคำนวณ 3 ส่วนหลัก ๆ ได้แก่
- Measures – สร้างการคำนวณในรูปแบบของ Aggregation หลาย ๆ แถวในตาราง
- Calculated columns – สร้างการคำนวณให้เกิดคอลัมน์ใหม่ เป็นการคำนวณแบบทีละแถว
- Calculated table – สร้างการคำนวณให้เกิดตารางใหม่
DAX Function PREVIOUSMONTH
ส่งกลับตารางที่มีคอลัมน์ของวันที่ทั้งหมดในเดือนก่อนหน้า โดยยึดตามวันแรกในคอลัมน์วันที่ในบริบทปัจจุบัน
รูปแบบของ Syntax
PREVIOUSMONTH(<dates>)
พารามิเตอร์
พารามิเตอร์ | รายละเอียด |
dates | คอลัมน์ที่มีวันที่ |
การคืนค่า
ตารางที่มีค่าวันที่คอลัมน์เดียว
ข้อสังเกตที่ควรทราบ
- ฟังก์ชัน PREVIOUSMONTH จะแสดงวันที่ทั้งหมดในเดือนก่อนหน้า โดยใช้วันแรกในคอลัมน์ dates เป็นตัวหาผลลัพธ์ ตัวอย่างเช่น ถ้าวันที่แรกในอาร์กิวเมนต์ dates อ้างอิงวันที่ 10 มิถุนายน 2009 ฟังก์ชันนี้จะแสดงวันที่ทั้งหมดสำหรับเดือนพฤษภาคม 2009
- อาร์กิวเมนต์ dates อาจเป็นรายการใดรายการหนึ่งต่อไปนี้:
- การอ้างอิงถึงคอลัมน์วันที่/เวลา
- table expression ที่แสดงเป็นคอลัมน์เดียวเป็น ค่าวันที่/เวลา
- Boolean expression ที่กำหนดตารางคอลัมน์เดียวของค่าวันที่/เวลา
- ข้อจำกัดของ Boolean expressions ได้อธิบายในหัวข้อ Boolean filter expressions ในฟังก์ชัน CALCULATE
- ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสำหรับใช้ในโหมด DirectQuery เมื่อใช้ในการ calculated column หรือกฎ row-level security (RLS)
- เพื่อการใช้ฟังก์ชัน PREVIOUSMONTH เพื่อการคำนวณเกี่ยวกับ time intelligence จำเป็นที่จะต้องสร้าง Date Table โดยตาราง Date Table ต้องเป็นไปตามข้อกำหนดต่อไปนี้
- ต้องมีวันที่ทั้งหมดสำหรับปีที่กำหนด ตารางวันที่ (Date Table) ต้องเริ่มต้นในวันที่ 1 มกราคมและสิ้นสุดในวันที่ 31 ธันวาคมเสมอ ซึ่งต้องมีวันทั้งหมดในช่วงนี้ หากรายงานอ้างอิงเฉพาะปีบัญชี ตารางวันที่จะต้องรวมวันที่ทั้งหมดตั้งแต่วันแรกจนถึงวันสุดท้ายของปีบัญชี ตัวอย่างเช่น ถ้าปีบัญชี 2008 เริ่มในวันที่ 1 กรกฎาคม 2007 ตาราง Date Table จะต้องรวมวันทั้งหมดตั้งแต่ 1 กรกฎาคม 2007 ถึง 30 มิถุนายน 2008
- จำเป็นต้องมีคอลัมน์ที่มีประเภทข้อมูล (Data Type) DateTime หรือ Date ที่มีค่าที่ไม่ซ้ำกัน คอลัมน์นี้มักจะเรียกว่า Date แม้ว่าคอลัมน์วันที่มักจะใช้เพื่อกำหนดความสัมพันธ์กับตารางอื่น แต่ก็ไม่จำเป็น อย่างไรก็ตาม คอลัมน์วันที่ (Date) ต้องมีค่าที่ไม่ซ้ำกันและควรกำหนดเป็นเครื่องหมายตารางวันที่ (Mark as Date Table) และซึ่งไม่ควรมีส่วนของเวลาในคอลัมน์วันที่ (Date) แต่หากมีควรต้องเป็น 12.00 AM. เสมอ
- ในกรณีที่ความสัมพันธ์ระหว่างตาราง Date Table กับตารางอื่น ๆ ที่ไม่ได้ใช้วันที่เป็นส่วนเชื่อมกัน (Relationship) ตาราง Date Tabel ต้องทำเครื่องหมายเป็นตารางวันที่ (Mark as Date Table) ใน Model