แชร์ผ่าน


เรียนรู้พื้นฐาน DAX ใน Power BI Desktop

ผู้ใช้ที่เพิ่งเริ่มใช้ 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 อย่างง่ายสําหรับหน่วยวัด:

สกรีนช็อตของสูตร 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 มีคุณลักษณะคําแนะนํา ซึ่งใช้ในการสร้างสูตรที่ถูกต้องตามหลักไวยากรณ์โดยช่วยคุณเลือกองค์ประกอบที่ถูกต้อง

มาสร้างสูตรตัวอย่างกัน งานนี้จะช่วยให้คุณเข้าใจไวยากรณ์ของสูตรมากขึ้น และคุณลักษณะคําแนะนําในแถบสูตรสามารถช่วยคุณได้อย่างไร

งาน: สร้างสูตรการวัด

  1. ดาวน์โหลด และเปิดไฟล์ Power BI Desktop ตัวอย่าง Contoso Sales

  2. ในมุมมองรายงาน ในรายการเขตข้อมูล ให้คลิกขวาที่ตารางยอดขาย แล้วเลือก หน่วยวัดใหม่

  3. ในแถบสูตร ให้แทนที่การวัดผลโดยป้อนชื่อหน่วยวัดใหม่ ยอดขายไตรมาสก่อนหน้า

  4. หลังจากเครื่องหมายเท่ากับ ให้พิมพ์ตัวอักษรสองสามตัวแรก CAL แล้วคลิกสองครั้งที่ฟังก์ชันที่คุณต้องการใช้ ในสูตรนี้ คุณต้องการใช้ฟังก์ชัน CALCULATE

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

  5. หลังวงเล็บเปิด ( สําหรับฟังก์ชัน CALCULATE ให้พิมพ์ SUM ตามด้วยวงเล็บเปิดอื่น (.

    ต่อไป เราจะส่งอาร์กิวเมนต์ไปยังฟังก์ชัน SUM

  6. เริ่มพิมพ์ Sal แล้วเลือก Sales[SalesAmount] ตามด้วยวงเล็บปิด )

    ขั้นตอนนี้จะสร้างอาร์กิวเมนต์นิพจน์แรกสําหรับฟังก์ชัน CALCULATE ของเรา

  7. พิมพ์เครื่องหมายจุลภาค (,) ตามด้วยช่องว่างเพื่อระบุตัวกรองแรก แล้วพิมพ์ PREVIOUSQUARTER

    คุณจะใช้ฟังก์ชันข่าวกรองเวลาไตรมาสก่อนหน้าเพื่อกรองผลลัพธ์ SUM ตามไตรมาสก่อนหน้า

  8. หลังจากวงเล็บเปิด (สําหรับฟังก์ชัน PREVIOUSQUARTER ให้พิมพ์ Calendar[DateKey]

    ฟังก์ชัน PREVIOUSQUARTER มีอาร์กิวเมนต์หนึ่งคอลัมน์ที่มีช่วงวันที่ที่อยู่ติดกัน ในกรณีของเรานั่นคือคอลัมน์ DateKey ในตารางปฏิทิน

  9. ปิดทั้งอาร์กิวเมนต์ที่ส่งผ่านไปยังฟังก์ชัน PREVIOUSQUARTER และฟังก์ชัน CALCULATE โดยพิมพ์วงเล็บปิดสองวงเล็บ ))

    สูตรของคุณควรมีลักษณะดังนี้:

    ยอดขายไตรมาสก่อนหน้า = CALCULATE(SUM(ยอดขาย[ยอดขาย]), PBEFOREOUSQUARTER(ปฏิทิน[DateKey]))

  10. เลือก ไอคอนเครื่องหมายถูก เครื่องหมาย ถูก ในแถบสูตร หรือกด 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

  1. ปุ่มนี้บนแถบสูตรทําอะไรได้บ้าง

    การเลือกปุ่ม

  2. สิ่งที่ล้อมรอบชื่อคอลัมน์ในสูตร 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

  1. ฟังก์ชันอ้างอิงอะไรเสมอ
  2. สูตรสามารถมีฟังก์ชันมากกว่าหนึ่งฟังก์ชันได้หรือไม่?
  3. คุณจะใช้ฟังก์ชันประเภทใดในการต่อสตริงข้อความสองสตริงเป็นสตริงเดียว

คําตอบมีให้ในตอนท้ายของบทความนี้

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

  1. บริบทสองประเภทคืออะไร?
  2. บริบทตัวกรองคืออะไร
  3. บริบทของแถวคืออะไร

คําตอบมีให้ในตอนท้ายของบทความนี้

ข้อควรพิจารณา

พิจารณาว่าในขณะที่ตัวแก้ไข 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:

  1. ตรวจสอบความถูกต้องและป้อนหน่วยวัดลงในแบบจําลอง
  2. วงเล็บ []

Functions:

  1. ตารางและคอลัมน์
  2. Yes. สูตรสามารถมีฟังก์ชันที่ซ้อนกันได้สูงสุด 64 ฟังก์ชัน
  3. ฟังก์ชันข้อความ

Context:

  1. บริบทของแถวและบริบทตัวกรอง
  2. ตัวกรองอย่างน้อยหนึ่งตัวในการคํานวณที่กําหนดค่าเดียว
  3. แถวปัจจุบัน