Applies ToExcel for Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016 Power BI

ส่วนนี้มีลิงก์ไปยังตัวอย่างที่สาธิตการใช้สูตร DAX ในสถานการณ์ต่อไปนี้

  • การคํานวณที่ซับซ้อน

  • การทํางานกับข้อความและวันที่

  • ค่าตามเงื่อนไขและการทดสอบข้อผิดพลาด

  • การใช้ตัวแสดงเวลา

  • การจัดอันดับและการเปรียบเทียบค่า

ในบทความนี้

การเริ่มต้นใช้งาน

เยี่ยมชม DAX Resource Center Wiki ซึ่งคุณสามารถค้นหาข้อมูลทุกประเภทเกี่ยวกับ DAX รวมถึงบล็อก ตัวอย่าง เอกสาร และวิดีโอที่ให้บริการโดยผู้เชี่ยวชาญระดับแนวหน้าของอุตสาหกรรมและ Microsoft

สถานการณ์สมมติ: การคํานวณที่ซับซ้อน

สูตร DAX สามารถทําการคํานวณที่ซับซ้อนซึ่งเกี่ยวข้องกับการรวมแบบกําหนดเอง การกรอง และการใช้ค่าตามเงื่อนไข ส่วนนี้แสดงตัวอย่างของวิธีการเริ่มต้นการคํานวณแบบกําหนดเอง

สร้างการคํานวณแบบกําหนดเองสําหรับ PivotTable

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

นําตัวกรองไปใช้กับสูตร

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

ฟังก์ชัน FILTER ช่วยให้คุณระบุเกณฑ์ตัวกรองโดยใช้นิพจน์ ในขณะที่ฟังก์ชันอื่นๆ ถูกออกแบบมาเพื่อกรองค่าว่างโดยเฉพาะ

ลบตัวกรองที่เลือกเพื่อสร้างอัตราส่วนแบบไดนามิก

ด้วยการสร้างตัวกรองแบบไดนามิกในสูตร คุณสามารถตอบคําถามได้อย่างง่ายดายดังต่อไปนี้:

  • ยอดขายของผลิตภัณฑ์ปัจจุบันมีส่วนสนับสนุนการขายทั้งหมดสําหรับปีอย่างไร

  • แผนกนี้มีส่วนช่วยในการทํากําไรรวมสําหรับทุกปีในการดําเนินงานมากเพียงใดเมื่อเทียบกับแผนกอื่น ๆ

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

หัวข้อ ALLEXCEPT มีตัวอย่างของวิธีการล้างตัวกรองที่เลือกในสูตร ตัวอย่างทั้งสองจะแนะนําคุณเกี่ยวกับการเปลี่ยนแปลงผลลัพธ์โดยขึ้นอยู่กับการออกแบบของ PivotTable

สําหรับตัวอย่างอื่นๆ ของวิธีคํานวณอัตราส่วนและเปอร์เซ็นต์ ให้ดูหัวข้อต่อไปนี้

การใช้ค่าจากการวนรอบภายนอก

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

เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับบริบทของแถวและตารางที่เกี่ยวข้อง และวิธีการใช้แนวคิดนี้ในสูตร ให้ดู บริบทในสูตร DAX

สถานการณ์สมมติ: การทํางานกับข้อความและวันที่

ส่วนนี้มีลิงก์ไปยังหัวข้อการอ้างอิง DAX ที่มีตัวอย่างของสถานการณ์สมมติทั่วไปที่เกี่ยวข้องกับการทํางานกับข้อความ การแยกและเขียนค่าวันที่และเวลา หรือการสร้างค่าตามเงื่อนไข

สร้างคอลัมน์หลักโดยการเรียงต่อกัน

Power Pivot ไม่อนุญาตให้ใช้คีย์ผสม ดังนั้น ถ้าคุณมีคีย์ผสมในแหล่งข้อมูลของคุณ คุณอาจต้องรวมคีย์เหล่านั้นไว้ในคอลัมน์คีย์เดียว หัวข้อต่อไปนี้มีตัวอย่างหนึ่งของวิธีการสร้างคอลัมน์จากการคํานวณโดยยึดตามคีย์ผสม

เขียนวันที่โดยยึดตามส่วนวันที่ที่แยกจากวันที่ที่เป็นข้อความ

