หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
จัดเก็บผลลัพธ์ของนิพจน์เป็นตัวแปรที่มีชื่อ ซึ่งคุณสามารถส่งผ่านเป็นอาร์กิวเมนต์ไปยังนิพจน์หน่วยวัดอื่น ๆ ได้ หลังจาก DAX คํานวณค่าสําหรับนิพจน์ตัวแปร ค่าเหล่านั้นจะไม่เปลี่ยนแปลงแม้ว่าคุณจะอ้างอิงตัวแปรในนิพจน์อื่นแล้ว
วากยสัมพันธ์
VAR <name> = <expression>
พารามิเตอร์
| เทอม | นิยาม |
|---|---|
name |
ชื่อของตัวแปร (ตัวระบุ) ไม่รองรับตัวคั่น ตัวอย่างเช่น 'varName' หรือ [varName] ส่งผลให้เกิดข้อผิดพลาด ชุดอักขระที่ได้รับการสนับสนุน: a-z, A-Z, 0-9 0-9 ไม่สามารถใช้เป็นอักขระตัวแรกได้ __ (ขีดล่างคู่) ได้รับอนุญาตเป็นคํานําหน้าชื่อตัวระบุ ไม่มีอักขระพิเศษอื่นใดที่ได้รับการสนับสนุน ไม่อนุญาตให้ใช้คําสําคัญที่สงวนไว้ ไม่อนุญาตให้ใช้ชื่อของตารางที่มีอยู่ ไม่อนุญาตให้ใช้พื้นที่ว่าง |
expression |
นิพจน์ DAX ที่แสดงค่าสเกลาหรือตาราง |
ค่าผลลัพธ์
ตัวแปรที่มีชื่อซึ่งประกอบด้วยผลลัพธ์ของอาร์กิวเมนต์นิพจน์
หมาย เหตุ
นิพจน์ที่ส่งผ่านเป็นอาร์กิวเมนต์ไปยัง VAR สามารถมีการประกาศ VAR อื่นได้
เมื่อคุณอ้างอิงตัวแปร:
- หน่วยวัดไม่สามารถอ้างอิงถึงตัวแปรที่กําหนดไว้ภายนอกนิพจน์หน่วยวัด แต่สามารถอ้างอิงถึงตัวแปรขอบเขตการทํางานที่กําหนดไว้ภายในนิพจน์ได้
- ตัวแปรสามารถอ้างอิงถึงหน่วยวัดได้
- ตัวแปรสามารถอ้างอิงถึงตัวแปรที่กําหนดไว้ก่อนหน้านี้
- คุณไม่สามารถอ้างอิงคอลัมน์ในตัวแปรตารางโดยใช้ไวยากรณ์ TableName[ColumnName]
สําหรับแนวทางปฏิบัติที่ดีที่สุดเมื่อใช้ VARโปรดดู ใช้ตัวแปรเพื่อปรับปรุงสูตร DAX ของคุณ
เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการใช้ VAR ภายในคิวรี DAX ให้ดูที่ คิวรี DAX
ตัวอย่าง
ตัวอย่างในบทความนี้สามารถใช้ได้กับตัวอย่าง Adventure Works DW 2020 Power BI Desktop แบบจําลอง หากต้องการรับแบบจําลอง โปรดดู DAX แบบจําลองตัวอย่าง
หากต้องการคํานวณเปอร์เซ็นต์ของการเติบโตในปีต่อปีโดยไม่ใช้ตัวแปร คุณสามารถสร้างหน่วยวัดที่แยกต่างหากสามรายการได้ หน่วยวัดแรกนี้จะคํานวณผลรวมของยอดขาย:
Sum of Sales Amount =
SUM ( Sales[Sales Amount] )
หน่วยวัดที่สองจะคํานวณยอดขายสําหรับปีก่อนหน้า:
Sales Amount PreviousYear =
CALCULATE ( [Sum of Sales Amount], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
จากนั้นคุณสามารถสร้างหน่วยวัดที่สามที่รวมสองหน่วยวัดเพื่อคํานวณเปอร์เซ็นต์การเติบโตได้ โปรดสังเกตว่ามีการใช้ผลรวมของ SalesAmount ในสองที่: ก่อนอื่นเพื่อตรวจสอบว่ามีการขายอยู่หรือไม่ จากนั้นอีกครั้งเพื่อคํานวณเปอร์เซ็นต์
Sum of SalesAmount YoY%: =
IF (
[Sum of Sales Amount] && [Sales Amount PreviousYear],
DIVIDE (
( [Sum of Sales Amount] - [Sales Amount PreviousYear] ),
[Sales Amount PreviousYear]
)
)
เมื่อใช้ตัวแปร คุณจะสามารถสร้างหน่วยวัดเดียวที่คํานวณผลลัพธ์เดียวกัน:
YoY% =
VAR Sales =
SUM ( Sales[Sales Amount] )
VAR SalesLastYear =
CALCULATE ( SUM ( Sales[Sales Amount] ), SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
RETURN
IF ( Sales && SalesLastYear, DIVIDE ( Sales - SalesLastYear, SalesLastYear ) )
เมื่อใช้ตัวแปร คุณจะได้รับผลลัพธ์เดียวกันในลักษณะที่อ่านได้มากขึ้น และเนื่องจากผลลัพธ์ของนิพจน์ถูกเก็บไว้ในตัวแปร ประสิทธิภาพของหน่วยวัดจะปรับปรุงอย่างมากเนื่องจาก DAX ไม่ได้คํานวณใหม่ในแต่ละครั้งที่ใช้