ปรับใช้พื้นฐาน DAX ใน Power BI Desktop

บทความนี้มีไว้สำหรับผู้ใช้ที่ยังใหม่กับ Power BI Desktop ซึ่งมีคำแนะนำที่ง่ายและรวดเร็วแก่คุณเกี่ยวกับวิธีการที่คุณสามารถใช้นิพจน์การวิเคราะห์ข้อมูล (DAX) เพื่อแก้ปัญหาการคำนวณพื้นฐานและการวิเคราะห์ข้อมูลต่าง ๆ เราจะไปดูกันที่ข้อมูลแนวคิดบางอย่าง ชุดงานที่คุณสามารถได้ และการตรวจสอบความรู้เพื่อทดสอบสิ่งที่คุณได้เรียนรู้ไป หลังจากจบบทความนี้ คุณควรมีความเข้าใจที่ดีเกี่ยวกับแนวคิดพื้นฐานสำคัญที่สุดของ DAX

DAX คืออะไร

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

ทำไม DAX จึงสำคัญมาก

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

สิ่งที่จำเป็นต้องมี

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

เราจะมุ่งเน้นไปที่การทำความเข้าใจสูตร DAX ที่ใช้ในการคำนวณต่างๆ โดยเฉพาะอย่างยิ่งในหน่วยวัดและคอลัมน์จากการคำนวณ คุณควรจะมีความคุ้นเคยอยู่แล้วกับการใช้ Power BI Desktop เพื่อนำเข้าข้อมูล และเพิ่มเขตข้อมูลในรายงาน และควรมีความคุ้นเคยกับแนวคิดพื้นฐานของหน่วยวัดและคอลัมน์จากคำนวณด้วย

เวิร์กบุ๊กตัวอย่าง

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

มาเริ่มกันเลย!

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

ไวยากรณ์

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

ไวยากรณ์ของสูตร DAX

สูตรนี้ประกอบด้วยองค์ประกอบไวยากรณ์ดังต่อไปนี้:

A. ชื่อหน่วยวัด Total Sales

B ตัวเครื่องหมายเท่ากับ ( = ) ซึ่งระบุจุดเริ่มต้นของสูตร เมื่อคำนวณแล้ว ก็จะส่งคืนผลลัพธ์

C ฟังก์ชัน DAX SUM ซึ่งรวมยอดทั้งหมดในคอลัมน์ Sales[SalesAmount] คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชันต่างๆ ในภายหลัง

D วงเล็บ () ที่ล้อมรอบนิพจน์ที่ประกอบด้วยอย่างน้อยหนึ่งอาร์กิวเมนต์ ฟังก์ชันส่วนใหญ่ต้องการอย่างน้อยหนึ่งอาร์กิวเมนต์ อาร์กิวเมนต์จะส่งผ่านค่าไปยังฟังก์ชัน

ตะวัน ออก ตารางอ้างอิง ยอดขาย

F คอลัมน์อ้างอิง [SalesAmount] ในตารางยอดขาย ด้วยอาร์กิวเมนต์นี้ ฟังก์ชัน SUM จะทราบได้ว่าจะรวมผล SUM ในคอลัมน์ใดบ้าง

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

สำหรับหน่วยวัดชื่อ ยอดขายรวม ให้คำนวณ (=) SUM ของค่าในคอลัมน์ [SalesAmount] ในตารางยอดขาย

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

คุณอาจกำลังคิดว่า "หน่วยวัดนี้ก็ทำอย่างเดียวกันกับที่ฉันทำเพียงแค่เพิ่มเขตข้อมูล SalesAmount ลงในรายงานของฉันไม่ใช่หรือ" ก็ใช่ แต่มีเหตุผลที่ดีในการสร้างหน่วยวัดของเราเองขึ้นมาซึ่งจะหาผลรวมของค่าจากเขตข้อมูล SalesAmount: เราสามารถใช้สิ่งนี้เป็นอาร์กิวเมนต์ในสูตรอื่น ๆ ได้ ซึ่งอาจดูสับสนเล็กน้อยในตอนนี้ แต่เมื่อคุณเพิ่มพูนทักษะเกี่ยวกับสูตร DAX ความเข้าใจเกี่ยวกับหน่วยวัดนี้จะทำให้สูตรและแบบจำลองของคุณมีประสิทธิภาพมากยิ่งขึ้น อันที่จริงแล้ว คุณจะเห็นหน่วยวัดยอดขายรวมปรากฏขึ้นเป็นอาร์กิวเมนต์ในสูตรอื่นในภายหลัง

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

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

