หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ผู้ใช้ที่เพิ่งเริ่มใช้ Power BI Desktop สามารถใช้บทความนี้เป็นบทนําที่ง่ายและรวดเร็วเกี่ยวกับวิธีที่คุณสามารถใช้นิพจน์การวิเคราะห์ข้อมูล (DAX) เพื่อแก้ปัญหาการคํานวณพื้นฐานและการวิเคราะห์ข้อมูลจํานวนมาก เราจะพูดถึงข้อมูลเชิงแนวคิดชุดงานที่คุณสามารถทําได้และการตรวจสอบความรู้เพื่อทดสอบสิ่งที่คุณได้เรียนรู้ หลังจากจบบทความนี้ คุณควรมีความเข้าใจที่ดีเกี่ยวกับแนวคิดพื้นฐานที่สําคัญที่สุดใน DAX
DAX คืออะไร
DAX คือคอลเลกชันของฟังก์ชัน ตัวดําเนินการ และค่าคงที่ที่สามารถใช้ในสูตรหรือนิพจน์ เพื่อคํานวณและส่งกลับค่าอย่างน้อยหนึ่งค่า DAX ช่วยคุณสร้างข้อมูลใหม่จากข้อมูลที่มีอยู่แล้วในแบบจําลองของคุณ
เหตุใด DAX จึงมีความสําคัญ
ง่ายต่อการสร้างไฟล์ Power BI Desktop ใหม่และนําเข้าข้อมูลบางอย่างเข้าไป คุณยังสามารถสร้างรายงานที่แสดงข้อมูลเชิงลึกที่มีคุณค่าโดยไม่ต้องใช้สูตร DAX เลย แต่ถ้าคุณต้องการวิเคราะห์เปอร์เซ็นต์การเติบโตในหมวดหมู่ผลิตภัณฑ์และช่วงวันที่ต่างๆ ล่ะ หรือคุณต้องคํานวณการเติบโตแบบปีต่อปีเมื่อเทียบกับแนวโน้มของตลาด? สูตร DAX ให้ความสามารถนี้และความสามารถที่สําคัญอื่นๆ อีกมากมายเช่นกัน การเรียนรู้วิธีสร้างสูตร DAX ที่มีประสิทธิภาพจะช่วยให้คุณได้รับประโยชน์สูงสุดจากข้อมูลของคุณ เมื่อคุณได้รับข้อมูลที่ต้องการ คุณสามารถเริ่มแก้ปัญหาทางธุรกิจที่แท้จริงที่ส่งผลต่อผลกําไรของคุณได้
ข้อกําหนดเบื้องต้น
คุณอาจคุ้นเคยกับการสร้างสูตรใน Microsoft Excel อยู่แล้ว และความรู้นั้นจะเป็นประโยชน์ในการทําความเข้าใจ DAX แต่แม้ว่าคุณจะไม่มีประสบการณ์กับสูตร Excel แนวคิดที่อธิบายไว้ที่นี่จะช่วยให้คุณเริ่มต้นสร้างสูตร DAX และแก้ปัญหา BI ในโลกแห่งความเป็นจริงได้ทันที
เราจะมุ่งเน้นไปที่การทําความเข้าใจสูตร DAX ที่ใช้ในการคํานวณ โดยเฉพาะอย่างยิ่งในหน่วยวัดและคอลัมน์จากการคํานวณ คุณควรคุ้นเคยกับการใช้ Power BI Desktop เพื่อนําเข้าข้อมูลและเพิ่มเขตข้อมูลลงในรายงาน และคุณควรคุ้นเคยกับแนวคิดพื้นฐานของหน่วยวัดและคอลัมน์จากการคํานวณ
เวิร์กบุ๊กตัวอย่าง
วิธีที่ดีที่สุดในการเรียนรู้ DAX คือการสร้างสูตรพื้นฐาน ใช้กับข้อมูลจริง และดูผลลัพธ์ด้วยตัวคุณเอง ตัวอย่างและงานที่นี่ใช้ไฟล์ ตัวอย่างการขาย Contoso สําหรับ Power BI Desktop ไฟล์ตัวอย่างนี้เป็นไฟล์เดียวกับที่ใช้ในบท ช่วยสอน: สร้างหน่วยวัดของคุณเองใน Power BI Desktop บทความ
มาเริ่มกันเลย
เราจะกําหนดกรอบความเข้าใจของเราเกี่ยวกับ DAX เกี่ยวกับแนวคิดพื้นฐานสามประการ: ไวยากรณ์ฟังก์ชัน และบริบท มีแนวคิดที่สําคัญอื่นๆ ใน DAX แต่การทําความเข้าใจแนวคิดทั้งสามนี้จะเป็นรากฐานที่ดีที่สุดในการสร้างทักษะ DAX ของคุณ
Syntax
ก่อนที่คุณจะสร้างสูตรของคุณเอง มาดูไวยากรณ์ของสูตร DAX กันก่อน ไวยากรณ์ประกอบด้วยองค์ประกอบต่างๆ ที่ประกอบกันเป็นสูตร หรือพูดง่ายๆ ก็คือ วิธีการเขียนสูตร ตัวอย่างเช่น ต่อไปนี้เป็นสูตร DAX อย่างง่ายสําหรับหน่วยวัด:
สูตรนี้ประกอบด้วยองค์ประกอบไวยากรณ์ต่อไปนี้:
A. ชื่อหน่วยวัด ยอดขายรวม
B. ตัวดําเนินการเครื่องหมายเท่ากับ (=) ซึ่งระบุจุดเริ่มต้นของสูตร เมื่อคํานวณแล้วจะส่งคืนผลลัพธ์
C. ฟังก์ชัน DAX SUM ซึ่งรวมตัวเลขทั้งหมดในคอลัมน์ Sales[SalesAmount] คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชันในภายหลัง
D. วงเล็บ () ซึ่งล้อมรอบนิพจน์ที่มีอาร์กิวเมนต์อย่างน้อยหนึ่งอาร์กิวเมนต์ ฟังก์ชันส่วนใหญ่ต้องการอาร์กิวเมนต์อย่างน้อยหนึ่งอาร์กิวเมนต์ อาร์กิวเมนต์ส่งผ่านค่าไปยังฟังก์ชัน
E. ตารางอ้างอิง ยอดขาย
F. คอลัมน์ที่อ้างอิง [SalesAmount] ในตาราง ยอดขาย ด้วยอาร์กิวเมนต์นี้ ฟังก์ชัน SUM จะรู้ว่าคอลัมน์ใดที่จะรวม SUM
เมื่อพยายามทําความเข้าใจสูตร DAX การแบ่งองค์ประกอบแต่ละอย่างออกเป็นภาษาที่คุณคิดและพูดทุกวันมักจะเป็นประโยชน์ ตัวอย่างเช่น คุณสามารถอ่านสูตรนี้เป็น:
สําหรับหน่วยวัดที่ชื่อ ยอดขายรวม ให้คํานวณ (=) ผลรวมของค่าในคอลัมน์ [ยอดขาย ] ในตารางยอดขาย
เมื่อเพิ่มลงในรายงาน หน่วยวัดนี้จะคํานวณและส่งคืนค่าโดยการสรุปยอดขายสําหรับแต่ละฟิลด์อื่นๆ ที่เรารวมไว้ เช่น โทรศัพท์มือถือในสหรัฐอเมริกา
คุณอาจกําลังคิดว่า "หน่วยวัดนี้ไม่ได้ทําสิ่งเดียวกับที่ฉันต้องเพิ่มเขตข้อมูล SalesAmount ลงในรายงานของฉันใช่ไหม" ใช่. แต่มีเหตุผลที่ดีในการสร้างหน่วยวัดของเราเองที่สรุปค่าจากเขตข้อมูล SalesAmount: เราสามารถใช้เป็นอาร์กิวเมนต์ในสูตรอื่นได้ โซลูชันนี้อาจดูสับสนเล็กน้อยในตอนนี้ แต่เมื่อทักษะสูตร DAX ของคุณเติบโตขึ้น การรู้หน่วยวัดนี้จะทําให้สูตรและแบบจําลองของคุณมีประสิทธิภาพมากขึ้น ในความเป็นจริง คุณจะเห็นหน่วยวัดยอดขายรวมแสดงเป็นอาร์กิวเมนต์ในสูตรอื่นๆ ในภายหลัง
มาดูอีกสองสามสิ่งเกี่ยวกับสูตรนี้กัน โดยเฉพาะอย่างยิ่ง เราได้แนะนําฟังก์ชัน SUM ฟังก์ชันเป็นสูตรที่เขียนไว้ล่วงหน้าซึ่งช่วยให้ทําการคํานวณและการจัดการที่ซับซ้อนด้วยตัวเลข วันที่ เวลา ข้อความ และอื่นๆ ได้ง่ายขึ้น คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชันในภายหลัง
นอกจากนี้ คุณจะเห็นว่า ชื่อคอลัมน์ [SalesAmount] นําหน้าด้วยตาราง ยอดขาย ที่คอลัมน์นั้นอยู่ ชื่อนี้เรียกว่าชื่อคอลัมน์ที่มีคุณสมบัติครบถ้วน เนื่องจากมีชื่อคอลัมน์นําหน้าด้วยชื่อตาราง คอลัมน์ที่อ้างอิงในตารางเดียวกันไม่จําเป็นต้องรวมชื่อตารางไว้ในสูตร ซึ่งอาจทําให้สูตรยาวที่อ้างอิงหลายคอลัมน์สั้นลงและอ่านง่ายขึ้น อย่างไรก็ตาม เป็นแนวทางปฏิบัติที่ดีที่จะรวมชื่อตารางในสูตรการวัดผลของคุณ แม้ว่าจะอยู่ในตารางเดียวกันก็ตาม
หมายเหตุ
ถ้าชื่อตารางมีช่องว่าง คําสําคัญที่สงวนไว้ หรืออักขระที่ไม่ได้รับอนุญาต คุณต้องใส่ชื่อตารางไว้ในเครื่องหมายอัญประกาศเดี่ยว นอกจากนี้ คุณยังต้องใส่ชื่อตารางในเครื่องหมายคําพูดหากชื่อมีอักขระใดๆ ที่อยู่นอกช่วงอักขระที่เป็นตัวอักษรและตัวเลข ANSI ไม่ว่าตําแหน่งที่ตั้งของคุณจะสนับสนุนชุดอักขระหรือไม่
สิ่งสําคัญคือสูตรของคุณต้องมีไวยากรณ์ที่ถูกต้อง ในกรณีส่วนใหญ่ ถ้าไวยากรณ์ไม่ถูกต้อง จะมีการส่งกลับข้อผิดพลาดทางไวยากรณ์ ในกรณีอื่นๆ ไวยากรณ์อาจถูกต้อง แต่ค่าที่ส่งคืนอาจไม่ใช่สิ่งที่คุณคาดหวัง ตัวแก้ไข DAX ใน Power BI Desktop มีคุณลักษณะคําแนะนํา ซึ่งใช้ในการสร้างสูตรที่ถูกต้องตามหลักไวยากรณ์โดยช่วยคุณเลือกองค์ประกอบที่ถูกต้อง
มาสร้างสูตรตัวอย่างกัน งานนี้จะช่วยให้คุณเข้าใจไวยากรณ์ของสูตรมากขึ้น และคุณลักษณะคําแนะนําในแถบสูตรสามารถช่วยคุณได้อย่างไร
งาน: สร้างสูตรการวัด
ดาวน์โหลด และเปิดไฟล์ Power BI Desktop ตัวอย่าง Contoso Sales
ในมุมมองรายงาน ในรายการเขตข้อมูล ให้คลิกขวาที่ตารางยอดขาย แล้วเลือก หน่วยวัดใหม่
ในแถบสูตร ให้แทนที่การวัดผลโดยป้อนชื่อหน่วยวัดใหม่ ยอดขายไตรมาสก่อนหน้า
หลังจากเครื่องหมายเท่ากับ ให้พิมพ์ตัวอักษรสองสามตัวแรก CAL แล้วคลิกสองครั้งที่ฟังก์ชันที่คุณต้องการใช้ ในสูตรนี้ คุณต้องการใช้ฟังก์ชัน CALCULATE
คุณจะใช้ฟังก์ชัน CALCULATE เพื่อกรองจํานวนเงินที่เราต้องการรวมด้วยอาร์กิวเมนต์ที่เราส่งผ่านไปยังฟังก์ชัน CALCULATE ฟังก์ชันประเภทนี้เรียกว่าฟังก์ชันการซ้อน ฟังก์ชัน CALCULATE มีอาร์กิวเมนต์อย่างน้อยสองอาร์กิวเมนต์ อย่างแรกคือนิพจน์ที่จะประเมิน และประการที่สองคือตัวกรอง
หลังวงเล็บเปิด ( สําหรับฟังก์ชัน CALCULATE ให้พิมพ์ SUM ตามด้วยวงเล็บเปิดอื่น (.
ต่อไป เราจะส่งอาร์กิวเมนต์ไปยังฟังก์ชัน SUM
เริ่มพิมพ์ Sal แล้วเลือก Sales[SalesAmount] ตามด้วยวงเล็บปิด )
ขั้นตอนนี้จะสร้างอาร์กิวเมนต์นิพจน์แรกสําหรับฟังก์ชัน CALCULATE ของเรา
พิมพ์เครื่องหมายจุลภาค (,) ตามด้วยช่องว่างเพื่อระบุตัวกรองแรก แล้วพิมพ์ PREVIOUSQUARTER
คุณจะใช้ฟังก์ชันข่าวกรองเวลาไตรมาสก่อนหน้าเพื่อกรองผลลัพธ์ SUM ตามไตรมาสก่อนหน้า
หลังจากวงเล็บเปิด (สําหรับฟังก์ชัน PREVIOUSQUARTER ให้พิมพ์ Calendar[DateKey]
ฟังก์ชัน PREVIOUSQUARTER มีอาร์กิวเมนต์หนึ่งคอลัมน์ที่มีช่วงวันที่ที่อยู่ติดกัน ในกรณีของเรานั่นคือคอลัมน์ DateKey ในตารางปฏิทิน
ปิดทั้งอาร์กิวเมนต์ที่ส่งผ่านไปยังฟังก์ชัน PREVIOUSQUARTER และฟังก์ชัน CALCULATE โดยพิมพ์วงเล็บปิดสองวงเล็บ ))
สูตรของคุณควรมีลักษณะดังนี้:
ยอดขายไตรมาสก่อนหน้า = CALCULATE(SUM(ยอดขาย[ยอดขาย]), PBEFOREOUSQUARTER(ปฏิทิน[DateKey]))
เลือก
ถูก ในแถบสูตร หรือกด Enter เพื่อตรวจสอบสูตรและเพิ่มลงในตาราง ยอดขาย
คุณทำได้แล้ว! คุณเพิ่งสร้างหน่วยวัดที่ซับซ้อนโดยใช้ DAX สิ่งที่สูตรนี้จะทําคือคํานวณยอดขายรวมสําหรับไตรมาสก่อนหน้า โดยขึ้นอยู่กับตัวกรองที่ใช้ในรายงาน ตัวอย่างเช่น เราสามารถใส่ SalesAmount และหน่วยวัดยอดขายไตรมาสก่อนหน้าใหม่ของเราจากตารางยอดขายลงในแผนภูมิคอลัมน์แบบคลัสเตอร์ จากนั้นจากตารางปฏิทิน ให้เพิ่ม Year เป็นตัวแบ่งส่วนข้อมูล แล้วเลือก 2011 จากนั้นเพิ่ม QuarterOfYear เป็นตัวแบ่งส่วนข้อมูลอื่นแล้วเลือก 4 และเราจะได้แผนภูมิดังนี้:
โปรดทราบว่าแบบจําลองตัวอย่างมีข้อมูลการขายเพียงเล็กน้อยตั้งแต่ 1/1/2011 ถึง 1/19/2013 ถ้าคุณเลือกปีหรือไตรมาสที่ไม่สามารถรวม SalesAmount ได้ หรือหน่วยวัดใหม่ของคุณไม่สามารถคํานวณข้อมูลยอดขายสําหรับไตรมาสปัจจุบันหรือไตรมาสก่อนหน้า จะไม่แสดงข้อมูลสําหรับรอบระยะเวลานั้น ตัวอย่างเช่น ถ้าคุณเลือก 2011 สําหรับ ปี และ 1 สําหรับ QuarterOfYear จะไม่แสดงข้อมูลสําหรับยอดขายไตรมาสก่อนหน้า เนื่องจากไม่มีข้อมูลสําหรับไตรมาสที่สี่ของปี 2010
คุณได้รับการแนะนําให้รู้จักกับแง่มุมที่สําคัญหลายประการของสูตร DAX:
สูตรนี้มีสองฟังก์ชัน PREVIOUSQUARTER ซึ่งเป็นฟังก์ชันข่าวกรองเวลาถูกซ้อนกันเป็นอาร์กิวเมนต์ที่ส่งผ่านไปยัง CALCULATE ซึ่งเป็นฟังก์ชันตัวกรอง
สูตร DAX สามารถมีฟังก์ชันที่ซ้อนกันได้สูงสุด 64 ฟังก์ชัน ไม่น่าเป็นไปได้ที่สูตรจะมีฟังก์ชันที่ซ้อนกันมากมาย ในความเป็นจริงสูตรดังกล่าวจะสร้างและแก้ไขข้อบกพร่องได้ยากและอาจจะไม่เร็วเช่นกัน
ในสูตรนี้ คุณยังใช้ตัวกรอง ตัวกรองจะจํากัดสิ่งที่จะคํานวณให้แคบลง ในกรณีนี้ คุณเลือกตัวกรองหนึ่งตัวเป็นอาร์กิวเมนต์ ซึ่งจริงๆ แล้วเป็นผลลัพธ์ของฟังก์ชันอื่น คุณจะเรียนรู้เพิ่มเติมเกี่ยวกับตัวกรองในภายหลัง
คุณใช้ฟังก์ชัน CALCULATE ฟังก์ชันนี้เป็นหนึ่งในฟังก์ชันที่ทรงพลังที่สุดใน DAX เมื่อคุณเขียนแบบจําลองและสร้างสูตรที่ซับซ้อนมากขึ้น คุณอาจใช้ฟังก์ชันนี้หลายครั้ง แม้ว่าการอภิปรายเพิ่มเติมเกี่ยวกับฟังก์ชัน CALCULATE จะอยู่นอกขอบเขตของบทความนี้ แต่เมื่อความรู้ของคุณเกี่ยวกับ DAX เพิ่มขึ้น ให้ความสนใจเป็นพิเศษกับฟังก์ชันนี้
ไวยากรณ์ QuickQuiz
ปุ่มนี้บนแถบสูตรทําอะไรได้บ้าง
สิ่งที่ล้อมรอบชื่อคอลัมน์ในสูตร DAX เสมอ
คําตอบมีให้ในตอนท้ายของบทความนี้
Functions
ฟังก์ชันเป็นสูตรที่กําหนดไว้ล่วงหน้าซึ่งทําการคํานวณโดยใช้ค่าเฉพาะที่เรียกว่าอาร์กิวเมนต์ในลําดับหรือโครงสร้างเฉพาะ อาร์กิวเมนต์อาจเป็นฟังก์ชันอื่น สูตรอื่น นิพจน์ การอ้างอิงคอลัมน์ ตัวเลข ข้อความ ค่าตรรกะ เช่น TRUE หรือ FALSE หรือค่าคงที่
DAX ประกอบด้วยฟังก์ชันประเภทต่อไปนี้: วันที่และเวลา, ข่าวกรองเวลา, ข้อมูล, ตรรกะ, คณิตศาสตร์, สถิติ, ข้อความ, หลัก/ลูก และฟังก์ชันอื่นๆ ถ้าคุณคุ้นเคยกับฟังก์ชันในสูตร Excel ฟังก์ชันหลายฟังก์ชันใน DAX จะปรากฏคล้ายกับคุณ อย่างไรก็ตาม ฟังก์ชัน DAX ไม่ซ้ํากันในลักษณะต่อไปนี้:
ฟังก์ชัน DAX จะอ้างอิงคอลัมน์หรือตารางที่สมบูรณ์เสมอ ถ้าคุณต้องการใช้ค่าเฉพาะจากตารางหรือคอลัมน์เท่านั้น คุณสามารถเพิ่มตัวกรองลงในสูตรได้
ถ้าคุณต้องการกําหนดการคํานวณเองแบบแถวต่อแถว DAX มีฟังก์ชันที่ช่วยให้คุณสามารถใช้ค่าแถวปัจจุบันหรือค่าที่เกี่ยวข้องเป็นอาร์กิวเมนต์ชนิดหนึ่งเพื่อทําการคํานวณตามบริบท คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับบริบทในภายหลัง
DAX มีฟังก์ชันมากมายที่ส่งกลับตารางแทนที่จะเป็นค่า ตารางจะไม่แสดง แต่จะใช้เพื่อให้ข้อมูลสําหรับฟังก์ชันอื่นๆ ตัวอย่างเช่น คุณสามารถเรียกใช้ตารางแล้วนับค่าที่แตกต่างกันในนั้น หรือคํานวณผลรวมแบบไดนามิกผ่านตารางหรือคอลัมน์ที่กรองแล้ว
DAX มีฟังก์ชันข่าวกรองเวลาต่างๆ ฟังก์ชันเหล่านี้ช่วยให้คุณสามารถกําหนดหรือเลือกช่วงวันที่ และทําการคํานวณแบบไดนามิกตามช่วงวันที่เหล่านั้นได้ ตัวอย่างเช่น คุณสามารถเปรียบเทียบผลรวมตลอดระยะเวลาแบบขนาน
Excel มีฟังก์ชันยอดนิยมคือ VLOOKUP ฟังก์ชัน DAX จะไม่ใช้เซลล์หรือช่วงเซลล์เป็นข้อมูลอ้างอิงเหมือนที่ VLOOKUP ทําใน Excel ฟังก์ชัน DAX ใช้คอลัมน์หรือตารางเป็นการอ้างอิง โปรดทราบว่า ใน Power BI Desktop คุณกําลังทํางานกับแบบจําลองข้อมูลเชิงสัมพันธ์ การค้นหาค่าในตารางอื่นเป็นเรื่องง่าย และในกรณีส่วนใหญ่ คุณไม่จําเป็นต้องสร้างสูตรใดๆ เลย
อย่างที่คุณเห็น ฟังก์ชันใน DAX สามารถช่วยคุณสร้างสูตรที่มีประสิทธิภาพได้ เราสัมผัสเฉพาะพื้นฐานของฟังก์ชันเท่านั้น เมื่อทักษะ DAX ของคุณเติบโตขึ้น คุณจะสร้างสูตรโดยใช้ฟังก์ชันต่างๆ มากมาย หนึ่งในสถานที่ที่ดีที่สุดในการเรียนรู้รายละเอียดเกี่ยวกับฟังก์ชัน DAX แต่ละฟังก์ชันอยู่ใน การอ้างอิงฟังก์ชัน DAX
ฟังก์ชั่น QuickQuiz
- ฟังก์ชันอ้างอิงอะไรเสมอ
- สูตรสามารถมีฟังก์ชันมากกว่าหนึ่งฟังก์ชันได้หรือไม่?
- คุณจะใช้ฟังก์ชันประเภทใดในการต่อสตริงข้อความสองสตริงเป็นสตริงเดียว
คําตอบมีให้ในตอนท้ายของบทความนี้
Context
บริบทเป็นหนึ่งในแนวคิด DAX ที่สําคัญที่สุดที่ต้องทําความเข้าใจ บริบทใน DAX มีสองชนิด: บริบทแถวและบริบทตัวกรอง ก่อนอื่นเราจะดูบริบทของแถว
บริบทแถว
บริบทของแถวถูกคิดว่าเป็นแถวปัจจุบันได้ง่ายที่สุด จะใช้เมื่อใดก็ตามที่สูตรมีฟังก์ชันที่ใช้ตัวกรองเพื่อระบุแถวเดียวในตาราง ฟังก์ชันจะใช้บริบทของแถวสําหรับแต่ละแถวของตารางที่กําลังกรองอยู่ บริบทของแถวชนิดนี้มักใช้กับหน่วยวัด
บริบทตัวกรอง
บริบทของตัวกรองเข้าใจยากกว่าบริบทของแถวเล็กน้อย คุณสามารถนึกถึงบริบทของตัวกรองได้ง่ายที่สุดว่า: ตัวกรองอย่างน้อยหนึ่งตัวที่ใช้ในการคํานวณที่กําหนดผลลัพธ์หรือค่า
บริบทตัวกรองไม่มีอยู่แทนบริบทของแถว แต่จะใช้นอกเหนือจากบริบทของแถว ตัวอย่างเช่น เมื่อต้องการจํากัดค่าที่จะรวมไว้ในการคํานวณให้แคบลง คุณสามารถใช้บริบทตัวกรอง ซึ่งไม่เพียงแต่ระบุบริบทของแถว แต่ยังระบุค่าเฉพาะ (ตัวกรอง) ในบริบทของแถวนั้นด้วย
บริบทตัวกรองสามารถมองเห็นได้ง่ายในรายงานของคุณ ตัวอย่างเช่น เมื่อคุณเพิ่ม TotalCost ลงในการแสดงภาพ แล้วเพิ่ม ปีและภูมิภาค คุณกําลังกําหนดบริบทตัวกรองที่เลือกชุดย่อยของข้อมูลตามปีและภูมิภาคที่กําหนด
เหตุใดบริบทตัวกรองจึงมีความสําคัญต่อ DAX คุณได้เห็นว่าบริบทตัวกรองสามารถนําไปใช้ได้โดยการเพิ่มเขตข้อมูลลงในการแสดงภาพ บริบทตัวกรองยังสามารถนําไปใช้ในสูตร DAX โดยการกําหนดตัวกรองด้วยฟังก์ชัน เช่น ALL, RELATED, FILTER, CALCULATE, ตามความสัมพันธ์ และตามหน่วยวัดและคอลัมน์อื่นๆ ตัวอย่างเช่น ลองดูสูตรต่อไปนี้ในหน่วยวัดที่ชื่อว่า ยอดขายในร้าน:
เพื่อให้เข้าใจสูตรนี้ได้ดียิ่งขึ้นเราสามารถแยกย่อยได้เหมือนกับสูตรอื่น ๆ
สูตรนี้ประกอบด้วยองค์ประกอบไวยากรณ์ต่อไปนี้:
A. ชื่อหน่วยวัด ยอดขายในร้าน
B. ตัวดําเนินการเครื่องหมายเท่ากับ (=) ซึ่งระบุจุดเริ่มต้นของสูตร
C. ฟังก์ชัน CALCULATE ซึ่งประเมินนิพจน์เป็นอาร์กิวเมนต์ในบริบทที่ถูกปรับเปลี่ยนโดยตัวกรองที่ระบุ
D. วงเล็บ () ซึ่งล้อมรอบนิพจน์ที่มีอาร์กิวเมนต์อย่างน้อยหนึ่งอาร์กิวเมนต์
E. หน่วยวัด [ยอดขายรวม] ในตารางเดียวกันกับนิพจน์ หน่วยวัดยอดขายรวมมีสูตร: =SUM(Sales[SalesAmount])
F. เครื่องหมายจุลภาค (,) ซึ่งแยกอาร์กิวเมนต์นิพจน์แรกออกจากอาร์กิวเมนต์ตัวกรอง
G. คอลัมน์อ้างอิงที่มีคุณสมบัติครบถ้วน Channel[ChannelName] นี่คือบริบทแถวของเรา แต่ละแถวในคอลัมน์นี้ระบุช่องทาง เช่น ร้านค้า หรือ ออนไลน์
H. ค่าเฉพาะ Store เป็นตัวกรอง นี่คือบริบทตัวกรองของเรา
สูตรนี้ช่วยให้แน่ใจว่าเฉพาะค่ายอดขายที่กําหนดโดยหน่วยวัดยอดขายรวมเท่านั้นที่จะคํานวณสําหรับแถวในคอลัมน์ Channel[ChannelName] โดยมีค่า Store ใช้เป็นตัวกรอง
อย่างที่คุณสามารถจินตนาการได้ว่าความสามารถในการกําหนดบริบทตัวกรองภายในสูตรมีความสามารถมากมายและทรงพลัง ความสามารถในการอ้างอิงเฉพาะค่าเฉพาะในตารางที่เกี่ยวข้องเป็นเพียงตัวอย่างหนึ่งเท่านั้น ไม่ต้องกังวลหากคุณไม่เข้าใจบริบทอย่างถ่องแท้ในทันที เมื่อคุณสร้างสูตรของคุณเอง คุณจะเข้าใจบริบทได้ดียิ่งขึ้นและเหตุใดจึงมีความสําคัญใน DAX
บริบท QuickQuiz
- บริบทสองประเภทคืออะไร?
- บริบทตัวกรองคืออะไร
- บริบทของแถวคืออะไร
คําตอบมีให้ในตอนท้ายของบทความนี้
ข้อควรพิจารณา
พิจารณาว่าในขณะที่ตัวแก้ไข Power Query คํานึงถึง ตัวพิมพ์เล็กและใหญ่ DAX และกลไกจัดการ Analysis Services ที่ขับเคลื่อน Power BI จะไม่ คํานึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อข้อมูลถูกโหลดลงในส่วนหน้า โปรดคํานึงถึงความแตกต่างนี้เมื่อเขียนคิวรี DAX
สรุป
ตอนนี้คุณมีความเข้าใจพื้นฐานเกี่ยวกับแนวคิดที่สําคัญที่สุดใน DAX แล้ว คุณสามารถเริ่มสร้างสูตร DAX สําหรับหน่วยวัดได้ด้วยตัวคุณเอง DAX อาจเป็นเรื่องยากเล็กน้อยในการเรียนรู้ แต่มีแหล่งข้อมูลมากมายสําหรับคุณ หลังจากอ่านบทความนี้และทดลองใช้สูตรของคุณเองสองสามสูตรแล้ว คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับแนวคิดและสูตร DAX อื่นๆ ที่สามารถช่วยคุณแก้ปัญหาทางธุรกิจของคุณเองได้ มีทรัพยากร DAX มากมายที่พร้อมใช้งานสําหรับคุณ ที่สําคัญที่สุดคือการอ้างอิงนิพจน์การวิเคราะห์ข้อมูล (DAX)
เนื่องจาก DAX มีมาหลายปีแล้วในเครื่องมือ Microsoft BI อื่นๆ เช่น Power Pivot และแบบจําลองตาราง Analysis Services จึงมีแหล่งข้อมูลที่ยอดเยี่ยมมากมาย คุณสามารถค้นหาข้อมูลเพิ่มเติมได้ในหนังสือ เอกสารทางเทคนิค และบล็อกจากทั้ง Microsoft และผู้เชี่ยวชาญด้าน BI ชั้นนํา ศูนย์ทรัพยากร DAX ยังเป็นจุดเริ่มต้นที่ดีอีกด้วย
คําตอบ QuickQuiz
Syntax:
- ตรวจสอบความถูกต้องและป้อนหน่วยวัดลงในแบบจําลอง
- วงเล็บ []
Functions:
- ตารางและคอลัมน์
- Yes. สูตรสามารถมีฟังก์ชันที่ซ้อนกันได้สูงสุด 64 ฟังก์ชัน
- ฟังก์ชันข้อความ
Context:
- บริบทของแถวและบริบทตัวกรอง
- ตัวกรองอย่างน้อยหนึ่งตัวในการคํานวณที่กําหนดค่าเดียว
- แถวปัจจุบัน