ตัวแสดงเวลาใน Power Pivot ใน Excel

นำไปใช้กับ
Excel for Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Data Analysis Expressions (DAX) มีฟังก์ชัน 35 ฟังก์ชันสําหรับการรวมและการเปรียบเทียบข้อมูลในช่วงเวลาต่างๆ โดยเฉพาะ ฟังก์ชันตัวแสดงเวลาไม่เหมือนกับฟังก์ชันวันที่และเวลาของ DAX ใน Excel เนื่องจากฟังก์ชันตัวแสดงเวลาทํางานกับข้อมูลที่เปลี่ยนแปลงตลอดเวลา โดยขึ้นอยู่กับบริบทที่คุณเลือกใน PivotTable และการแสดงภาพของ Power View

เมื่อต้องการทํางานกับฟังก์ชันตัวแสดงเวลา คุณต้องมีตารางวันที่รวมอยู่ในตัวแบบข้อมูลของคุณ ตารางวันที่ต้องมีคอลัมน์ที่มีหนึ่งแถวสําหรับทุกวันของแต่ละปีที่รวมอยู่ในข้อมูลของคุณ คอลัมน์นี้จะถือว่าเป็นคอลัมน์ วันที่ (คุณสามารถตั้งชื่อตามที่คุณต้องการก็ได้) ฟังก์ชันตัวแสดงเวลาจํานวนมากต้องใช้คอลัมน์วันที่เพื่อคํานวณตามวันที่ที่คุณเลือกเป็นเขตข้อมูลในรายงาน ตัวอย่างเช่น ถ้าคุณมีหน่วยวัดที่คํานวณยอดดุลสิ้นสุดไตรมาสโดยใช้ฟังก์ชัน CLOSINGBALANCEQTR เพื่อให้ Power Pivot ทราบว่าเวลาสิ้นสุดไตรมาสจริงๆ Power Pivot จะต้องอ้างอิงคอลัมน์วันที่ในตารางวันที่เพื่อให้ทราบว่าไตรมาสเริ่มต้นและสิ้นสุดเมื่อใด เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับตารางวันที่ ให้ดูที่ ทําความเข้าใจและสร้างตารางวันที่ใน Power Pivot ใน Excel

ฟังก์ชัน

ฟังก์ชันที่ส่งกลับวันที่เดียว

ฟังก์ชันในประเภทนี้จะส่งกลับวันที่เดียว จากนั้นผลลัพธ์นั้นสามารถใช้เป็นอาร์กิวเมนต์ของฟังก์ชันอื่นได้

ฟังก์ชันสองฟังก์ชันแรกในประเภทนี้ส่งกลับวันที่แรกหรือสุดท้ายใน Date_Column ในบริบทปัจจุบัน ซึ่งจะเป็นประโยชน์เมื่อคุณต้องการค้นหาวันแรกหรือวันสุดท้ายที่คุณมีธุรกรรมชนิดใดชนิดหนึ่ง ฟังก์ชันเหล่านี้ใช้อาร์กิวเมนต์เดียวเท่านั้น คือชื่อของคอลัมน์วันที่ในตารางวันที่ของคุณ

ฟังก์ชันสองฟังก์ชันถัดไปในประเภทนี้จะค้นหาวันที่แรกหรือวันสุดท้าย (หรือค่าคอลัมน์อื่นด้วยเช่นกัน) ที่นิพจน์มีค่าไม่ว่างเปล่า วิธีนี้มักใช้ในสถานการณ์เช่น สินค้าคงคลัง ซึ่งคุณต้องการรับจํานวนสินค้าคงคลังล่าสุด และคุณไม่ทราบว่าสินค้าคงคลังล่าสุดถูกใช้เมื่อใด

ฟังก์ชันอีกหกฟังก์ชันที่ส่งกลับวันที่เดียวคือฟังก์ชันที่ส่งกลับวันแรกหรือวันสุดท้ายของเดือน ไตรมาส หรือปีภายในบริบทปัจจุบันของการคํานวณ

