DAX formülü yazma

Tamamlandı

Hesaplanan tablo, hesaplanmış sütun veya ölçü gibi model hesaplama türleri adıyla tanımlanır ve ardından eşittir işareti (=) ile bir DAX formülü gelir. Model hesaplaması oluşturmak için aşağıdaki şablonu kullanın:

<Calculation name> = <DAX formula>

Örneğin, Date tablosu verilerini yineleyen Ship Date hesaplanan tablosunun tanımı şu şekildedir:

Ship Date = 'Date'

DAX formülü bir sonuç döndüren ifadelerden oluşur. Sonuçta bir tablo nesnesi veya skaler değer olur. Hesaplanan tablo formülleri bir tablo nesnesi döndürmelidir; hesaplanmış sütun ve ölçü formülleri bir skaler değer (tek değer) döndürmelidir.

Formüller şunlar kullanılarak birleştirilir:

  • DAX işlevleri
  • DAX işleçleri
  • Model nesnelerine başvurular
  • 24 sayısı veya "FY" değişmez değeri gibi sabit değerler (mali yıl kısaltması)
  • DAX değişkenleri
  • Boşluk

İpucu

Power BI Desktop'de DAX formülleri girerken IntelliSense'in avantajından yararlanabilirsiniz. IntelliSense, işlevleri ve model kaynaklarını listeleyen bir kod tamamlama yardımcısıdır. Bir DAX işlevini seçtiğinizde tanım ve açıklama da sunar. Formülleri hızlıca oluşturmak için IntelliSense'ten faydalanmanız önerilir.

DAX işlevleri

Microsoft Excel'e benzer şekilde DAX, formüllerin belirli hedeflere ulaşmak için işlevlere bağımlı olduğu anlamına gelen işlevsel bir dildir. Genellikle DAX işlevlerinde değişkenlerin geçirilmesine izin veren bağımsız değişkenler bulunur. Formüller birden çok işlev çağrısı kullanabilir ve genellikle işlevleri diğer işlevlerin içine yerleştirir.

Formülde işlev adlarından sonra parantez kullanılmalıdır. Parantez içinde değişkenler geçirilir.

Not

Bazı işlevler bağımsız değişken almaz veya bağımsız değişken isteğe bağlı olabilir.

DAX işlevleriyle çalışma adımları bu modülün ilerleyen bölümlerinde anlatılmıştır.

DAX işleçleri

Formüller ayrıca aritmetik hesaplamalar yapabilen, değerleri karşılaştırabilen, dizelerle çalışabilen veya test koşullarına sahip olan işleçleri kullanır.

DAX işleçleri bu modülün ilerleyen bölümlerinde daha ayrıntılı açıklanmıştır.

Model nesnelerine başvurular

Formüller yalnızca üç model nesnesi türüne başvurabilir: tablolar, sütunlar veya ölçüler. Formül, hiyerarşiye veya hiyerarşi düzeyine başvuramaz. (Hiyerarşi düzeyinin sütunu temel aldığını unutmayın. Bu nedenle formülünüz, hiyerarşi düzeyinin sütununa başvurabilir.)

Tablo başvuruları

Formüldeki bir tabloya başvurduysanız, tablo adı resmi olarak tek tırnak içine alınır. Aşağıdaki hesaplanmış tablo tanımında Date tablosunun tek tırnak içine alındığını unutmayın.

Ship Date = 'Date'

Ancak aşağıdaki koşulların ikisinin de geçerli olması durumunda tek tırnak işaretleri atlanabilir:

  1. Tablo adında eklenmiş boşluklar yoksa.
  2. Tablo adı, DAX tarafından kullanılan ayrılmış bir sözcük değildir. Tüm DAX işlevi adları ve işleçleri ayrılmış sözcüklerdir. Date , Date adlı bir tabloya başvururken bunu tek tırnak içine almanız gerektiğini açıklayan bir DAX işlev adıdır.

Aşağıdaki hesaplanmış tablo tanımında, Airport tablosuna başvururken tek tırnak işaretlerini atlayın:

Arrival Airport = Airport

Sütun başvuruları

Formüldeki bir sütuna başvurduğunda, sütun adı köşeli ayraç içine alınmalıdır. İsteğe bağlı olarak öncesinde tablo adı kullanılabilir. Örneğin aşağıdaki ölçü tanımı Sales Amount sütununa başvurur.

Revenue = SUM([Sales Amount])

Sütun adları tablo içinde benzersiz olduğundan ancak tablo içinde benzersiz olmayabileceğinden öncesinde tablo adını belirterek sütun başvurusunu netleştirebilirsiniz. Bu netleştirilen sütun, tam nitelikli sütun olarak bilinir. Bazı DAX işlevleri için tam nitelikli sütunların geçirilmesi gerekir.

İpucu

Formüllerinizin okunabilirliğini geliştirmek için sütun başvurularından önce her zaman tablo adını kullanmanız önerilir.

Yukarıdaki örnek ölçü tanımı şu şekilde yeniden yazılabilir:

