VAR

Bir ifadenin sonucunu adlandırılmış değişken olarak depolar ve bu, daha sonra diğer ölçü ifadelerine bir bağımsız değişken olarak geçirilebilir. Bir değişken ifadesi için sonuç değerleri hesaplandıktan sonra değişkene başka bir ifade başvuru yapılsa bile bu değerler değişmez.

Söz dizimi

VAR <name> = <expression>  

Parametreler

Süre Tanım
name Değişkenin adı (tanımlayıcı).
Sınırlayıcılar desteklenmez. Örneğin ‘varName’ veya [varName] hataya neden olur.
Desteklenen karakter kümesi: a-z, A-Z, 0-9.
İlk karakter olarak 0-9 arası sayılar kullanılamaz.
Tanımlayıcı adının öncesinde __ (çift alt çizgi) kullanılabilir.
Başka özel karakterler desteklenmez.
Ayrılmış anahtar sözcüklere izin verilmez.
Mevcut tabloların adlarına izin verilmez.
Boşluklara izin verilmez.
ifade Skaler değer veya tablo değeri döndüren DAX ifadesi.

Döndürülen değer

İfade bağımsız değişkeninin sonucunu içeren adlandırılmış değişken.

Açıklamalar

  • VAR işlevine bağımsız değişken olarak geçirilen ifadelerde başka bir VAR bildirimi bulunabilir.

  • Bir değişkene başvururken:

    • Ölçüler, ölçü ifadesi dışında tanımlanmış olan değişkenlere başvuramaz ancak ifade içinde tanımlanmış olan işlevsel kapsam değişkenlerine başvurabilir.
    • Değişkenler ölçülere başvurabilir.
    • Değişkenler daha önce tanımlanmış olan değişkenlere başvurabilir.
    • Tablo değişkenlerindeki sütunlara TabloAdı[SütunAdı] söz dizimi ile başvurulamaz.
  • ' İ kullanırken en iyi uygulamalar için bkz. DAX formüllerini geliştirmek için değişkenleri kullanma.

Örnek

Değişken kullanmadan yıldan yıla büyüme yüzdesi hesabı yapmak için üç ayrı ölçü oluşturabilirsiniz. Bu ilk ölçü, Satış Tutarı Toplamını hesaplar:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

İkinci ölçü, önceki yılın satış tutarını hesaplar:

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

Ardından üçüncü bir ölçü oluşturarak bu iki ölçüyü birleştirip büyüme yüzdesini hesaplayabilirsiniz. Satış Tutarı Toplamı ölçüsünün ilk olarak satış olup olmadığını belirlemek, daha sonra da yüzde hesaplamak için olmak üzere iki kez kullanıldığına dikkat edin.

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

Bir değişken kullanarak aynı sonucu hesaplayan tek bir ölçü oluşturabilirsiniz:

YoY% = VAR Sales = SUM(SalesTable[SalesAmount])  

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

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

Değişken kullanarak aynı sonucu daha okunaklı bir şekilde elde edebilirsiniz. Ayrıca ifadenin sonucu bildirim sonrasında değişken içinde depolanır. Değişkende olduğu gibi her kullanıldığında yeniden hesaplanması gerekmez. Bu durum, ölçünün performansını iyileştirebilir.