แชร์ผ่าน


Var

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

ไวยากรณ์

VAR <name> = <expression>  

พารามิเตอร์

เงื่อนไข คำนิยาม
ชื่อ ชื่อของตัวแปร (ตัวระบุ)
ตัวคั่นไม่ได้รับการสนับสนุน ตัวอย่างเช่น 'varName' หรือ [varName] จะส่งผลให้เกิดข้อผิดพลาด
ชุดอักขระที่ได้รับการสนับสนุน: a-z, A-Z, 0-9
0-9 ไม่สามารถเป็นอักขระตัวแรกได้
__ (ขีดล่างคู่) ได้รับอนุญาตเป็นคํานําหน้าชื่อตัวระบุ
ไม่มีอักขระพิเศษอื่นใดที่ได้รับการสนับสนุน
ไม่อนุญาตให้ใช้คําสําคัญที่สงวนไว้
ไม่อนุญาตให้ใช้ชื่อของตารางที่มีอยู่
ไม่อนุญาตให้ใช้พื้นที่ว่าง
นิพจน์ นิพจน์ DAX ที่แสดงค่าสเกลาหรือตาราง

ค่าที่ส่งกลับ

ตัวแปรที่มีชื่อซึ่งประกอบด้วยผลลัพธ์ของอาร์กิวเมนต์นิพจน์

หมายเหตุ

  • นิพจน์ที่ส่งผ่านเป็นอาร์กิวเมนต์ไปยัง VAR สามารถมีการประกาศ VAR อื่นได้

  • เมื่ออ้างอิงตัวแปร:

    • หน่วยวัดไม่สามารถอ้างอิงถึงตัวแปรที่กําหนดไว้ภายนอกนิพจน์หน่วยวัด แต่สามารถอ้างอิงถึงตัวแปรขอบเขตการทํางานที่กําหนดไว้ภายในนิพจน์ได้
    • ตัวแปรสามารถอ้างอิงถึงหน่วยวัดได้
    • ตัวแปรสามารถอ้างอิงถึงตัวแปรที่กําหนดไว้ก่อนหน้านี้
    • ไม่สามารถอ้างอิงคอลัมน์ในตัวแปรตารางผ่านทางไวยากรณ์ TableName[ColumnName]
  • สําหรับแนวทางปฏิบัติที่ดีที่สุดเมื่อใช้ VAR โปรดดู การใช้ตัวแปรเพื่อปรับปรุงสูตร DAX ของคุณ

  • หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการใช้ VAR ภายในคิวรี DAX โปรดดู คิวรี DAX

ตัวอย่าง

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

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

หน่วยวัดที่สองจะคํานวณยอดขายสําหรับปีก่อนหน้า:

SalesAmount PreviousYear =
    CALCULATE([Sum of SalesAmount],
    SAMEPERIODLASTYEAR(Calendar[Date])
    )  

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

Sum of SalesAmount YoY%: = 
    IF([Sum of SalesAmount] ,  
        DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
    )  

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

YoY% =
  VAR Sales = 
      SUM(SalesTable[SalesAmount])  
  VAR SalesLastYear =
      CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )

  return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))  

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

ใช้ตัวแปรเพื่อปรับปรุงสูตร DAX ของคุณ
คิวรี DAX