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