หมายเหตุ

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

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

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

งาน: สร้างสูตรหน่วยวัด

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

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

  3. ในแถบสูตร แทนที่ หน่วยวัด ด้วยการป้อนชื่อหน่วยวัดใหม่ Previous Quarter Sales

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

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

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

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

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

    นี่เป็นอาร์กิวเมนต์นิพจน์แรกสำหรับฟังก์ชัน CALCULATE ของเรา

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

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

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

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

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

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

    ยอดขายไตรมาสก่อนหน้า = CALCULATE(SUM(Sales[SalesAmount]), PREVIOUSQUARTER(Calendar[DateKey]))

  10. เลือกเครื่องหมายถูก ไอคอนเครื่องหมายถูก ในแถบสูตรหรือกด Enter เพื่อตรวจสอบสูตร และเพิ่มไปยังแบบจำลอง

คุณทำได้แล้ว! คุณเพิ่งสร้างหน่วยวัดที่ซับซ้อนโดยใช้ DAX และไม่ใช่เรื่องง่ายๆ เลย สูตรนี้จะทำงานเพื่อคำนวณยอดขายรวมสำหรับไตรมาสก่อนหน้าโดยขึ้นอยู่กับตัวกรองที่ใช้ในรายงาน ตัวอย่างเช่น ถ้าเราใส่ SalesAmount และหน่วยวัด Previous Quarter Sales ใหม่ของเราในแผนภูมิ แล้วเพิ่ม Year และ QuarterOfYear เป็นตัวแบ่งส่วนข้อมูล เราจะได้รับข้อมูลบางอย่างดังนี้:

แผนภูมิ Previous Quarter Sales และ SalesAmount

คุณเพิ่งได้รับคำแนะนำเกี่ยวกับแง่มุมที่สำคัญต่าง ๆ ของสูตร DAX:

  • สูตรนี้ประกอบด้วยสองฟังก์ชัน PREVIOUSQUARTER ซึ่งเป็นฟังก์ชันตัวแสดงเวลาจะซ้อนกันเป็นอาร์กิวเมนต์ที่ส่งผ่านไปยังฟังก์ชันตัวกรอง CALCULATE

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

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

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

แบบทดสอบอย่างเร็วเรื่องไวยากรณ์

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

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

  2. อะไรที่ต้องล้อมรอบชื่อคอลัมน์ในสูตร DAX อยู่เสมอ

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

ฟังก์ชัน

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

DAX มีประเภทของฟังก์ชันดังต่อไปนี้: วันที่และเวลาตัวแสดงเวลาข้อมูล ฟังก์ชันเชิงตรรกะ คณิตศาสตร์สถิติข้อความหลัก/รอง และอื่น ๆ ถ้าคุณคุ้นเคยกับฟังก์ชันในสูตร Excel ฟังก์ชันหลายฟังก์ชันใน DAX อาจจะดูคล้ายคลึงกัน อย่างไรก็ตาม ฟังก์ชัน DAX จะไม่ซ้ำกันในลักษณะดังต่อไปนี้:

  • ฟังก์ชัน DAX จะอ้างอิงถึงคอลัมน์หรือตารางทั้งหมดเสมอ ถ้าคุณต้องการใช้ค่าเฉพาะจากตารางหรือคอลัมน์เท่านั้น คุณสามารถเพิ่มตัวกรองลงในสูตรได้

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

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

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

  • Excel มีฟังก์ชันที่ได้รับความนิยม ได้แก่ VLOOKUP ฟังก์ชัน DAX ไม่ได้ใช้เซลล์หรือช่วงเซลล์ในการอ้างอิงเหมือนกับ VLOOKUP ใน Excel ฟังก์ชัน DAX จะใช้คอลัมน์หรือตารางในการอ้างอิง โปรดทราบว่า ใน Power BI Desktop คุณกำลังทำงานโดยใช้แบบจำลองข้อมูลเชิงสัมพันธ์ การค้นหาค่าในตารางอื่นทำได้ง่าย และในกรณีส่วนใหญ่ คุณไม่จำเป็นต้องสร้างสูตรใด ๆ เลย

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