Power Pivot ใช้ชนิดข้อมูลวันที่/เวลาของ SQL Server เพื่อทํางานกับวันที่ ดังนั้น ถ้าข้อมูลภายนอกของคุณมีวันที่ที่จัดรูปแบบต่างกัน ตัวอย่างเช่น ถ้าวันที่ของคุณถูกเขียนในรูปแบบวันที่ในภูมิภาคที่โปรแกรมข้อมูล Power Pivot ไม่รู้จัก หรือถ้าข้อมูลของคุณใช้คีย์ตัวแทนจํานวนเต็ม คุณอาจต้องใช้สูตร DAX เพื่อแยกส่วนวันที่ แล้วสร้างส่วนต่างๆ ลงในการแสดงวันที่/เวลาที่ถูกต้อง

ตัวอย่างเช่น ถ้าคุณมีคอลัมน์ของวันที่ที่แสดงเป็นจํานวนเต็ม แล้วนําเข้าเป็นสตริงข้อความ คุณสามารถแปลงสตริงเป็นค่าวันที่/เวลาโดยใช้สูตรต่อไปนี้

=DATE(RIGHT([Value1],4),LEFT([Value1],2),MID([Value1],2))

ค่า 1

ผลลัพธ์

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

หัวข้อต่อไปนี้มีข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันที่ใช้แยกและเรียบเรียงวันที่

กําหนดรูปแบบวันที่หรือตัวเลขแบบกําหนดเอง

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

เปลี่ยนชนิดข้อมูลโดยใช้สูตร

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

  • เมื่อต้องการแปลงวันที่หรือสตริงตัวเลขเป็นตัวเลข ให้คูณด้วย 1.0 ตัวอย่างเช่น สูตรต่อไปนี้จะคํานวณวันที่ปัจจุบันลบด้วย 3 วัน แล้วให้ผลลัพธ์เป็นค่าจํานวนเต็มที่สอดคล้องกัน

    =(TODAY()-3)*1.0

  • เมื่อต้องการแปลงค่าวันที่ ตัวเลข หรือสกุลเงินเป็นสตริง ให้ต่อค่ากับสตริงว่าง ตัวอย่างเช่น สูตรต่อไปนี้จะส่งกลับวันที่ของวันนี้เป็นสตริง

    =""& TODAY()

ฟังก์ชันต่อไปนี้ยังสามารถใช้เพื่อให้แน่ใจว่าชนิดข้อมูลเฉพาะจะถูกส่งกลับ:

แปลงจํานวนจริงเป็นจํานวนเต็ม

สถานการณ์สมมติ: ค่าตามเงื่อนไขและการทดสอบข้อผิดพลาด

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

สร้างค่าตามเงื่อนไข

คุณสามารถใช้เงื่อนไข IF ที่ซ้อนกันเพื่อทดสอบค่าและสร้างค่าใหม่ตามเงื่อนไข หัวข้อต่อไปนี้มีตัวอย่างง่ายๆ ของการประมวลผลตามเงื่อนไขและค่าตามเงื่อนไข:

ทดสอบหาข้อผิดพลาดภายในสูตร

ไม่เหมือนกับ Excel คุณไม่สามารถมีค่าที่ถูกต้องในแถวหนึ่งของคอลัมน์จากการคํานวณและค่าที่ไม่ถูกต้องในแถวอื่นได้ นั่นคือถ้ามีข้อผิดพลาดในส่วนใดส่วนหนึ่งของคอลัมน์ Power Pivot ทั้งคอลัมน์จะถูกตั้งค่าสถานะด้วยข้อผิดพลาด ดังนั้นคุณต้องแก้ไขข้อผิดพลาดของสูตรเสมอซึ่งส่งผลให้มีค่าที่ไม่ถูกต้อง

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

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

สถานการณ์สมมติ: การใช้ตัวแสดงเวลา

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

สําหรับรายการของฟังก์ชันตัวแสดงเวลาทั้งหมด ให้ดูที่ ฟังก์ชันตัวแสดงเวลา (DAX) สําหรับเคล็ดลับเกี่ยวกับวิธีการใช้วันที่และเวลาอย่างมีประสิทธิภาพในการวิเคราะห์ Power Pivot ให้ดูที่ วันที่ใน Power Pivot

คํานวณยอดขายสะสม

