เรียนรู้พื้นฐาน 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
ไวยากรณ์
ก่อนที่คุณจะสร้างสูตรของคุณเอง ลองมาดูที่ไวยากรณ์ของสูตร DAX กันก่อน ไวยากรณ์ประกอบด้วยองค์ประกอบต่าง ๆ ที่ประกอบเป็นสูตรหรือกล่าวให้ง่ายยิ่งขึ้นก็คือ วิธีเขียนสูตร ตัวอย่างเช่น นี่คือสูตร DAX อย่างง่ายสําหรับหน่วยวัด:
สูตรนี้ประกอบด้วยองค์ประกอบไวยากรณ์ต่อไปนี้:
ตอบ: ชื่อหน่วยวัด Total Sales
B. ตัวดําเนินการเครื่องหมายเท่ากับ (=) ซึ่งระบุจุดเริ่มต้นของสูตร เมื่อคํานวณแล้ว จะส่งกลับผลลัพธ์
C. ฟังก์ชัน DAX SUM ซึ่งรวมยอดทั้งหมดในคอลัมน์ Sales[SalesAmount] คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชันต่างๆ ในภายหลัง
D. วงเล็บ () ที่ล้อมรอบนิพจน์ที่ประกอบด้วยอย่างน้อยหนึ่งอาร์กิวเมนต์ ฟังก์ชันส่วนใหญ่จําเป็นต้องมีอย่างน้อยหนึ่งอาร์กิวเมนต์ อาร์กิวเมนต์ ส่งผ่านค่าไปยังฟังก์ชัน
ตะวัน ออก ตารางอ้างอิง ยอดขาย
F คอลัมน์ อ้างอิง [SalesAmount] ในตารางยอดขาย ด้วยอาร์กิวเมนต์นี้ ฟังก์ชัน SUM จะทราบได้ว่าจะรวมผล SUM ในคอลัมน์ใด
เมื่อคุณพยายามทําความเข้าใจสูตร DAX การแบ่งย่อยแต่ละองค์ประกอบให้เป็นภาษาที่คุณคิดและพูดทุกวันมักจะเป็นประโยชน์ ตัวอย่างเช่น คุณสามารถอ่านสูตรนี้ได้เป็น:
สําหรับหน่วยวัดที่ชื่อ Total Sales ให้คํานวณ (=) SUM ของค่าในคอลัมน์ [SalesAmount] ในตารางยอดขาย
เมื่อเพิ่มไปยังรายงานแล้ว หน่วยวัดนี้จะคํานวณและส่งกลับค่าโดยการหาผลรวมยอดขายสําหรับแต่ละเขตข้อมูลอื่น ๆ ที่รวมอยู่ด้วย เช่น Cell โทร s ในสหรัฐอเมริกา
คุณอาจกําลังคิดว่า "หน่วยวัดนี้ก็ทําอย่างเดียวกันกับการที่ฉันเพียงแค่เพิ่มเขตข้อมูล SalesAmount ลงในรายงานของฉันไม่ใช่หรือ" ก็ใช่ แต่มีเหตุผลที่ดีในการสร้างหน่วยวัดของเราเองขึ้นมาซึ่งจะหาผลรวมของค่าจากเขตข้อมูล SalesAmount: เราสามารถใช้เป็นอาร์กิวเมนต์ในสูตรอื่น ๆ ได้ โซลูชันนี้อาจดูสับสนเล็กน้อยในตอนนี้ แต่เมื่อคุณเพิ่มพูนทักษะเกี่ยวกับสูตร DAX การทราบหน่วยวัดนี้จะทําให้สูตรและแบบจําลองของคุณมีประสิทธิภาพมากขึ้น อันที่จริงแล้ว คุณจะเห็นหน่วยวัดยอดขายรวมแสดงเป็นอาร์กิวเมนต์ในสูตรอื่นในภายหลัง
ลองมาดูบางอย่างเพิ่มเติมเกี่ยวกับสูตรนี้กัน โดยเฉพาะอย่างยิ่ง เราได้แนะนําฟังก์ชัน SUM ฟังก์ชันเป็นสูตรที่เขียนไว้ล่วงหน้าซึ่งทําให้สามารถทําการคํานวณที่ซับซ้อนและจัดการกับตัวเลข วันที่ เวลา ข้อความ และอื่น ๆ ได้ง่ายขึ้น คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชันต่างๆ ในภายหลัง
คุณยังเห็นว่าคอลัมน์ [SalesAmount] ถูกนําหน้าด้วยตารางยอดขายซึ่งมีคอลัมน์ดังกล่าวอยู่ในนั้น ชื่อนี้เรียกว่าชื่อคอลัมน์ที่ตรงตามหลักเกณฑ์ซึ่งรวมชื่อคอลัมน์ที่นําหน้าด้วยชื่อตาราง คอลัมน์ที่อ้างอิงในตารางเดียวกันไม่จําเป็นต้องมีชื่อตารางรวมอยู่ในสูตร ซึ่งสามารถทําให้สูตรที่ยาวซึ่งอ้างอิงคอลัมน์จํานวนมากสั้นลงและอ่านง่ายขึ้น อย่างไรก็ตาม เป็นการดีที่จะรวมชื่อตารางไว้ในสูตรหน่วยวัดของคุณด้วยแม้จะอยู่ในตารางเดียวกัน
หมายเหตุ
ถ้าชื่อตารางประกอบด้วยช่องว่าง คําสําคัญที่สงวนไว้ หรืออักขระที่ไม่ได้รับอนุญาต คุณต้องใส่ชื่อตารางไว้ในเครื่องหมายอัญประกาศเดี่ยว นอกจากนี้ คุณยังจําเป็นต้องใส่ชื่อตารางในเครื่องหมายอัญประกาศถ้าชื่อประกอบด้วยอักขระใด ๆ ที่อยู่นอกช่วงอักขระพยัญชนะผสมตัวเลข ANSI โดยไม่ต้องคํานึงถึงว่าตําแหน่งที่ตั้งของคุณสนับสนุนชุดอักขระหรือไม่
เป็นสิ่งสําคัญที่สูตรของคุณมีไวยากรณ์ที่ถูกต้อง ในกรณีส่วนใหญ่ ถ้าไวยากรณ์ไม่ถูกต้อง ข้อผิดพลาดทางไวยากรณ์จะถูกส่งกลับมา ในกรณีอื่น ๆ ไวยากรณ์อาจถูกต้อง แต่ค่าที่ส่งกลับอาจไม่ใช่สิ่งที่คุณคาดคิด ตัวแก้ไข DAX ใน Power BI Desktop มีคุณลักษณะคําแนะนํา ที่ใช้ในการสร้างสูตรที่ถูกต้องทางไวยากรณ์โดยช่วยให้คุณสามารถเลือกองค์ประกอบที่ถูกต้องได้
มาสร้างสูตรตัวอย่างกัน งานนี้จะช่วยให้คุณเข้าใจไวยากรณ์ของสูตรเพิ่มเติมและวิธีที่คุณลักษณะคําแนะนําในแถบสูตรสามารถช่วยคุณได้
งาน: สร้างสูตรหน่วยวัด
ดาวน์โหลด และเปิดไฟล์ Power BI Desktop ตัวอย่างการขาย Contoso
ในมุมมองรายงาน ในรายการเขตข้อมูล ให้ คลิกขวาที่ตาราง ยอดขาย จากนั้นเลือก หน่วยวัดใหม่
ในแถบสูตร แทนที่ หน่วยวัด โดยการป้อนชื่อหน่วยวัดใหม่ Previous Quarter Sales
หลังจากเครื่องหมายเท่ากับ พิมพ์ตัวอักษรแรก 2-3 CAL แล้วคลิกสองครั้งที่ฟังก์ชันที่คุณต้องการใช้ ในสูตรนี้ คุณต้องการใช้ฟังก์ชัน CALCULATE
คุณจะใช้ฟังก์ชัน CALCULATE เพื่อกรองจํานวนที่เราต้องการหาผลรวมโดยอาร์กิวเมนต์ที่ส่งผ่านไปยังฟังก์ชัน CALCULATE ฟังก์ชันชนิดนี้เรียกว่าฟังก์ชันการซ้อน ฟังก์ชัน CALCULATE มีอย่างน้อยสองอาร์กิวเมนต์ อาร์กิวเมนต์แรกคือนิพจน์ที่จะประเมิน และอาร์กิวเมนต์ที่สองเป็นตัวกรอง
หลังจากวงเล็บเปิด (สําหรับฟังก์ชัน CALCULATE พิมพ์ SUM ตามด้วยวงเล็บเปิดอื่น (
ถัดไป เราจะส่งผ่านอาร์กิวเมนต์ไปยังฟังก์ชัน SUM
เริ่มพิมพ์ Sal แล้วเลือก Sales[SalesAmount] ตามด้วยวงเล็บปิด )
ขั้นตอนนี้สร้างอาร์กิวเมนต์นิพจน์แรกสําหรับฟังก์ชัน CALCULATE ของเรา
พิมพ์เครื่องหมายจุลภาค (,) ตามด้วยช่องว่างเพื่อระบุตัวกรองแรก แล้วพิมพ์ PREVIOUSQUARTER
คุณจะใช้ฟังก์ชันตัวแสดงเวลา PREVIOUSQUARTER เพื่อกรองผลลัพธ์ SUM ตามไตรมาสก่อนหน้า
หลังจากวงเล็บเปิด (สําหรับฟังก์ชัน PREVIOUSQUARTER พิมพ์ Calendar[DateKey]
ฟังก์ชัน PREVIOUSQUARTER มีหนึ่งอาร์กิวเมนต์ ซึ่งเป็นคอลัมน์ที่มีช่วงวันที่ต่อเนื่องกัน ในกรณีของเรา นั่นคือคอลัมน์ DateKey ในตารางปฏิทิน
ปิดทั้งสองอาร์กิวเมนต์ที่ถูกส่งผ่านไปยังฟังก์ชัน PREVIOUSQUARTER และฟังก์ชัน CALCULATE โดยพิมพ์วงเล็บปิดสองอัน))
ตอนนี้สูตรของคุณควรมีลักษณะดังนี้:
ยอดขายไตรมาสก่อนหน้า = CALCULATE(SUM(Sales[SalesAmount]), PREVIOUSQUARTER(Calendar[DateKey]))
เลือกเครื่องหมายถูก ในแถบสูตรหรือกด Enter เพื่อตรวจสอบสูตรและเพิ่มลงในตารางยอดขาย
คุณทำได้แล้ว! คุณเพิ่งสร้างหน่วยวัดที่ซับซ้อนโดยใช้ DAX สูตรนี้จะทํางานเพื่อคํานวณยอดขายทั้งหมดสําหรับไตรมาสก่อนหน้าโดยขึ้นอยู่กับตัวกรองที่ใช้ในรายงาน ตัวอย่างเช่น เราสามารถใส่ SalesAmount และหน่วยวัด Previous Quarter Sales ใหม่ของเราจากตารางยอดขายลงในแผนภูมิคอลัมน์แบบกลุ่มได้ จากนั้นจากตารางปฏิทิน เพิ่มปีเป็นตัวแบ่งส่วนข้อมูล แล้วเลือกปี 2011 หลังจากนั้นเพิ่ม QuarterOfYear เป็นตัวแบ่งส่วนข้อมูลอื่นและเลือก 4 และเราจะได้รับแผนภูมิดังนี้:
โปรดทราบว่าแบบจําลองตัวอย่างประกอบด้วยข้อมูลยอดขายเพียงเล็กน้อยจาก 1/1/2011 ถึง 1/19/2013 ถ้าคุณเลือกปีหรือไตรมาสที่ SalesAmount ไม่สามารถหาผลรวมได้ หรือหน่วยวัดใหม่ของคุณจะไม่สามารถคํานวณข้อมูลยอดขายสําหรับไตรมาสปัจจุบันหรือก่อนหน้าได้ จะไม่มีข้อมูลสําหรับรอบระยะเวลานั้นแสดงอยู่ ตัวอย่างเช่น ถ้าคุณเลือกปี 2011 สําหรับปีและ 1 สําหรับ QuarterOfYear จะไม่มีการแสดงข้อมูลสําหรับยอดขายไตรมาสก่อนหน้า เนื่องจากไม่มีข้อมูลสําหรับไตรมาสที่สี่ของปี 2010
คุณได้รับการแนะนําให้รู้จักกับแง่มุมที่สําคัญต่าง ๆ ของสูตร DAX:
สูตรนี้ประกอบด้วยสองฟังก์ชัน PREVIOUSQUARTER ซึ่งเป็นฟังก์ชันตัวแสดงเวลาจะซ้อนกันเป็นอาร์กิวเมนต์ที่ส่งผ่านไปยังฟังก์ชันตัวกรอง CALCULATE
สูตร DAX สามารถมีฟังก์ชันที่ซ้อนกันได้สูงสุด 64 ฟังก์ชัน ไม่น่าเคยมีสูตรที่ประกอบด้วยฟังก์ชันที่ซ้อนกันมากเช่นนี้ อันที่จริงแล้ว สูตรดังกล่าวสร้างและแก้ไขจุดบกพร่องได้ยาก และไม่อาจทําได้อย่างรวดเร็วด้วย
ในสูตรนี้ คุณยังใช้ตัวกรองอีกด้วย ตัวกรองจะช่วยทําให้สิ่งที่จะคํานวณแคบลง ในกรณีนี้ คุณได้เลือกตัวกรองหนึ่งตัวเป็นอาร์กิวเมนต์ ซึ่งแท้จริงแล้วเป็นผลลัพธ์ของฟังก์ชันอื่น คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับตัวกรองต่างๆ ในภายหลัง
คุณใช้ฟังก์ชัน CALCULATE ฟังก์ชันนี้เป็นหนึ่งในฟังก์ชันที่มีประสิทธิภาพที่สุดใน DAX เมื่อคุณเขียนแบบจําลองและสร้างสูตรที่ซับซ้อนมากขึ้น ก็มีแนวโน้มว่าคุณจะต้องใช้ฟังก์ชันนี้หลายครั้ง แม้ว่าการอภิปรายเพิ่มเติมเกี่ยวกับฟังก์ชัน CALCULATE จะอยู่นอกขอบเขตของบทความนี้ แต่เมื่อใดที่คุณต้องการศึกษาเพิ่มเติมเกี่ยวกับ DAX ควรให้ความสนใจเป็นพิเศษ
แบบทดสอบอย่างเร็วเกี่ยวกับไวยากรณ์
ปุ่มนี้บนแถบสูตรทําอะไรได้บ้าง
อะไรที่ล้อมรอบชื่อคอลัมน์ในสูตร DAX อยู่เสมอ
คําตอบมีให้ไว้ในตอนท้ายของบทความนี้
ฟังก์ชัน
ฟังก์ชันคือสูตรที่กําหนดไว้ล่วงหน้าซึ่งดําเนินการคํานวณโดยใช้ค่าเฉพาะ ที่เรียกว่า อาร์กิวเมนต์ ตามลําดับหรือโครงสร้างเฉพาะ อาร์กิวเมนต์สามารถเป็นฟังก์ชันอื่น ๆ สูตร นิพจน์ การอ้างอิงคอลัมน์ ตัวเลข ข้อความ ค่าตรรกะ เช่น TRUE หรือ FALSE หรือค่าคงที่
DAX มีประเภทของฟังก์ชันดังต่อไปนี้: วันที่และเวลา ตัวแสดงเวลา ข้อมูล ฟังก์ชันเชิงตรรกะ คณิตศาสตร์สถิติข้อความหลัก/รอง และอื่น ๆ ถ้าคุณคุ้นเคยกับฟังก์ชันในสูตร Excel ฟังก์ชันหลายฟังก์ชันใน DAX จะปรากฏคล้ายกับคุณ ฟังก์ชันที่มีหลายฟังก์ชันใน Excel อาจมีลักษณะคล้ายกับคุณ อย่างไรก็ตาม ฟังก์ชัน DAX จะไม่ซ้ํากันในวิธีต่อไปนี้:
ฟังก์ชัน DAX จะอ้างอิงถึงคอลัมน์หรือตารางทั้งหมดเสมอ ถ้าคุณต้องการใช้ค่าเฉพาะจากตารางหรือคอลัมน์เท่านั้น คุณสามารถเพิ่มตัวกรองลงในสูตรได้
ถ้าคุณต้องการกําหนดการคํานวณเองแบบทีละแถว DAX มีฟังก์ชันที่ช่วยให้คุณใช้ค่าแถวปัจจุบันหรือค่าที่เกี่ยวข้องเช่น ชนิดของอาร์กิวเมนต์เพื่อทําการคํานวณตามบริบท คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับบริบทในภายหลัง
DAX มีฟังก์ชันต่าง ๆ ที่ส่งคืนตารางแทนที่จะเป็นค่า ตารางจะไม่แสดงไว้ แต่จะใช้เพื่อให้ข้อมูลป้อนเข้าไปยังฟังก์ชันอื่น ๆ ตัวอย่างเช่น คุณสามารถเรียกใช้ตารางแล้วนับค่าที่แตกต่างกันในนั้น หรือคํานวณผลรวมแบบไดนามิกผ่านตารางหรือคอลัมน์ที่กรองแล้ว
DAX มีฟังก์ชันตัวแสดงเวลาต่าง ๆ ฟังก์ชันเหล่านี้ช่วยให้คุณสามารถกําหนดหรือเลือกช่วงวันที่ และดําเนินการคํานวณแบบไดนามิกตามสิ่งเหล่านั้นได้ ตัวอย่างเช่น คุณสามารถเปรียบเทียบผลรวมตลอดระยะเวลาแบบขนาน
Excel มีฟังก์ชันที่ได้รับความนิยม คือ VLOOKUP ฟังก์ชัน DAX ไม่ได้ใช้เซลล์หรือช่วงเซลล์ในการอ้างอิงเหมือนกับ VLOOKUP ใน Excel ฟังก์ชัน DAX จะใช้คอลัมน์หรือตารางในการอ้างอิง โปรดทราบว่า ใน Power BI Desktop คุณกําลังทํางานโดยใช้แบบจําลองข้อมูลเชิงสัมพันธ์ การค้นหาค่าในตารางอื่นเป็นเรื่องง่าย และในกรณีส่วนใหญ่ คุณไม่จําเป็นต้องสร้างสูตรใด ๆ เลย
ตามที่คุณเห็น ฟังก์ชันใน DAX สามารถช่วยให้คุณสร้างสูตรที่มีประสิทธิภาพ เราเพียงแค่กล่าวถึงพื้นฐานของฟังก์ชันเท่านั้น เมื่อคุณเพิ่มพูนทักษะเกี่ยวกับ DAX คุณก็จะสร้างสูตรโดยใช้ฟังก์ชันที่แตกต่างกันได้มากมาย หนึ่งในตําแหน่งที่ดีที่สุดเพื่อเรียนรู้รายละเอียดเกี่ยวกับฟังก์ชัน DAX แต่ละฟังก์ชันจะอยู่ใน การอ้างอิงฟังก์ชัน DAX
แบบทดสอบอย่างเร็วสําหรับฟังก์ชัน
- ฟังก์ชันอ้างอิงถึงสิ่งใดเสมอ
- สูตรหนึ่งสามารถประกอบด้วยฟังก์ชันมากกว่าหนึ่งได้หรือไม่
- คุณจะใช้ฟังก์ชันประเภทใดเพื่อเชื่อมสองสตริงข้อความเข้าด้วยกันเป็นสตริงเดียว
คําตอบมีให้ไว้ในตอนท้ายของบทความนี้
Context
บริบทเป็นแนวคิด DAX ที่สําคัญที่สุดข้อหนึ่งที่ต้องทําความเข้าใจ มีบริบทอยู่สองชนิดใน DAX ได้แก่ บริบทแถวและบริบทตัวกรอง ก่อนอื่นเราจะมาดูที่บริบทแถว
บริบทแถว
บริบทแถวที่นึกถึงได้ง่ายที่สุดคือแถวปัจจุบัน การดําเนินการนี้จะนําไปใช้เมื่อใดก็ตามที่สูตรมีฟังก์ชันที่ใช้ตัวกรองเพื่อระบุแถวเดียวในตาราง ฟังก์ชันจะใช้บริบทแถวสําหรับแต่ละแถวของตารางซึ่งทําการกรองโดยธรรมชาติ บริบทแถวชนิดนี้ใช้บ่อยที่สุดกับหน่วยวัด
บริบทตัวกรอง
บริบทตัวกรองจะเข้าใจได้ยากกว่าบริบทแถวเล็กน้อย คุณสามารถนึกภาพบริบทตัวกรองได้ง่ายที่สุดเป็น: ตัวกรองอย่างน้อยหนึ่งตัวที่ใช้ในการคํานวณที่กําหนดผลลัพธ์หรือค่า
บริบทตัวกรองจะไม่มีอยู่แทนที่บริบทแถว แต่จะใช้เพิ่มเติมจากบริบทแถว ตัวอย่างเช่น เพื่อทําให้ค่าแคบลงเพื่อรวมอยู่ในการคํานวณ คุณสามารถใช้บริบทตัวกรองซึ่งไม่เพียงจะระบุบริบทแถวเท่านั้น แต่ยังระบุถึงค่าเฉพาะ (ตัวกรอง) ในบริบทแถวด้วย
บริบทตัวกรองจะเห็นได้อย่างง่ายดายในรายงานของคุณ ตัวอย่างเช่น เมื่อคุณเพิ่ม TotalCost ในการแสดงภาพ แล้วเพิ่ม Year และ Region คุณกําลังกําหนดบริบทตัวกรองที่เลือกเซตย่อยของข้อมูลที่ยึดตามปีและภูมิภาคที่ระบุ
ทําไมบริบทตัวกรองจึงมีความสําคัญต่อ DAX มาก คุณได้เห็นบริบทตัวกรองดังกล่าวสามารถใช้ได้โดยการเพิ่มเขตข้อมูลในการแสดงภาพ บริบทตัวกรองยังสามารถนําไปใช้ในสูตร DAX ได้โดยการกําหนดตัวกรองที่มีฟังก์ชันเช่น ALL, RELATED, FILTER, CALCULATE, by relationships และโดยหน่วยวัดและคอลัมน์อื่น ๆ ตัวอย่างเช่น มาดูสูตรต่อไปนี้ในหน่วยวัดที่ชื่อ Store Sales:
เพื่อให้เข้าใจสูตรนี้ได้ดียิ่งขึ้น เราสามารถแยกย่อยลงมาได้เช่นเดียวกับสูตรอื่น ๆ
สูตรนี้ประกอบด้วยองค์ประกอบไวยากรณ์ต่อไปนี้:
ตอบ: ชื่อหน่วยวัด 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 ได้ดียิ่งขึ้น
แบบทดสอบอย่างเร็วเกี่ยวกับบริบท
- บริบทสองชนิดมีอะไรบ้าง
- บริบทตัวกรองคืออะไร
- บริบทแถวคืออะไร
คําตอบมีให้ไว้ในตอนท้ายของบทความนี้
สรุป
หลังจากที่คุณมีความเข้าใจพื้นฐานเกี่ยวกับแนวคิดที่สําคัญที่สุดใน DAX แล้ว คุณสามารถเริ่มสร้างสูตร DAX สําหรับหน่วยวัดได้ด้วยตนเอง จริงหรือไม่ว่า DAX อาจจะเรียนรู้ได้ยากสักหน่อย แต่ก็ยังมีทรัพยากรมากมายพร้อมให้คุณใช้งาน หลังจากอ่านบทความนี้และทดลองใช้สูตรบางสูตรของคุณเอง คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับแนวคิด DAX และสูตรอื่น ๆ ที่สามารถช่วยให้คุณแก้ไขปัญหาทางธุรกิจของคุณเองได้ มีทรัพยากร DAX พร้อมใช้งานสําหรับคุณมากมาย สิ่งสําคัญที่สุดคือการอ้างอิง Data Analysis Expressions (DAX)
เนื่องจาก DAX มีการใช้งานมานานหลายปีแล้วในเครื่องมือ Microsoft BI อื่น ๆ เช่น แบบจําลอง Power Pivot และแบบจําลอง Analysis Services Tabular จึงมีแหล่งข้อมูลที่ยอดเยี่ยมมากมาย คุณสามารถค้นหาข้อมูลเพิ่มเติมได้ในหนังสือ เอกสารทางเทคนิค และบล็อกจากทั้ง Microsoft และผู้เชี่ยวชาญ BI ชั้นนํา นอกจากนี้ ศูนย์ทรัพยากร DAX ยังเป็นจุดเริ่มต้นที่ยอดเยี่ยมอีกด้วย
คําตอบของแบบทดสอบอย่างเร็ว
ไวยากรณ์:
- ตรวจสอบความถูกต้องและใส่หน่วยวัดลงในแบบจําลอง
- เครื่องหมายวงเล็บเหลี่ยม []
ฟังก์ชัน:
- ตารางและคอลัมน์
- ได้ สูตรสามารถมีได้สูงสุด 64 ฟังก์ชันซ้อนกัน
- ฟังก์ชันข้อความ
บริบท:
- บริบทแถวและบริบทตัวกรอง
- ตัวกรองอย่างน้อยหนึ่งตัวในการคํานวณที่กําหนดเป็นค่าเดียว
- แถวปัจจุบัน