แบบทดสอบอย่างเร็วเรื่องฟังก์ชัน

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

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

Context

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

บริบทแถว

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

บริบทตัวกรอง

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

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

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

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

หน่วยวัด Store Sales

เพื่อให้เข้าใจสูตรนี้ได้ดียิ่งขึ้น เราสามารถแยกย่อยลงมาได้เช่นเดียวกับสูตรอื่นๆ

สูตรนี้ประกอบด้วยองค์ประกอบไวยากรณ์ดังต่อไปนี้:

A. ชื่อหน่วยวัด Store Sales

B ตัวเครื่องหมายเท่ากับ ( = ) ซึ่งระบุจุดเริ่มต้นของสูตร

C ฟังก์ชัน CALCULATE ซึ่งจะประเมินนิพจน์เป็นอาร์กิวเมนต์ในบริบทที่ปรับเปลี่ยนตามตัวกรองที่ระบุ

D วงเล็บ () ซึ่งจะล้อมรอบนิพจน์ที่ประกอบด้วยอย่างน้อยหนึ่งอาร์กิวเมนต์

ตะวัน ออก หน่วยวัด [Total Sales] ในตารางเดียวกันเป็นนิพจน์ หน่วยวัด Total Sales มีสูตรดังนี้: = SUM(Sales[SalesAmount])

F เครื่องหมายจุลภาค (,) ซึ่งแยกอาร์กิวเมนต์นิพจน์แรกออกจากอาร์กิวเมนต์ตัวกรอง

กรัม คอลัมน์อ้างอิงแบบเต็ม Channel[ChannelName] นี่คือบริบทแถวของเรา แต่ละแถวในคอลัมน์นี้จะระบุช่องทาง เช่น Store หรือ Online

H ค่าเฉพาะ Store เป็นตัวกรอง นี่คือบริบทตัวกรองของเรา

สูตรนี้ช่วยให้มั่นใจว่าเฉพาะค่ายอดขายที่กำหนดโดยหน่วยวัด Total Sales เท่านั้นที่จะถูกคำนวณเฉพาะสำหรับแถวในคอลัมน์ Channel[ChannelName] โดยใช้ค่า Store เป็นตัวกรองเท่านั้น

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

แบบทดสอบอย่างเร็วเรื่องบริบท

  1. บริบทสองชนิดมีอะไรบ้าง
  2. บริบทตัวกรองคืออะไร
  3. บริบทแถวคืออะไร

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

สรุป

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

เนื่องจาก DAX มีการใช้งานมานานหลายปีแล้วในเครื่องมือ Microsoft BI อื่น ๆ เช่น แบบจำลอง Power Pivot และแบบจำลอง Analysis Services Tabular จึงมีข้อมูลที่ดีมากมาย คุณสามารถค้นหาข้อมูลเพิ่มเติมได้ในหนังสือ เอกสารทางเทคนิค และบล็อกจากทั้ง Microsoft และผู้เชี่ยวชาญด้าน BI ชั้นนำ Wiki ศูนย์ทรัพยากร DAX บน TechNet เป็นแหล่งที่ยอดเยี่ยมในการเริ่มต้นเช่นกัน

คำตอบของแบบทดสอบอย่างเร็ว

ไวยากรณ์:

  1. ตรวจสอบและใส่หน่วยวัดลงในแบบจำลอง
  2. วงเล็บเหลี่ยม []

ฟังก์ชัน:

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

บริบท:

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