ฟังก์ชันที่ส่งกลับสารบัญวันที่

ฟังก์ชันตัวแสดงเวลาสิบหกฟังก์ชันจะส่งกลับตารางวันที่ ส่วนใหญ่แล้ว ฟังก์ชันเหล่านี้จะถูกใช้เป็นอาร์กิวเมนต์ SetFilter ของฟังก์ชัน CALCULATE เช่นเดียวกับฟังก์ชันตัวแสดงเวลาทั้งหมดใน DAX แต่ละฟังก์ชันจะใช้คอลัมน์วันที่เป็นหนึ่งในอาร์กิวเมนต์

ฟังก์ชันแปดตัวแรกในประเภทนี้เริ่มต้นด้วยคอลัมน์วันที่ในบริบทปัจจุบัน ตัวอย่างเช่น ถ้าใช้หน่วยวัดใน PivotTable อาจมีเดือนหรือปีบนป้ายชื่อคอลัมน์หรือป้ายชื่อแถว ผลสุทธิคือคอลัมน์วันที่ถูกกรองให้รวมเฉพาะวันที่สําหรับบริบทปัจจุบัน โดยเริ่มต้นจากบริบทปัจจุบัน ฟังก์ชันทั้งแปดจะคํานวณวัน เดือน ไตรมาส หรือปีก่อนหน้า (หรือถัดไป) และส่งกลับวันที่เหล่านั้นในรูปแบบตารางคอลัมน์เดียว ฟังก์ชัน "ก่อนหน้า" จะทํางานย้อนหลังจากวันแรกในบริบทปัจจุบัน และฟังก์ชัน "ถัดไป" จะย้ายไปข้างหน้าจากวันที่สุดท้ายในบริบทปัจจุบัน

ฟังก์ชันสี่รายการถัดไปในประเภทนี้คล้ายกัน แต่แทนที่จะคํานวณรอบระยะเวลาก่อนหน้า (หรือถัดไป) ฟังก์ชันเหล่านี้จะคํานวณชุดของวันที่ในคาบเวลาที่เป็น "แบบเดือนถึงปัจจุบัน" (หรือแบบไตรมาสถึงวันที่ หรือแบบปีจนถึงปัจจุบัน หรือในช่วงเวลาเดียวกันของปีก่อนหน้า) ฟังก์ชันเหล่านี้ทั้งหมดจะทําการคํานวณโดยใช้วันที่ล่าสุดในบริบทปัจจุบัน โปรดทราบว่า SAMEPERIODLASTYEAR ต้องการให้บริบทปัจจุบันมีชุดวันที่ที่ต่อเนื่องกัน ถ้าบริบทปัจจุบันไม่ใช่ชุดวันที่ที่ต่อเนื่องกัน SAMEPERIODLASTYEAR จะส่งกลับข้อผิดพลาด

ฟังก์ชันสี่รายการสุดท้ายในประเภทนี้มีความซับซ้อนมากขึ้นเล็กน้อย แต่ก็มีประสิทธิภาพมากกว่าเล็กน้อยเช่นกัน ฟังก์ชันเหล่านี้จะใช้เพื่อเลื่อนจากชุดของวันที่ที่อยู่ในบริบทปัจจุบันไปเป็นชุดของวันที่ใหม่

  • DATEADD (Date_Column, Number_of_Intervals, Interval)
  • DATESBETWEEN (Date_Column, Start_Date, End_Date)
  • DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, Interval)

DATESBETWEEN จะคํานวณชุดของวันที่ระหว่างวันที่เริ่มต้นและวันที่สิ้นสุดที่ระบุ ฟังก์ชันที่เหลืออีกสามฟังก์ชันจะเลื่อนช่วงเวลาจํานวนหนึ่งจากบริบทปัจจุบัน ช่วงเวลาสามารถเป็นวัน เดือน ไตรมาส หรือปี ฟังก์ชันเหล่านี้ทําให้ง่ายต่อการเลื่อนช่วงเวลาสําหรับการคํานวณด้วยสิ่งต่อไปนี้:

  • ย้อนกลับไป 2 ปี
  • ย้อนกลับไปหนึ่งเดือน
  • ไปข้างหน้าสามไตรมาส
  • ย้อนกลับไป 14 วัน
  • ไปข้างหน้า 28 วัน