หัวข้อต่อไปนี้มีตัวอย่างของวิธีการคํานวณยอดดุลปิดและยอดดุลยกมา ตัวอย่างช่วยให้คุณสร้างยอดดุลสะสมในช่วงเวลาต่างๆ เช่น วัน เดือน ไตรมาส หรือปี

เปรียบเทียบค่าเมื่อเวลาผ่านไป

หัวข้อต่อไปนี้มีตัวอย่างของวิธีการเปรียบเทียบผลรวมในช่วงเวลาต่างๆ ช่วงเวลาเริ่มต้นที่ได้รับการสนับสนุนโดย DAX คือเดือน ไตรมาส และปี

คํานวณค่าในช่วงวันที่แบบกําหนดเอง

ดูหัวข้อต่อไปนี้สําหรับตัวอย่างของวิธีเรียกใช้ช่วงวันที่แบบกําหนดเอง เช่น 15 วันแรกหลังจากเริ่มการส่งเสริมการขาย

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

  • ฟังก์ชัน PARALLELPERIOD

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

สถานการณ์สมมติ: การจัดอันดับและการเปรียบเทียบค่า

เมื่อต้องการแสดงเฉพาะจํานวน N อันดับแรกของรายการในคอลัมน์หรือ PivotTable คุณจะมีตัวเลือกหลายตัวเลือก:

  • คุณสามารถใช้ฟีเจอร์ใน Excel เพื่อสร้างตัวกรองยอดนิยมได้ คุณยังสามารถเลือกจํานวนค่าบนสุดหรือค่าล่างสุดใน PivotTable ได้อีกด้วย ส่วนแรกของส่วนนี้จะอธิบายวิธีการกรองสําหรับรายการ 10 อันดับแรกใน PivotTable สําหรับข้อมูลเพิ่มเติม ให้ดูเอกสารประกอบ Excel

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

มีข้อดีและข้อเสียของแต่ละวิธี

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

  • สูตร DAX มีประสิทธิภาพมากกว่า นอกจากนี้ ด้วยการเพิ่มค่าการจัดอันดับลงในตัวแบ่งส่วนข้อมูล คุณสามารถคลิกที่ตัวแบ่งส่วนข้อมูลเพื่อเปลี่ยนจํานวนค่าสูงสุดที่แสดง อย่างไรก็ตาม การคํานวณมีราคาแพงทางการคํานวณและวิธีนี้อาจไม่เหมาะสําหรับตารางที่มีแถวจํานวนมาก

แสดงเฉพาะสิบรายการแรกใน PivotTable

เมื่อต้องการแสดงค่าสูงสุดหรือค่าต่ําสุดใน PivotTable

  1. ใน PivotTable ให้คลิกลูกศรลงในส่วนหัว ของ ป้ายชื่อแถว

  2. เลือก ตัวกรองค่า> 10 อันดับแรก

  3. ในกล่องโต้ตอบ >ชื่อคอลัมน์ <ตัวกรอง 10 อันดับแรก ให้เลือกคอลัมน์ที่จะจัดอันดับ และจํานวนของค่าดังนี้:

    1. เลือก บน เพื่อดูเซลล์ที่มีค่าสูงสุด หรือ ล่าง เพื่อดูเซลล์ที่มีค่าต่ําสุด

    2. พิมพ์จํานวนค่าบนสุดหรือค่าต่ําสุดที่คุณต้องการดู ค่าเริ่มต้นคือ 10

    3. เลือกวิธีที่คุณต้องการให้แสดงค่า:

ชื่อ

คำอธิบาย

รายการ

เลือกตัวเลือกนี้เพื่อกรอง PivotTable เพื่อแสดงเฉพาะรายการด้านบนหรือด้านล่างตามค่าของ PivotTable

เปอร์เซ็นต์

เลือกตัวเลือกนี้เพื่อกรอง PivotTable เพื่อแสดงเฉพาะรายการที่รวมกับเปอร์เซ็นต์ที่ระบุ

Sum

เลือกตัวเลือกนี้เพื่อแสดงผลรวมของค่าสําหรับรายการด้านบนหรือด้านล่าง

  1. เลือกคอลัมน์ที่มีค่าที่คุณต้องการจัดอันดับ

  2. คลิก ตกลง

เรียงลําดับรายการแบบไดนามิกโดยใช้สูตร

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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

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

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย