กิจกรรม
เข้าร่วมกับเราที่ FabCon Vegas
31 มี.ค. 23 - 2 เม.ย. 23
เหตุการณ์ที่นําโดยชุมชนของ Microsoft Fabric, Power BI, SQL และ AI 31 มีนาคมถึงวันที่ 2 เมษายน 2025
ลงทะเบียนวันนี้เบราว์เซอร์นี้ไม่ได้รับการสนับสนุนอีกต่อไป
อัปเกรดเป็น Microsoft Edge เพื่อใช้ประโยชน์จากคุณลักษณะล่าสุด เช่น การอัปเดตความปลอดภัยและการสนับสนุนด้านเทคนิค
ไคลเอ็นต์การรายงานเช่น Power BI and Excel ดําเนินการคิวรี DAX เมื่อใดก็ตามที่วิชวลแสดงในรายงาน or เขตข้อมูลที่เพิ่มลงในตาราง and ปรับคิวรี DAX เหล่านี้เมื่อมีการใช้ filter ของตัววิเคราะห์ประสิทธิภาพ
โดยการใช้ DAX มุมมองคิวรีใน Power BI Desktop orเขียนคิวรี DAX ในบริการ Power BI คุณสามารถสร้าง and เรียกใช้คิวรี DAX ของคุณเองได้ ด้วย Microsoft Fabricคุณสามารถเพิ่มประสิทธิผลการทํางานของคุณด้วย Copilot เพื่อเขียนคิวรี DAX ในมุมมองคิวรีของ Desktop or ของ DAX นอกเหนือจากเครื่องมือ BI Power ยังสามารถเรียกใช้คิวรี DAX ในสมุดบันทึก Fabric โดยใช้ลิงก์ความหมาย เพื่ออ่านข้อมูลจากแบบจําลองความหมายด้วย python and ด้วย Execute Queries REST APIนอกจากนี้ยังมีอยู่ใน Power Automate เครื่องมืออื่น ๆ เช่น SQL Server Management Studio (SSMS), Power BI Report Builderand เครื่องมือโอเพนซอร์สเช่น DAX Studioยังช่วยให้คุณสามารถสร้าง and เรียกใช้คิวรี DAX ได้
คิวรี DAX จะแสดงผลลัพธ์เป็นตาราง right ภายในเครื่องมือ ทําให้คุณสามารถสร้าง and ทดสอบประสิทธิภาพของสูตร DAX ของคุณในหน่วยวัด or ดูข้อมูลในแบบจําลองความหมายของคุณได้อย่างรวดเร็ว ข้อมูล and ข้อมูล ฟังก์ชัน VIEW DAX ยังสามารถรับข้อมูลเกี่ยวกับแบบจําลองความหมายของคุณ เช่น รายการของตาราง คอลัมน์ หน่วยวัด and อีกมากมาย
ก่อนที่จะเรียนรู้เกี่ยวกับคิวรี เป็นสิ่งสําคัญที่คุณต้องทําความเข้าใจอย่างจริงจังเกี่ยวกับ DAX พื้นฐาน If คุณยังไม่ได้เช็คเอาท์ภาพรวม DAX
คิวรี DAX มีไวยากรณ์ง่าย ๆ ที่ประกอบด้วยคําสําคัญที่จําเป็นเพียงคําเดียว EVALUATE EVALUATE จะตามด้วยนิพจน์ตาราง เช่น ฟังก์ชัน DAXor ชื่อตาราง ซึ่งเมื่อเรียกใช้ จะแสดงผลเป็นตารางผลลัพธ์ นิพจน์ตารางที่แสดงตารางผลลัพธ์ประกอบด้วย:
มีคําหลักที่เลือกได้หลายคําสําหรับ DAX คิวรี: ORDER BY, START AT, DEFINE, MEASURE, VAR, ตาราง, and คอลัมน์
ในระดับพื้นฐานที่สุด คิวรี DAX คือคําสั่ง EVALUATE
ที่มีนิพจน์ตาราง อย่างไรก็ตาม จําเป็นต้องมีคําสั่ง EVALUATE อย่างน้อยหนึ่งคําสั่ง อย่างไรก็ตาม คิวรีสามารถมี EVALUATEstatementsจํานวนใดก็ตาม
EVALUATE <table>
เทอม | นิยาม |
---|---|
table |
นิพจน์ตาราง |
EVALUATE
'Sales Order'
ส่งกลับ all แถว and คอลัมน์จากตารางคําสั่งขาย เป็นตารางผลลัพธ์ ซึ่งสามารถจํากัดได้ด้วยการใช้ TOPNorFILTERand เรียงลําดับด้วย ORDER BY
คําสําคัญ ORDER BY
ที่เลือกได้จะกําหนดหนึ่ง or คอลัมน์เพิ่มเติมในคิวรี or นิพจน์ที่ใช้ในการเรียงลําดับผลลัพธ์คิวรี นิพจน์ใด ๆ ที่สามารถประเมินสําหรับแต่ละแถวของผลลัพธ์ถูกต้อง คอลัมน์ใด ๆ ในคิวรีก็ถูกต้องเช่นกัน
เรียงลําดับตามคุณสมบัติคอลัมน์ในแบบจําลองความหมาย not นําไปใช้กับผลลัพธ์คิวรี DAX If คอลัมน์ควรเรียงลําดับตามคอลัมน์ที่แตกต่างกันในแบบจําลอง เช่น ในกรณีของ Month Name การเรียงลําดับตามคอลัมน์ควรรวมอยู่ในคิวรี DAX ที่จะใช้ใน ORDER BYด้วย
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]]
เทอม | นิยาม |
---|---|
expression |
นิพจน์ DAX ใด ๆ ที่แสดง valueสเกลาเดียว คอลัมน์ or ที่รวมอยู่ในคิวรี DAX |
ASC |
(ค่าเริ่มต้น) การเรียงลําดับจากน้อยไปหามาก |
DESC |
การเรียงลําดับจากมากไปหาน้อย |
EVALUATE
SUMMARIZECOLUMNS(
// Group by columns
'Date'[Month Name],
'Date'[Month of Year],
'Product'[Category],
// Optional filters
FILTER(
VALUES('Product'[Category]),
[Category] = "Clothing"
),
// Measures or explicit DAX formulas to aggregate and analyze the data by row
"Orders", [Orders],
"Avg Profit per Order", DIVIDE(
[Total Sales Profit],
[Orders]
)
)
// DAX queries do not use sort order defined in Power BI,
// sort by columns must be included in the DAX query to be used in order by
ORDER BY 'Date'[Month of Year] ASC
ส่งกลับลําดับเสื้อผ้า andaverage กําไรต่อการสั่งซื้อตาม monthจากน้อยไปหามากตาม monthเป็นตารางผลลัพธ์
TOPN not เลือกจํานวนแถวที่ระบุเพื่อส่งกลับตามลําดับการจัดเรียงที่ระบุใน ORDER BY แต่ TOPN มีไวยากรณ์ของตัวเองเพื่อเลือกที่จะระบุการเรียงลําดับก่อนส่งกลับ 100 แถวบนสุด ORDER BY เรียงลําดับเฉพาะตารางผลลัพธ์ที่ส่งกลับโดย TOPNเท่านั้น
EVALUATE
TOPN(
100,
'Sales Order',
// The way the data is sorted before the top 100 rows are selected
'Sales Order'[SalesOrderLineKey], ASC
)
// The way the data is sorted for the results
ORDER BY
'Sales Order'[Sales Order] ASC,
'Sales Order'[Sales Order Line] ASC
แสดงคําสั่งขาย 100 อันดับแรกที่เรียงลําดับตาม SalesOrderLienKey จากน้อยไปมาก จากนั้นเรียงลําดับผลลัพธ์ first ตามคําสั่งขาย แล้วเรียงลําดับตามบรรทัดใบสั่งขาย
คําสําคัญ START AT
ที่เลือกได้ ถูกใช้ภายในส่วนคําสั่ง ORDER BY
ซึ่งจะกําหนด value ที่ผลลัพธ์คิวรีเริ่มต้น
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]
[START AT {<value>|<parameter>} [, …]]]
เทอม | นิยาม |
---|---|
value |
valueคงที่ ไม่สามารถเป็นนิพจน์ได้ |
parameter |
ชื่อของพารามิเตอร์ในคําสั่ง XMLA ขึ้นต้นด้วยอักขระ @ |
อาร์กิวเมนต์ START AT มีความสัมพันธ์แบบหนึ่งต่อหนึ่งกับคอลัมน์ในส่วนคําสั่ง ORDER BY สามารถมีอาร์กิวเมนต์จํานวนมากได้ในส่วนคําสั่ง START AT ตามที่มีอยู่ในส่วนคําสั่ง ORDER BY แต่ not เพิ่มเติม อาร์กิวเมนต์ first ใน START AT จะกําหนด value เริ่มต้นในคอลัมน์ 1 ของคอลัมน์ ORDER BY อาร์กิวเมนต์ second ใน START AT จะกําหนด value เริ่มต้นในคอลัมน์ 2 ของคอลัมน์ ORDER BY ภายในแถวที่ตรงกับ firstvalue สําหรับคอลัมน์ 1
EVALUATE
'Sales Order'
ORDER BY 'Sales Order'[Sales Order] ASC
// Start at this order, orders before this order will not be displayed
START AT "SO43661"
แสดงคอลัมน์ all จากตาราง คําสั่งซื้อ จากน้อยไปหามากตามใบสั่งขาย โดยเริ่มต้นที่ SO43661 แถวก่อนคําสั่งขายนี้จะ not รวมอยู่ในตารางผลลัพธ์
คําสําคัญ DEFINE
ที่เลือกได้ จะแนะนําข้อกําหนดของเอนทิตีจากการคํานวณเพิ่มเติมหนึ่ง or รายการที่มีไว้สําหรับ duration ของคิวรีเท่านั้น ซึ่งแตกต่างจาก EVALUATE
ซึ่งสามารถมีบล็อก DEFINE
เดียวเท่านั้นโดยมีข้อกําหนด or มากกว่าหนึ่งในคิวรี DAX
DEFINE
ต้องนําหน้า and คําสั่ง firstEVALUATE
ถูกต้องสําหรับ allEVALUATEstatements ในคิวรี ข้อกําหนดอาจเป็นตัวแปร หน่วยวัด ตาราง1คอลัมน์ and1 ข้อกําหนดสามารถอ้างอิงถึงข้อกําหนดอื่น ๆ ที่ปรากฏก่อน or หลังจากข้อกําหนดปัจจุบัน ต้องมีข้อกําหนดอย่างน้อยหนึ่งคํา if คําสําคัญ DEFINE
รวมอยู่ในคิวรี
DEFINE MEASURE
คือสถานการณ์ทั่วไปในการสร้างหน่วยวัดใหม่ or แก้ไขหน่วยวัดที่มีอยู่ในแบบจําลองความหมาย เมื่อ measure มีอยู่แล้วในแบบจําลอง คิวรี DAX จะใช้สูตร measureDAX ที่กําหนดไว้ในคิวรี ซึ่งจะเป็นประโยชน์สําหรับการทดสอบหน่วยวัดด้วยคิวรี DAX ก่อนอัปเดตแบบจําลอง
DEFINE MEASURE
จะเป็นประโยชน์ในการสร้างการวิเคราะห์เพิ่มเติมด้วยสูตร DAX สําหรับคิวรี DAX เฉพาะที่คุณอาจ not มีสิทธิ์ในการเพิ่มแบบจําลอง measureornot จําเป็นต้องมีในแบบจําลอง
[DEFINE
(
(MEASURE <table name>[<measure name>] = <scalar expression>) |
(VAR <var name> = <table or scalar expression>) |
(TABLE <table name> = <table expression>) |
(COLUMN <table name>[<column name>] = <scalar expression>) |
) +
]
(EVALUATE <table expression>) +
เทอม | นิยาม |
---|---|
Entity |
MEASURE, VAR, ตาราง1, คอลัมน์ or1 |
name |
ชื่อของ measurevarตาราง or ข้อกําหนดคอลัมน์ ไม่สามารถเป็นนิพจน์ได้ ชื่อ not ไม่จําเป็นต้องไม่ซ้ํากัน ชื่อมีไว้สําหรับ duration ของคิวรีเท่านั้น |
expression |
นิพจน์ DAX ใด ๆ ที่แสดงตาราง or สเกลา value นิพจน์สามารถใช้เอนทิตีที่กําหนดไว้ใด ๆ
If จําเป็นต้อง convert นิพจน์สเกลาเป็นนิพจน์ตาราง ให้ตัดนิพจน์ภายในคอนสตรักเตอร์ตารางด้วยวงเล็บปีกกา {} or ใช้ฟังก์ชัน ROW() เพื่อส่งกลับตารางแถวเดียว |
[1] ความระมัดระวัง: ข้อกําหนดตารางขอบเขตของคิวรี and มีไว้สําหรับใช้ภายในเท่านั้น ในขณะที่คุณสามารถ define นิพจน์ TABLE and COLUMN สําหรับคิวรีโดยไม่มี errorไวยากรณ์ แต่อาจก่อให้เกิดข้อผิดพลาดรันไทม์ andnot แนะนํา
แบบสอบถาม DAX สามารถมีหลาย EVALUATEstatementsแต่สามารถมีคําสั่ง DEFINE ได้เพียงคําสั่งเดียวเท่านั้น ข้อกําหนดในคําสั่ง DEFINE สามารถนําไปใช้กับ EVALUATEstatements ใด ๆ ในคิวรีได้
ต้องมีข้อกําหนดอย่างน้อยหนึ่งข้อกําหนดในคําสั่ง DEFINE
ข้อกําหนด Measure สําหรับหน่วยวัดการแทนที่แบบจําลองคิวรีที่มีชื่อเดียวกันแต่จะใช้ภายในคิวรีเท่านั้น ซึ่งจะ not ส่งผลกระทบต่อ measureแบบจําลอง
ชื่อ VAR มีข้อจํากัดที่ไม่ซ้ํากัน เมื่อต้องการเรียนรู้เพิ่มเติม โปรดดู VAR - พารามิเตอร์
DEFINE
VAR _firstyear = MIN('Date'[Fiscal Year])
VAR _lastyear = MAX('Date'[Fiscal Year])
TABLE 'Unbought products' = FILTER('Product', [Orders] + 0 = 0)
COLUMN 'Unbought products'[Year Range] = _firstyear & " - " & _lastyear
MEASURE 'Unbought products'[Unbought products] = COUNTROWS('Unbought products')
EVALUATE
'Unbought products'
EVALUATE
{[Unbought products]}
แสดงตารางที่กําหนดไว้ในคิวรี DAX เพื่อแสดงผลิตภัณฑ์ที่ไม่เป็นที่ต้องการด้วยคอลัมน์ที่กําหนดไว้เพิ่มเติมที่อ้างอิงตัวแปรที่กําหนดไว้ นอกจากนี้ยังมีการกําหนด measureand การประเมินเพื่อ count แถวของผลิตภัณฑ์ที่ไม่ควรจะเป็น
DEFINE
MEASURE 'Pick a sales measure'[Orders] = DISTINCTCOUNT('Sales Order'[Sales Order])
MEASURE 'Pick a sales measure'[Customers] = CALCULATE(
COUNTROWS(Customer),
FILTER(
'Sales',
[Orders] > 0
)
)
MEASURE 'Pick a sales measure'[Orders per Customer] = DIVIDE(
[Orders],
[Customers],
0
)
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Fiscal Year],
"Orders", [Orders],
"Customers", [Customers],
"Orders per Customer", [Orders per Customer]
)
แสดงตารางที่ประเมินหน่วยวัดที่กําหนดสามรายการเพื่อแสดงผลลัพธ์ตาม yearทางบัญชี หน่วยวัด All ยังมีอยู่ในแบบจําลอง and Orders per Customer ได้รับการแก้ไขในคิวรี DAX
คําสั่งคิวรี DAX ที่กําหนดไว้อย่างดีสามารถทําให้เป็นพารามิเตอร์ได้ and จากนั้นจะใช้ผ่าน and เพียงแค่การเปลี่ยนแปลงในพารามิเตอร์ values
เมธอด Execute Method (XMLA) มีองค์ประกอบพารามิเตอร์ (XMLA) องค์ประกอบคอลเลกชันที่อนุญาตให้กําหนดพารามิเตอร์ and กําหนด value ภายในคอลเลกชัน แต่ละ องค์ประกอบพารามิเตอร์ (XMLA) จะกําหนดชื่อของพารามิเตอร์ andvalue
อ้างอิงพารามิเตอร์ XMLA โดยใส่คํานําหน้าชื่อของพารามิเตอร์ที่มีอักขระ @
ตําแหน่งใด ๆ ในไวยากรณ์ที่อนุญาต valuevalue สามารถแทนที่ได้ด้วยการเรียกพารามิเตอร์
All พารามิเตอร์ XMLA จะถูกพิมพ์เป็นข้อความ
ข้อสำคัญ
พารามิเตอร์ที่กําหนดในส่วนพารามิเตอร์ andnot ที่ใช้ในองค์ประกอบ <STATEMENT>
generate การตอบสนอง error ใน XMLA
พารามิเตอร์ที่ใช้ andnot ที่กําหนดไว้ในองค์ประกอบ <Parameters>
generate การตอบสนอง error ใน XMLA
กิจกรรม
เข้าร่วมกับเราที่ FabCon Vegas
31 มี.ค. 23 - 2 เม.ย. 23
เหตุการณ์ที่นําโดยชุมชนของ Microsoft Fabric, Power BI, SQL และ AI 31 มีนาคมถึงวันที่ 2 เมษายน 2025
ลงทะเบียนวันนี้การฝึกอบรม
เส้นทางการเรียนรู้
ใช้ DAX ใน Power BI Desktop - Training
เส้นทางการเรียนรู้นี้จะแนะนํานิพจน์การวิเคราะห์ข้อมูล (DAX) และให้คุณมีทักษะพื้นฐานที่จําเป็นในการปรับปรุงแบบจําลองความหมายด้วยการคํานวณ ซึ่งเริ่มต้นด้วยการอธิบายโมเดล Power BI Desktop และวิธีการที่สามารถปรับปรุงได้ด้วยการคำนวณ DAX จากนั้นจะอธิบายวิธีที่คุณสามารถเขียนสูตร DAX และการคำนวณโมเดลชนิดต่าง ๆ รวมถึงตารางและคอลัมน์ที่มีการคำนวณและหน่วยวัดได้ มีการนำบริบทการประเมินผลมาใช้ และบทเรียนที่ตามมาจะอธิบายวิธีการเขียนสูตร DAX ที่ปรับเปลี่ยนบริบทตัวกรอง ในท้ายที่สุด คุณจะได้เรียนรู้วิธีการเขียนนิพจน์ DAX โดย
ใบรับรอง
Microsoft Certified: Power BI Data Analyst Associate - Certifications
Demonstrate methods and best practices that align with business and technical requirements for modeling, visualizing, and analyzing data with Microsoft Power BI.