ในแต่ละกรณี คุณจําเป็นต้องระบุแค่ช่วงเวลา และจํานวนของช่วงเวลาที่จะเลื่อน ช่วงเวลาที่เป็นบวกจะเคลื่อนไปข้างหน้าตามกาลเวลา ในขณะที่ช่วงเวลาที่เป็นลบจะเคลื่อนกลับไปในช่วงเวลา ช่วงเวลาจะถูกระบุด้วยคําสําคัญ DAY, MONTH, QUARTER หรือ YEAR คําสําคัญเหล่านี้ไม่ใช่สตริง ดังนั้นจึงไม่ควรอยู่ในเครื่องหมายอัญประกาศ

ฟังก์ชันที่ใช้ประเมินนิพจน์ในช่วงเวลาหนึ่ง

ฟังก์ชันประเภทนี้ประเมินนิพจน์ในช่วงเวลาที่ระบุ คุณสามารถทําสิ่งเดียวกันได้โดยใช้ฟังก์ชันคํานวณและฟังก์ชันตัวแสดงเวลาอื่นๆ ตัวอย่างเช่น

= TOTALMTD (นิพจน์, Date_Column [, SetFilter])

เหมือนกับ:

= CALCULATE (นิพจน์, DATESMTD (Date_Column)[, SetFilter])

อย่างไรก็ตาม การใช้ฟังก์ชันตัวแสดงเวลาเหล่านี้ทําได้ง่ายกว่า เมื่อฟังก์ชันดังกล่าวเหมาะสมกับปัญหาที่ต้องแก้ไข:

  • TOTALMTD (นิพจน์, Date_Column [, SetFilter])
  • TOTALQTD (นิพจน์, Date_Column [, SetFilter])
  • TOTALYTD (นิพจน์, Date_Column [, SetFilter] [,YE_Date]) *

นอกจากนี้ในประเภทนี้ยังมีกลุ่มของฟังก์ชันที่คํานวณยอดดุลเปิดและปิด มีแนวคิดบางประการที่คุณควรเข้าใจเกี่ยวกับฟังก์ชันเฉพาะเหล่านี้ ประการแรก อย่างที่คุณอาจคิดอย่างชัดเจน ยอดคงเหลือเปิดสําหรับงวดใดๆ จะเหมือนกับยอดปิดของงวดก่อนหน้า ยอดคงเหลือปิดบัญชีรวมข้อมูลทั้งหมดจนถึงสิ้นงวด ในขณะที่ยอดคงเหลือเปิดครึ่งแรกไม่รวมข้อมูลใดๆ จากภายในงวดปัจจุบัน

ฟังก์ชันเหล่านี้จะส่งกลับค่าของนิพจน์ที่ประเมินสําหรับจุดเวลาที่ระบุเสมอ จุดเวลาที่เราสนใจคือค่าวันที่ล่าสุดที่เป็นไปได้ในช่วงเวลาปฏิทินเสมอ ยอดดุลเปิดครึ่งแรกจะยึดตามวันสุดท้ายของช่วงเวลาก่อนหน้า ในขณะที่ยอดดุลปิดทําการยึดตามวันสุดท้ายของช่วงเวลาปัจจุบัน ช่วงเวลาปัจจุบันจะถูกกําหนดโดยวันที่ล่าสุดในบริบทวันที่ปัจจุบันเสมอ

แหล่งข้อมูลเพิ่มเติม

บทความ: ทําความเข้าใจและสร้างตารางวันที่ใน Power Pivot ใน Excel

การอ้างอิง: ข้อมูลอ้างอิงเกี่ยวกับฟังก์ชัน DAX บน Office.com

ตัวอย่าง: การสร้างตัวแบบข้อมูลกําไรขาดทุนและการวิเคราะห์ด้วย Microsoft PowerPivot ใน Excel