Revenue = SUM(Sales[Sales Amount])

Ölçü başvuruları

Sütun adı başvuruları gibi bir formüldeki ölçüye başvurduğunda ölçü adı köşeli ayraç içine alınmalıdır. Örneğin aşağıdaki ölçü tanımı Revenue ve Cost ölçülerine başvurur.

Profit = [Revenue] - [Cost]

DAX'ı kullanmaya yeni başlıyorsanız, formül okumaya çalışırken sütun ve ölçü başvurularının her zaman köşeli ayraç içine alınması karışıklığa neden olabilir. Ancak, DAX ile ilgili temel bilgiler konusunda uzmanlaştıysanız, DAX formüllerinde, sütunlarda ve ölçülerde farklı şekillerde kullanıldığından, bunun ne tür bir nesne olduğunu saptayabileceksiniz.

İpucu

Ölçü başvurusunun önünde tablo adını belirtmek mümkündür. Ancak ölçüler, model düzeyindeki nesnelerdir. Giriş tablosuna atanmaları yalnızca Alanlar bölmesinde ölçüleri mantıksal olarak düzenlemek için göstermelik bir ilişkidir.

Ancak sütun başvurularından önce her zaman tablo adını kullanmanız önerilse de ölçüler için bunun tersi geçerlidir: Ölçü başvurularından önce tablo adını kullanmanız kesinlikle önerilmez.

Daha fazla bilgi için bkz. Sütun ve ölçü başvuruları.

DAX değişkenleri

Formüller, sonuçları depolamak için DAX değişkenlerini bildirebilir.

DAX değişkenlerinin ne zaman ve nasıl kullanılacağı bu modülün ilerleyen bölümlerinde anlatılmıştır.

Boşluk

Boşluk, formüllerinizi hızlı ve kolay anlaşılır bir şekilde biçimlendirmek için kullanabileceğiniz karakterleri ifade eder. Boşluk karakterleri şunlardır:

  • Boşluklar
  • Sekmeler
  • Satır başları

Boşluk isteğe bağlıdır ve formülünüzün mantığını değiştirmez veya performansını olumsuz yönde etkilemez. Bir biçim stili benimseyip tutarlı olarak bu stili uygulamanız ve ayrıca aşağıdaki önerileri de dikkate almanız önerilir:

  • İşleçler arasında boşluk kullanın.
  • İç içe geçmiş işlev çağrılarını girintilemek için sekmeleri kullanın.
  • Özellikle işlev bağımsız değişkenleri tek bir satıra sığmayacak kadar uzun olduğunda onları ayırmak için satır başlarını kullanın. Formülünüzü bu şekilde biçimlendirerek özellikle eksik parantez olması gibi durumlarda sorunları daha kolay bir şekilde çözebilirsiniz.
  • Boşluğu çok az kullanmak yerine çok fazla kullanmayı tercih edin.

İpucu

Formül çubuğunda satır başı girmek için Shift+Enter tuşlarına basın. Tek başına Enter tuşuna basmak formülünüzü işler.

Aşağıdaki tek satırda yazılmış olan ve beş DAX işlev çağrısını içeren ölçü tanımını inceleyin:

Revenue YoY % = DIVIDE([Revenue] - CALCULATE([Revenue], SAMEPERIODLASTYEAR('Date'[Date])), CALCULATE([Revenue], SAMEPERIODLASTYEAR('Date'[Date])))

Aşağıdaki örnekte aynı ölçü tanımı bu kez biçimlendirilmiş şekilde yazılmıştır ve bu nedenle okumak ve anlamak daha kolaydır:

Revenue YoY % =
DIVIDE(
    [Revenue]
        - CALCULATE(
            [Revenue],
            SAMEPERIODLASTYEAR('Date'[Date])
    ),
    CALCULATE(
        [Revenue],
        SAMEPERIODLASTYEAR('Date'[Date])
    )
)

Ölçüyü kendi kendinize biçimlendirmeyi deneyin. Adventure Works DW 2020 M02.pbix Power BI Desktop dosyasını açın ve Alanlar bölmesinde Sales tablosunu genişletin ve Revenue YoY % ölçüsünü seçin. Formül çubuğunda, önceki örnekle aynı sonucu elde etmek için sekme ve satır başı karakterlerini kullanın. Satır başı eklediğinizde Shift+Enter tuşlarına basmayı unutmayın.

Bu ölçü tanımı okunabilirlik ve performans açısından daha da geliştirilebilir. Bu tanım, modülün ilerleyen bölümlerinde açıklanacaktır.

İpucu

Hesaplamalarınızı biçimlendirme konusunda yardımcı olarak bir diğer harika araç da başka bir kaynak tarafından sağlanan DAX Formatter aracıdır. Bu araç, hesaplamanızı yapıştırmanıza ve biçimlendirmenize olanak tanır. Daha sonra biçimlendirilmiş hesaplamayı panoya kopyalayıp Power BI Desktop yapıştırabilirsiniz.