DAX'a genel bakış

Veri Çözümleme İfadeleri (DAX); Analysis Services, Power BI ve Excel’de PowerPivot içinde kullanılan bir formül ifade dilidir. DAX formülleri, tablosal veri modellerindeki ilişkili tablo ve sütunlarda bulunan veriler üzerinde gelişmiş hesaplamalar ve sorgulamalar gerçekleştirmek için kullanılan işlevleri, işleçleri ve değerleri içerir.

Bu makalede yalnızca en önemli DAX kavramlarına temel bir giriş yapılmaktadır. DAX'ın, kendisini kullanan ürünler açısından özellikleri ele alınmaktadır. Bazı işlevler belirli ürünler veya kullanım örnekleri için geçerli olmayabilir. Ürününüzde DAX’ın uygulanma biçimini açıklayan belgeleri inceleyin.

Hesaplamalar

DAX formülleri ölçülerde, hesaplanmış sütunlarda, hesaplanmış tablolarda ve satır düzeyi güvenlikte kullanılır.

Ölçüler

Ölçüler, sonuçların bağlama göre değiştiği dinamik hesaplama formülleridir. Ölçüler, birden çok özniteliği kullanarak model verilerinin birleştirilmesini ve filtrelenmesini destekleyen Power BI raporu veya Excel PivotTable ya da PivotChart gibi raporlama uygulamalarında kullanılır. Ölçüler, model tasarımcısındaki DAX formül çubuğu kullanılarak oluşturulur.

Bir ölçüdeki formül, COUNT veya SUM gibi Otomatik Toplam özelliği ile otomatik olarak oluşturulmuş olan standart toplama işlevlerini kullanabilir veya isterseniz DAX formül çubuğunu kullanarak kendi formülünüzü tanımlayabilirsiniz. Adlandırılan ölçüler, diğer ölçülerde bağımsız değişken olarak kullanılabilir.

Formül çubuğunda, ölçü için formül tanımladığınızda Araç ipucu özelliği, geçerli bağlamdaki toplama yönelik sonuçların önizlemesini gösterir ancak bunun dışında sonuçlar herhangi bir yerde hemen çıkışa gönderilmez. Hesaplamanın (filtrelenmiş) sonuçlarının hemen gösterilmemesinin nedeni, ölçü sonucunun bağlam olmadan belirlenememesidir. Ölçünün değerlendirilebilmesi için her hücreyle ilgili verilerin alınması ve daha sonra ifadenin her hücreye göre değerlendirmesi için gerekli olan bağlamı sağlayabilecek bir raporlama istemci uygulaması gerekir. Bu istemci Excel PivotTable veya PivotChart, Power BI raporu veya SQL Server Management Studio (SSMS) içindeki bir DAX sorgusunda yer alan tablo ifadesi olabilir.

İstemciden bağımsız olarak sonuçlardaki her hücre için ayrı bir sorgu çalıştırılır. Başka bir deyişle, PivotTable'ın satır ve sütun üst bilgilerinin her birleşimi veya Power BI raporundaki her dilimleyici ve filtre seçimi, ölçümün hesaplanması için kullanılan ayrı bir veri alt kümesi oluşturur. Örneğin, şu çok basit ölçü formülünü inceleyelim:

Total Sales = SUM([Sales Amount])

Kullanıcı, TotalSales (Toplam Satışlar) ölçüsünü rapora, Product (Ürün) tablosundaki Product Category (Ürün Kategorisi) sütununu da Filtrelere yerleştirirse her ürün kategorisi için toplam Sales Amount (Satış Tutarı) hesaplanır ve görüntülenir.

Hesaplanmış sütundan farklı olarak ölçü söz diziminde formülden önce ölçünün adı yazılır. Yukarıdaki örnekte formülden önce Total Sales (Toplam Satışlar) adı görünmektedir. Oluşturduğunuz ölçünün adı ve tanımı, raporlama istemci uygulamasının Alanlar listesinde görünür ve perspektiflere ve rollere bağlı olarak modelin tüm kullanıcılarına sunulur.

Daha fazla bilgi için bkz:
Power BI Desktop'taki ölçüler
Analysis Services'de ölçüler
Power Pivot'ta ölçüler

Hesaplanmış sütunlar

Hesaplanmış sütun, mevcut bir tabloya (model tasarımcısında) eklediğiniz ve değerlerini tanımlayan bir DAX formülü oluşturduğunuz sütundur. Hesaplanmış sütunda geçerli bir DAX formülü bulunduğunda formül girildiği anda her satırın değeri hesaplanır. Bu değerler daha sonra bellek içi veri modelinde depolanır. Örneğin, bir Tarih tablosunda formül çubuğuna şu formül girildiğinde:

= [Calendar Year] & " Q" & [Calendar Quarter]

Calendar Year (Takvim Yılı) sütunundaki (aynı Tarih tablosundan) değerler alınıp bir boşluk ve büyük Q harfi eklendikten sonra Calendar Quarter (Takvim Üç Aylık Dönemi) sütunundaki (aynı Tarih tablosundan) değerler eklenerek tablodaki her satır için değerler hesaplanır. Hesaplanmış sütundaki her satırın sonucu anında hesaplanır ve görüntülenir, örneğin: 2017 Q1. Sütun değerleri yalnızca tablonun veya ilgili tablolardan birinin işlenmesi (yenilenmesi) veya bir Power BI Desktop dosyasının kapatılıp yeniden açılması durumunda olduğu gibi modelin bellekten çıkarılıp yeniden yüklenmesi durumunda yeniden hesaplanır.

Daha fazla bilgi edinmek için şu makalelere bakın:
Power BI Desktop'ta hesaplanmış sütunlar
Analysis Services'de hesaplanmış sütunlar
Power Pivot'ta hesaplanmış sütunlar.

Hesaplanan tablolar

Hesaplanan tablo, formül ifadesine dayanan ve aynı modeldeki diğer tabloların tümünden veya bir bölümünden türetilen hesaplanmış bir nesnedir. Veri kaynağını sorgulayıp alınan değerleri yeni tablonuzun sütunlarına yüklemek yerine bu değerleri DAX formülüyle tanımlarsınız.

Hesaplanan tablolar, rol yapan boyut için yararlı olabilir. Örnek olarak, yabancı anahtar ilişkisine bağlı olarak OrderDate, ShipDate veya DueDate gibi bir Date (Tarih) tablosu verilebilir. ShipDate için açık olarak bir hesaplanan tablo oluşturduğunuzda sorgular için kullanılabilen ve tam olarak diğer tablolar gibi çalışan tek başına bir tablo elde etmiş olursunuz. Hesaplanan tablolar, diğer tablolardan faydalanarak bir filtrelenmiş satır kümesi veya sütun alt kümesi ya da üst kümesi yapılandırırken de yararlıdır. Bu sayede özgün tabloyu değiştirmeden bu tablonun belirli senaryolara uygun çeşitlemelerini oluşturabilirsiniz.

Hesaplanan tablolar, diğer tablolarla ilişki oluşturmayı destekler. Hesaplanan tablonuzun sütunlarında veri türleri ve biçimlendirme özellikleri mevcuttur ve bu sütunlar bir veri kategorisine ait olabilir. Hesaplanan tablolar, diğer tablolar gibi adlandırılabilir, gösterilebilir veya gizlenebilir. Hesaplanan tablolar yalnızca veri çektiği tablonun yenilenmesi veya güncelleştirilmesi durumunda yeniden hesaplanır.

Daha fazla bilgi edinmek için şu makalelere bakın:
Power BI Desktop’ta hesaplanan tablolar
Analysis Services'de hesaplanan tablolar.

Satır düzeyi güvenlik

Satır düzeyi güvenlik ile bir DAX formülünün Boole TRUE/FALSE koşulu olarak değerlendirilmesi ve belirli bir rolün üyeleri tarafından yapılan sorguların sonucunda hangi satırların döndürülebileceğinin bu şekilde tanımlanması gerekir. Örneğin Satış rolünün üyeleri için Customers (Müşteriler) tablosunda şu DAX formülü kullanılmıştır:

= Customers[Country] = "USA"

Satış rolünün üyeleri yalnızca ABD'deki müşterilerin verilerini görüntüleyebilir ve SUM gibi toplama işlemleri yalnızca ABD'deki müşterilerle ilgili sonuçlar döndürür. Satır düzeyi güvenlik Excel’deki Power Pivot içinde kullanılamaz.

DAX formülü kullanarak bir satır düzeyi güvenliği tanımladığınızda izin verilen bir satır kümesi oluşturmuş olursunuz. Bu işlem diğer satırlara erişimi engellemez, yalnızca bu satırların izin verilen satır kümesi kapsamında döndürülmemesini sağlar. Diğer roller, DAX formülü ile hariç tutulan satırlara erişime izin verebilir. Kullanıcının başka bir rolün üyesi olması ve bu rolün satır düzeyi güvenliğin belirli bir satır kümesine erişime izin vermesi durumunda kullanıcı bu satırla ilgili verileri görüntüleyebilir.

Satır düzeyi güvenlik formülleri, belirtilen satırların yanı sıra ilişkili satırlara da uygulanır. Bir tabloda birden çok ilişki olduğunda filtreler, etkin olan ilişki için güvenlik sağlar. Satır düzeyi güvenlik formülleri, ilgili tablolar için tanımlanan diğer formüllerle kesişir.

Daha fazla bilgi edinmek için şu makalelere bakın:
Power BI ile satır düzeyinde güvenlik (RLS)
Analysis Services’daki roller

Sorgular

DAX sorguları, SQL Server Management Studio’nun (SSMS) yanı sıra DAX Studio (daxstudio.org) gibi açık kaynak araçlarda oluşturulabilir ve çalıştırılabilir. DAX sorguları, yalnızca tablosal veri modellerinde oluşturulabilen DAX hesaplama formüllerinden farklı olarak Analysis Services çok boyutlu modelleri ile de çalıştırılabilir. DAX sorgusu yazmak, Çok Boyutlu Veri İfadeleri (MDX) sorgularına kıyasla çoğunlukla daha kolaydır ve daha verimlidir.

DAX sorgusu, T-SQL dilindeki SELECT deyimine benzer bir deyimdir. DAX sorgusunun en temel türü, evaluate deyimidir. Örneğin,

EVALUATE
 ( FILTER ( 'DimProduct', [SafetyStockLevel] < 200 ) )
ORDER BY [EnglishProductName] ASC

SafetyStockLevel değeri 200'ün altında olan ürünlerin, EnglishProductName ölçütüne göre artan sırada listelendiği bir Sonuçlar tablosu döndürür.

Sorgu kapsamında ölçü de oluşturabilirsiniz. Ölçüler yalnızca sorgunun süresi boyunca kalıcı olur. Daha fazla bilgi edinmek için bkz. DAX sorguları.

Formüller

DAX formülleri, hesaplanmış sütun ve ölçülerde hesaplama oluşturmak ve satır düzeyi güvenlikle verilerinizin güvenliğini sağlamak için gereklidir. Hesaplanmış sütunlar ve ölçüler için formül oluştururken model tasarımcısı penceresinin üst kısmındaki formül çubuğunu veya DAX Editor’ı kullanın. Satır düzeyi güvenliğe yönelik formüller oluşturmak için Rol Yöneticisi’ni veya Rolleri yönet iletişim kutusunu kullanın. Bu bölümdeki bilgiler, DAX formülleriyle ilgili temel bilgileri anlamanıza yardımcı olma amacını taşımaktadır.

Formüllerle ilgili temel bilgiler

DAX formülleri çok basit veya oldukça karmaşık olabilir. Aşağıdaki tabloda, hesaplanmış sütun içinde kullanılabilecek basit formüllerle ilgili bazı örnekler gösterilmiştir.

Formül Tanım
= TODAY() Hesaplanmış sütunun her satırına bugünün tarihini ekler.
= 3 Hesaplanmış sütunun her satırına 3 değerini ekler.
= [Column1] + [Column2] [Column1] ve [Column2] sütunlarının aynı satırındaki değerleri toplar ve sonuçları aynı satırın hesaplanmış sütununa yerleştirir.

Hem basit hem de karmaşık formül oluşturmak için izlemeniz gereken adımlar aynıdır:

  1. Her formül eşittir işaretiyle (=) başlamalıdır.

  2. İşlev adı yazabilir veya seçebilir ya da ifade yazabilirsiniz.

  3. İstediğiniz işlevin veya adın ilk birkaç harfini yazdığınızda Otomatik Tamamlama özelliği, kullanılabilir işlevlerin, tabloların ve sütunların listesini görüntüler. Otomatik Tamamlama listesindeki bir öğeyi formüle eklemek için SEKME tuşuna basın.

    Fx düğmesine tıkladığınızda da kullanılabilir işlevlerin bir listesi görüntülenir. Açılan listedeki işlevlerden birini seçmek için ok tuşlarını kullanarak ilgili işlevi vurgulayın ve Tamam'a tıklayarak formüle ekleyin.

  4. İşlevin bağımsız değişkenlerini olası tablo ve sütun değerlerinin görüntülendiği açılan listeden seçebilir veya kendiniz yazabilirsiniz.

  5. Söz dizimi hatalarını denetleyin. Tüm ayraçların kapatıldığından ve sütun, tablo ile değer başvurularının doğru olduğundan emin olun.

  6. Formülü kabul etmek için ENTER tuşuna basın.

Not

Hesaplanmış sütuna bir formül girdiğinizde ve bu formül doğrulandığında, sütunda ilgili değerler görüntülenir. Ölçü içinde ENTER tuşuna basarsanız ölçü tanımı tabloya kaydedilir. Formülün geçersiz olması durumunda bir hata görüntülenir.

Bu örnekte Days in Current Quarter (Geçerli Çeyrek İçindeki Gün Sayısı) adlı ölçüde yer alan formülü inceleyeceğiz:

Days in Current Quarter = COUNTROWS( DATESBETWEEN( 'Date'[Date], STARTOFQUARTER( LASTDATE('Date'[Date])), ENDOFQUARTER('Date'[Date])))

Bu ölçü, tamamlanmamış bir dönemle ondan önceki dönem arasında bir karşılaştırma oranı oluşturmak için kullanılır. Formülün, geçen sürenin oranını hesaba katması ve bunu bir önceki dönemdeki aynı oranla karşılaştırması gerekir. Bu durumda [Geçerli Çeyreğin Başından Bugüne Geçen Gün Sayısı]/[Geçerli Çeyrekteki Gün Sayısı], geçerli dönemde geçen oranı verir.

Bu formülde aşağıdaki öğeler kullanılmıştır:

Formül öğesi Açıklama
Days in Current Quarter Ölçünün adı.
= Eşittir işareti (=) formülü başlatır.
COUNTROWS COUNTROWS, Date (Tarih) tablosundaki satırları sayar
() Açılan ve kapanan ayraçlar, bağımsız değişkenleri belirtir.
DATESBETWEEN DATESBETWEEN işlevi, Date (Tarih) tablosundaki Date (Tarih) sütununda bulunan her değer ile son tarih arasındaki gün sayısını döndürür.
'Date' Date (Tarih) tablosunu belirtir. Tablolar tek tırnak içine alınır.
[Date] Date (Tarih) tablosundaki Date (Tarih) sütununu belirtir. Sütunlar köşeli ayraç içine alınır.
,
STARTOFQUARTER STARTOFQUARTER işlevi, çeyreğin başlangıç tarihini döndürür.
LASTDATE LASTDATE işlevi, çeyreğin son tarihini döndürür.
'Date' Date (Tarih) tablosunu belirtir.
[Date] Date (Tarih) tablosundaki Date (Tarih) sütununu belirtir.
,
ENDOFQUARTER ENDOFQUARTER işlevi
'Date' Date (Tarih) tablosunu belirtir.
[Date] Date (Tarih) tablosundaki Date (Tarih) sütununu belirtir.

Formülde Otomatik Tamamlama özelliğini kullanma

Otomatik Tamamlama özelliği, formüldeki her öğeyle ilgili seçenekler sunarak geçerli bir söz dizimi oluşturmanıza yardımcı olur.

  • Otomatik Tamamlama özelliğini mevcut bir formülün ortasındaki iç içe yerleştirilmiş işlevler için de kullanabilirsiniz. Açılan listedeki değerleri görüntülemek için ekleme noktasının hemen önündeki metin kullanılır ve ekleme noktasının sonrasındaki metin değiştirilmez.

  • Otomatik Tamamlama özelliği, işlevlerin sonuna kapatma ayraçlarını eklemez ve ayraçları otomatik olarak eşleştirmez. Formülü kaydedebilmek veya kullanabilmek için her işlevin doğru söz dizimine sahip olduğundan emin olmanız gerekir.

Bir formülde birden çok işlev kullanma

İşlevleri iç içe yerleştirerek bir işlevin sonucunu başka bir işlevin bağımsız değişkeni olarak kullanabilirsiniz. Hesaplanmış sütunlarda en fazla 64 işlevi iç içe yerleştirebilirsiniz. Ancak işlevleri iç içe yerleştirmek, formül oluşturma veya sorun giderme adımlarını zorlaştırabilir. Birçok işlev yalnızca iç içe yerleştirilmiş işlev olarak kullanılacak şekilde tasarlanmıştır. Bu işlevlerin döndürdüğü tablolar, doğrudan bir sonuç olarak kaydedilemez. Döndürülen sonucun bir tablo işlevinin girişi olarak sağlanması gerekir. Örneğin SUMX, AVERAGEX ve MINX işlevleri ilk bağımsız değişken olarak bir tabloya ihtiyaç duyar.

İşlevler

İşlev, bir ifadenin içinde yer alan adlandırılmış formüldür. İşlevlerin çoğunun giriş olarak parametre olarak da bilinen gerekli ve isteğe bağlı bağımsız değişkenleri vardır. İşlev yürütüldüğünde bir değer döndürülür. DAX işlevleriyle tarih ve saatleri kullanarak hesaplamalar yapabilir, koşullu değerler oluşturabilir, dizelerle çalışabilir, ilişkilere bağlı aramalar yapabilir ve bir tablo üzerinde yineleme yaparak özyinelemeli hesaplamalar gerçekleştirebilirsiniz. Excel formüllerini kullanıyorsanız bu işlevlerin çoğu tanıdık gelecektir ancak DAX formülleri şu önemli farklara sahiptir:

  • Bir DAX işlevi, her zaman sütunun veya tablonun tamamına başvurur. Bir tablo veya sütundaki belirli değerleri kullanmak istiyorsanız formüle filtre ekleyebilirsiniz.

  • Hesaplamaları satır bazında özelleştirmeniz gerekiyorsa DAX, bağlama göre değişiklik gösteren hesaplamalar gerçekleştirmek için geçerli satır değerini veya ilişkili bir değeri bir tür parametre olarak kullanmanıza olanak sağlayan işlevler sunar. Bu işlevlerin nasıl çalıştığını anlamak için bu makaledeki Bağlam bölümüne bakın.

  • DAX, değer değil, tablo döndüren birçok işlev içerir. Tablo, raporlama istemcisinde görüntülenmez ancak diğer işlevlere giriş sağlamak için kullanılır. Örneğin, bir tabloyu alıp ardından bu tablodaki benzersiz değerleri sayabilir veya filtrelenmiş tablolarda veya sütunlarda dinamik toplamlar hesaplayabilirsiniz.

  • DAX’ta bir dizi akıllı zaman gösterimi işlevi vardır. Bu işlevler, tarih aralıklarını tanımlamanıza veya seçmenize ve bu tarihlere veya aralıklara bağlı olarak dinamik hesaplamalar gerçekleştirmenize olanak sağlar. Örneğin, paralel dönemler için toplamları karşılaştırabilirsiniz.

Toplama işlevleri

Toplama işlevleri, ifade tarafından tanımlandığı şekilde bir sütun veya tablodaki tüm satırlar için count, sum, average, minimum veya maximum gibi bir (skaler) değeri hesaplar. Daha fazla bilgi için bkz. Toplama işlevleri.

Tarih ve saat işlevleri

DAX'taki tarih ve saat işlevleri, Microsoft Excel'deki tarih ve saat işlevlerine benzer. Ancak DAX işlevleri, 1 Mart 1900’den başlayan bir datetime veri türünü temel alır. Daha fazla bilgi için bkz. Tarih ve saat işlevleri.

Filtre işlevleri

DAX'taki filtre işlevleri belirli veri türlerini döndürür, ilişkili tablolarda değer arar ve ilişkili değerlere göre filtreleme yapar. Arama işlevleri, veritabanında olduğu gibi tabloları ve ilişkileri kullanır. Filtreleme işlevleri, veri bağlamını değiştirerek dinamik hesaplamalar oluşturmanızı sağlar. Daha fazla bilgi için bkz. Filtre işlevleri.

Finansal işlevler

DAX’taki finansal işlevler bugünkü net değer ve iade oranı gibi finansal hesaplamalar yapan formüllerde kullanılır. Bu işlevler, Microsoft Excel’de kullanılan finansal işlevlere benzer. Daha fazla bilgi için bkz. Finansal işlevler.

Bilgi işlevleri

Bilgi işlevi, bağımsız değişken olarak sağlanan hücreye veya satıra bakar ve değerin beklenen türle eşleşip eşleşmediğini bildirir. Örneğin ISERROR işlevi, başvurduğunuz hedefte hata olması durumunda TRUE değerini döndürür. Daha fazla bilgi için bkz. Bilgi işlevleri.

Mantıksal işlevler

Mantıksal işlevler, bir ifade üzerinde işlem gerçekleştirir ve bu ifadedeki değerlerle ilgili bilgi döndürür. Örneğin TRUE işlevi, değerlendirdiğiniz ifadenin TRUE değeri döndürüp döndürmediğini öğrenmenizi sağlar. Daha fazla bilgi için bkz. Mantıksal işlevler.

Matematik ve trigonometri işlevleri

DAX'taki matematik işlevleri, Excel'deki matematik ve trigonometri işlevlerine çok benzer. DAX işlevleri tarafından kullanılan sayısal veri türlerinde bazı küçük farklar vardır. Daha fazla bilgi için bkz. Matematik ve trigonometri işlevleri.

Diğer işlevler

Bu işlevler, diğer işlevlerin ait olduğu kategorilere girmeyen benzersiz eylemler gerçekleştirir. Daha fazla bilgi için bkz. Diğer işlevler.

İlişki işlevleri

DAX’taki ilişki işlevleri başka bir ilişkili tablodan veriler döndürmenize, bir ifadede kullanmak üzere belirli bir ilişkili belirtmenize ve çapraz filtreleme yönünü belirlemenize olanak verir. Daha fazla bilgi edinmek için bkz. İlişki işlevleri.

İstatistiksel işlevler

İstatistiksel işlevler, standart sapma ve permütasyon sayısı gibi istatistiksel dağılımlarla ve olasılıkla ilgili değerleri hesaplar. Daha fazla bilgi için bkz. İstatistiksel işlevler.

Metin işlevleri

DAX’taki metin işlevleri, Excel’deki metin işlevlerine çok benzer. Bir dizenin bir bölümünü döndürebilir, bir dize içinde metin arayabilir veya dize değerlerini birleştirebilirsiniz. DAX ayrıca tarih, saat ve sayı biçimlerini denetlemeye yönelik işlevler de sunar. Daha fazla bilgi için bkz. Metin işlevleri.

Akıllı zaman gösterimi işlevleri

DAX'taki akıllı zaman gösterimi işlevleri, takvimler ve tarihler ile ilgili yerleşik bilgileri kullanan hesaplamalar oluşturmanızı sağlar. Zaman ve tarih aralıklarını toplamalar veya hesaplamalar ile birlikte kullanarak satış ve stok gibi durumlar için karşılaştırılabilir zaman aralıklarını kapsayan anlamlı karşılaştırmalar oluşturabilirsiniz. Daha fazla bilgi için bkz. Akıllı zaman gösterimi işlevleri (DAX).

Tablo düzenleme işlevleri

Bu işlevler bir tablo döndürür veya mevcut tabloları düzenler. Örneğin, ADDCOLUMNS işlevini kullanarak belirli bir tabloya hesaplanmış sütunlar ekleyebilir veya SUMMARIZECOLUMNS işleviyle bir küme grubundan özet tablosu döndürebilirsiniz. Daha fazla bilgi için bkz. Tablo düzenleme işlevleri.

Değişkenler

VAR kullanarak ifade içinde değişken oluşturabilirsiniz. VAR teknik açıdan bir işlev değil bir ifadenin sonucunu adlandırılmış değişken olarak depolamanızı sağlayan bir anahtar sözcüktür. Bu değişkeni daha sonra diğer ölçü ifadelerine bağımsız değişken olarak geçirebilirsiniz. Örnek:

VAR
    TotalQty = SUM ( Sales[Quantity] )

Return

    IF (
        TotalQty > 1000,
        TotalQty * 0.95,
        TotalQty * 1.25
        )

Bu örnekte TotalQty değeri, adlandırılmış değişken olarak diğer ifadelere geçirilebilir. Değişkenler, tablolar da dahil olmak üzere tüm skaler veri türlerinde olabilir. DAX formüllerinizde değişkenleri kullanarak etkili sonuçlar elde edebilirsiniz.

Veri türleri

Model içine farklı veri türlerini destekleyen birçok farklı veri kaynağından veri aktarabilirsiniz. Modele aktardığınız veriler tablosal model veri türlerinden birine dönüştürülür. Model verileri bir hesaplamada kullanıldığında bu veriler hesaplamanın süresi boyunca ve çıkışı olarak bir DAX veri türüne dönüştürülür. Bir DAX formülü oluşturduğunuzda formülde kullanılan terimler otomatik olarak döndürülen değerin veri türünü belirler.

DAX şu veri türlerini destekler:

Modeldeki veri türü DAX’teki veri türü Açıklama
Tam Sayı 64 bit (sekiz bayt) tamsayı değeri 1, 2 Ondalık basamağı olmayan sayılar. Tamsayılar pozitif veya negatif olabilir ancak -9.223.372.036.854.775.808 (-2^63) ile 9.223.372.036.854.775.807 (2^63-1) arasında bir tamsayı olması gerekir.
Ondalık Sayı 64 bit (sekiz bayt) gerçek sayı 1, 2 Gerçek sayılar ondalık basamağa sahip olabilir. Gerçek sayılar, geniş bir değer aralığını kapsar:

-1,79E +308 ile -2,23E -308 arasındaki negatif sayılar

Sıfır

2,23E -308 ile 1,79E + 308 arasındaki pozitif sayılar

Ancak anlamlı basamak sayısı 17 ondalık basamakla sınırlıdır.
Boole Boole True veya False değeri.
Metin Dize Unicode karakter veri dizesi. Metin biçiminde gösterilmiş dizeler, sayılar veya tarihler olabilir.
Tarih Tarih/saat Kabul edilen tarih saat gösteriminde tarihler ve saatler.

1 Mart 1900 sonrasındaki tüm tarihler geçerlidir.
Para Birimi Para Birimi Para birimi veri türü, -922.337.203.685.477,5808 ile 922.337.203.685.477,5807 arasındaki değerlere ve sabit duyarlıktaki dört ondalık basamağa izin verir.
Yok Boş DAX'ta boş, SQL'deki null değerleri temsil eden ve bunların yerini alan veri türüdür. BLANK işlevini kullanarak boş değer oluşturabilir ve ISBLANK mantıksal işlevi ile boş değer olup olmadığını test edebilirsiniz.

Tablosal veri modelleri, birçok DAX işlevinde giriş veya çıkış olarak kullanılabilen Tablo veri türünü de içerir. Örneğin FILTER işlevi, giriş olarak bir tablo alır ve yalnızca filtre koşullarını karşılayan satırları içeren bir tabloyu çıkış olarak verir. Tablo işlevlerini toplama işlevleriyle birlikte kullanarak dinamik olarak tanımlanan veri kümelerinde karmaşık hesaplamalar yapabilirsiniz.

Veri türleri otomatik olarak ayarlanır ancak veri türlerini ve özellikle DAX formüllerinde nasıl kullanıldıklarını anlamak önemlidir. Örneğin, formüllerdeki hataların veya beklenmeyen sonuçların nedeni genellikle bağımsız değişkende belirtilen veri türüyle kullanılamayacak olan bir işlecin kullanılmasıdır. Örneğin = 1 & 2 formülü 12 dize sonucunu döndürür. Ancak = "1" + "2" formülü, 3 tamsayı sonucunu döndürür.

Bağlam

Bağlam, DAX formülü oluştururken anlamanız gereken önemli kavramlardan biridir. Formülün sonucu, seçilen satıra veya hücreye göre ve ilişkili verilere göre değişiklik gösterdiğinden bağlam, dinamik analiz gerçekleştirmenizi sağlar. Bağlamı anlamak ve etkili bir şekilde kullanmak, yüksek performanslı ve dinamik analiz gerçekleştirmenin yanı sıra formüllerdeki sorunları giderme açısından kritik öneme sahiptir.

Tablosal modellerdeki formüller, diğer tasarım öğelerine bağlı olarak farklı bir bağlamda değerlendirilebilir:

  • Bir PivotTable'a veya rapora uygulanan filtreler
  • Formül içinde tanımlanan filtreler
  • Formül içinde özel işlev kullanılarak belirtilen ilişkiler

Bağlamın farklı türleri vardır: satır bağlamı, sorgu bağlamı ve filtre bağlamı.

Satır bağlamı

Satır bağlamı, "geçerli satır" olarak düşünülebilir. Hesaplanmış sütunda bir formül oluşturursanız söz konusu formülün satır bağlamı geçerli satırın tüm sütunlarındaki değerleri içerir. Tablonun başka bir tabloyla ilişkilendirilmiş olması durumunda bağlam, diğer tablodaki geçerli satırla ilişkili olan değerleri de içerir.

Örneğin = [Freight] + [Tax] formülüyle aynı tablonun "Freight" ve "Tax" adlı sütunlarındaki değerleri toplayan bir hesaplanmış sütun oluşturduğunuzu düşünün. Bu formül otomatik olarak yalnızca belirtilen sütunların geçerli satırındaki değerleri alır.

Satır bağlamı ayrıca hesaplanmış sütun içinde DAX formülleri kullanılarak tanımlanan ilişkiler dahil olmak üzere tablolar arasında tanımlanmış ilişkileri izler ve ilişkili tablolarda geçerli satırla ilişkili satırları belirler.

Örneğin, aşağıdaki formülde siparişin gönderildiği bölgeye göre ilişkili tablodan vergi değerini almak için RELATED işlevi kullanılmıştır. Vergi değerinin belirlenmesi için geçerli tablodaki bölge değeri kullanılmış, bölge değeri ilişkili tabloda aranmış ve sonra bu bölgeye ait vergi oranı ilişkili tablodan alınmıştır.

= [Freight] + RELATED('Region'[TaxRate])  

Bu formül, Region (Bölge) tablosundan geçerli bölgeye ait vergi oranını alır ve Freight (Nakliye) sütununun değerine ekler. DAX formüllerinde tabloları bağlayan ilişkiyi bilmeniz veya belirtmeniz gerekmez.

Birden çok satır bağlamı

DAX, bir tablo üzerinde yinelenen hesaplamalar gerçekleştirmeyi sağlayan işlevlere sahiptir. Bu işlevler, her biri kendi satır bağlamına sahip olan birden fazla geçerli satıra sahip olabilir. Bu işlevler temelde işlemleri iç ve dış döngü içinde yinelemenize imkan tanıyan formüller oluşturmanızı sağlar.

Örneğin modelinizde bir Products (Ürünler) tablosu bir de Sales (Satış) tablosu olduğunu düşünün. Kullanıcılar, biden fazla ürünle ilgili işlemlerin yer aldığı satış tablosunu inceleyip her bir ürün için tek işlemde sipariş edilen en yüksek miktarı bulmak isteyebilir.

DAX ile doğru değeri döndüren tek bir formül oluşturabilirsiniz. Kullanıcılar tabloya veri ekledikçe sonuçlar da otomatik olarak güncelleştirilir.

= MAXX(FILTER(Sales,[ProdKey] = EARLIER([ProdKey])),Sales[OrderQty])  

Bu formülle ilgili ayrıntılı bir örnek için bkz. EARLIER.

Özetlemek gerekirse, EARLIER işlevi, geçerli işlemden önce gerçekleştirilen işlemin satır bağlamını depolar. İşlev her zaman iki bağlam kümesini bellek içinde depolar. Bu kümelerden ilki, formülün iç döngüsü için geçerli satırı temsil ederken diğer bağlam kümesi, formülün dış döngüsü için geçerli satırı temsil eder. DAX, değerleri iki döngü arasında otomatik olarak besleyerek karmaşık toplama işlemleri gerçekleştirmenizi sağlar.

Sorgu bağlamı

Sorgu bağlamı, bir formül için örtük olarak getirilen veri alt kümesini tanımlar. Örneğin, kullanıcı bir rapora ölçü veya alan yerleştirdiğinde altyapı, bağlamı belirlemek için satır ve sütun üst bilgilerini, dilimleyicileri ve rapor filtrelerini inceler. Daha sonra gerekli sorgular model verilerine karşı çalıştırılarak doğru veri alt kümesi elde edilir, formül tarafından tanımlanan hesaplamalar yapılır ve rapor değerlerle doldurulur.

Formülü yerleştirdiğiniz yere göre bağlam değiştiğinden formülün sonuçları da değişiklik gösterebilir. Örneğin, Sales tablosunun kâr sütunundaki değerleri toplayan bir formül oluşturduğunuzu varsayalım: . Bu formülü Sales (Satış) tablosunun içindeki bir hesaplanmış sütunda kullanırsanız bağlamı, Sales tablosunun veri kümesinin tamamı olacağından formül, tablonun tamamı için aynı sonucu verecektir. Sonuçlarda tüm bölgelerin, tüm ürünlerin, tüm yılların, kısacası tüm değişkenlerin kar değerleri döndürülecektir.

Ancak kullanıcılar genellikle aynı sonucu yüzlerce kez görmek istemez. Bunun yerine belirli bir yıla, belirli bir ülkeye, belirli bir ürüne veya bunların birleşimine ait olan kar oranını görmek ve ardından genel toplam değerine ulaşmak isterler.

Raporda bağlam filtreleme uygulayarak, alan ekleyip kaldırarak ve dilimleyiciler kullanılarak değiştirilir. Her değişiklik için, ölçünün bulunduğu sorgu bağlamı değerlendirilir. Bu nedenle ölçümde kullanılan formül, her hücre için farklı bir sorgu bağlamında değerlendirilir.

Filtre bağlamı

Filtre bağlamı, her sütundaki veya ilişkilendirilmiş tablodan alınan değerler arasındaki izin verilen değerlerin oluşturduğu kümedir. Filtreler, tasarımcıda veya sunum katmanında (raporlar ve PivotTable'lar) sütuna uygulanabilir. Filtreler ayrıca formül içinde filtre ifadeleriyle de açıkça tanımlanabilir.

Formülde bağımsız değişkenler kullanarak bir sütunda veya tabloda izin verilen değer kümesiyle ilgili filtre kısıtlamalarını belirttiğinizde filtre bağlamı eklenmiş olur. Filtre bağlamı, satır bağlamı veya sorgu bağlamı gibi diğer bağlamların üzerine uygulanır.

Tablosal modellerde filtre bağlamı oluşturmak için kullanılabilecek birçok yöntem vardır. Power BI raporları gibi modeli tüketebilecek istemci bağlamında kullanıcılar, dilimleyici veya satır ve sütun üst bilgilerine rapor filtresi ekleyerek filtre oluşturabilir. Ayrıca filtre ifadelerini doğrudan filtre içinde belirterek ilişkili değerleri belirleyebilir, giriş olarak kullanılan tabloları filtreleyebilir veya hesaplamalarda kullanılan değerler için dinamik olarak bağlam oluşturabilirsiniz. İsterseniz belirli sütunlardaki filtreleri tamamen veya kısmen silebilirsiniz. Bu seçenek, genel toplam hesaplayan formüller oluşturmak için kullanışlıdır.

Formül içinde filtre oluşturma hakkında daha fazla bilgi için bkz. FILTER İşlevi (DAX).
Filtrelerin genel toplam oluşturacak şekilde nasıl silineceğini gösteren örnek için bkz. ALL İşlevi (DAX).

Formüllerde belirli filtreleri silmeyi ve uygulamayı gösteren örnekler için bkz. ALLEXCEPT.

Formül içinde bağlamı belirleme

Oluşturduğunuz DAX formülleri, söz dizimi denetiminden geçirildikten sonra formüldeki sütun ve tablo adlarının geçerli bağlamda bulunup bulunmadığı test edilir. Formülde belirtilen sütun veya tablo adının bulunamaması durumunda bir hata döndürülür.

Doğrulama (ve yeniden hesaplama işlemleri) için bağlam, yukarıdaki bölümlerde anlatıldığı gibi modeldeki kullanılabilir tablolar, tablolar arasındaki ilişkiler ve uygulanmış olan filtreler kullanılarak belirlenir.

Örneğin, yeni ve başka bir tabloyla ilişkili olmayan bir tabloya veri aktardıysanız (ve filtre uygulamadıysanız), geçerli bağlam tablodaki sütunların tamamı olur. Tablonun, ilişkiler yoluyla diğer tablolara bağlantısı varsa geçerli bağlama ilişkili tablolar da dahil edilir. Tabloya, Dilimleyici içeren ve muhtemelen bazı rapor filtreleri uygulanmış bir rapordan sütun eklerseniz, formülün bağlamı, raporun her hücresindeki verilerin alt kümesi olur.

Bağlam önemli bir kavramdır ve bazen formüllerle ilgili sorunları çözmeyi zorlaştırabilir. Bağlamın nasıl çalıştığını görmeniz için basit formüllerle ve ilişkilerle başlamanız önerilir. Aşağıdaki bölümde formüllerin dinamik olarak sonuç döndürmek için kullandığı farklı bağlam türlerine ilişkin örnekler verilmiştir.

İşleçler

DAX dilinde yazılan formüllerde dört farklı türde hesaplama işleci kullanılır:

  • Değerleri karşılaştırmak ve mantıksal TRUE\FALSE değeri döndürmek için kullanılan karşılaştırma işleçleri.
  • Sayısal değerler döndüren aritmetik hesaplamalar gerçekleştirmek için kullanılan aritmetik işleçler.
  • İki veya daha fazla metin dizesini birleştirmek için kullanılan birleştirme işleçleri.
  • İki veya daha fazla ifadeyi birleştirerek tek bir sonuç döndüren mantıksal işleçler.

DAX formüllerinde kullanılan işleçler hakkında ayrıntılı bilgi için bkz. DAX işleçleri.

Tablolar ve sütunlarla çalışma

Tablosal veri modellerindeki tablolar, Excel tablolarına benzer ancak verilerle ve formüllerle çalışma şekli farklıdır:

  • Formüller yalnızca tablolar ve sütunlarla çalışır; tek hücrelerle, aralık başvurularıyla veya dizilerle çalışmaz.
  • Formüller, ilişkileri kullanarak ilişkili tablolardaki değerleri alabilir. Getirilen değerler her zaman geçerli satır değeriyle ilişkilidir.
  • Excel çalışma sayfalarında olduğu gibi düzensiz verilere sahip olamazsınız. Tablodaki her satırda aynı sayıda sütun olması gerekir. Ancak bazı sütunlarda boş değerler olabilir. Excel veri tabloları ve tablosal model veri tabloları birbirinin yerine kullanılamaz.
  • Veri türleri sütunlara atandığından bir sütundaki tüm değerlerin aynı türde olması gerekir.

Formüllerde tablolara ve sütunlara başvurma

Bir tabloya veya sütuna başvurmak için adını kullanabilirsiniz. Örneğin, aşağıdaki formülde, iki tablodaki sütunlara tam adını kullanarak başvurma adımları gösterilmiştir:


= SUM('New Sales'[Amount]) + SUM('Past Sales'[Amount])  

Bir formül değerlendirildiğinde model tasarımcısı öncelikle genel söz dizimini denetler, ardından da sağladığınız sütun ve tablo adlarını geçerli bağlamdaki olası sütun ve tablo adlarıyla karşılaştırır. Adın belirsiz olması veya sütunun ya da tablonun bulunamaması durumunda formülle ilgili bir hata döndürülür (hatanın oluştuğu hücrelerde veri yerine #ERROR dizesi görüntülenir). Tablolara, sütunlara ve diğer nesnelere ilişkin adlandırma gereksinimleri hakkında daha fazla bilgi için DAX söz dizimindeki Adlandırma Gereksinimleri bölümünü inceleyin.

Tablo ilişkileri

Tablolar arasında ilişkiler oluşturarak, diğer tablolardaki ilişkili verileri hesaplamalarda kullanılabilme özelliğini elde edersiniz. Örneğin, bir hesaplanmış sütunu kullanarak geçerli satıcıyla ilişkili tüm gönderim kayıtlarını belirleyebilir ve her birinin gönderim maliyetlerini toplayabilirsiniz. Ancak çoğu durumda ilişki kurmak gerekli olmayabilir. Bir formülde LOOKUPVALUE işlevini kullanarak arama_sütunu ve arama_değeri bağımsız değişkenleriyle belirtilen ölçütleri karşılayan satıra ait değeri sonuç_sütunAdı içinde döndürebilirsiniz.

Birçok DAX işlevinde, başvurduğunuz sütunları bulmak ve mantıklı sonuçlar döndürmek için tablolar veya birden fazla tablo arasında bir ilişki bulunması gerekir. Diğer işlevler, ilişkiyi tanımlamaya çalışır ancak en iyi sonuçları elde etmek için mümkün olan durumlarda ilişki oluşturmanız gerekir. Tablosal veri modelleri, tablolar arasında birden çok ilişki kurulmasını destekler. Kafa karışıklığı yaratmaması veya hatalı sonuçlara neden olmaması için tek seferde yalnızca bir ilişki etkin olarak kabul edilir. Ancak gerekirse etkin ilişkiyi değiştirerek veri hesaplamalarında farklı bağlantılara geçiş yapabilirsiniz. USERELATIONSHIP işlevi, belirli bir hesaplamada kullanılacak bir veya daha fazla ilişkiyi belirtmek için kullanılabilir.

İlişkileri kullanırken şu formüle tasarım kurallarına dikkat edilmesi gerekir:

  • Tablolar bir ilişkiyle bağlandığında, anahtar olarak kullanılan iki sütunda eşleşen değerlerin olduğundan emin olmanız gerekir. Bilgi tutarlılığı zorunlu kılınmadığından anahtar sütununda eşleşen değerler olmasa da ilişki oluşturabilirsiniz. Bu durumda boş değerlerin veya eşleşmeyen değerlerin formül sonuçlarını etkileyebileceğini bilmeniz gerekir.

  • Modelinizdeki tabloları ilişkiler kullanarak bağladığınızda formüllerin değerlendirildiği kapsamı veya bağlamı genişletmiş olursunuz. Yeni tabloların veya yeni ilişkilerin eklenmesi ya da etkin ilişkilerde değişiklik yapılması nedeniyle ortaya çıkan bağlam değişiklikleri, sonuçlarınızın tahmin edemeyeceğiniz şekilde değişmesine neden olabilir. Daha fazla bilgi edinmek için bu makaledeki Bağlamı inceleyin.

İşleme ve yenileme

İşleme ve yeniden hesaplama iki ayrı işlemdir ancak aralarında bağlantı vardır. Karmaşık formüller, çok miktarda veri veya dış veri kaynaklarından alınan veriler içeren bir model tasarlarken bu kavramları ayrıntılı bir şekilde anlamanız gerekir.

İşleme (yenileme), modelin içindeki verileri dış veri kaynağından alınan yeni verilerle güncelleştirme işlemidir.

Yeniden hesaplama ise formül sonuçlarını, formüllerde ve temel alınan verilerde yapılan değişiklikleri yansıtacak şekilde güncelleştirme işlemidir. Yeniden hesaplamanın performans üzerindeki etkileri şunlardır:

  • Hesaplanmış sütundaki değerler, model içinde hesaplanır ve depolanır. Hesaplanmış sütundaki değerleri güncelleştirmek için şu üç işleme komutundan birini kullanarak modeli işlemeniz gerekir: İşlem Tamam, İşlem Veriler veya İşlem Yeniden Hesapla. Formülü her değiştirdiğinizde sütunun tamamı için yeniden hesaplama işlemi gerçekleştirilmelidir.

  • Ölçülerle hesaplanan değerler, kullanıcı ilgili ölçüyü bir PivotTable’a eklediğinde veya bir raporu açtığında dinamik olarak değerlendirilir. Kullanıcı bağlamı değiştirdiğinde ölçünün döndürdüğü değerler de değişir. Ölçünün sonuçları her zaman bellek içi önbellekteki en güncel verileri yansıtır.

Yeniden hesaplama sonucu farklı bir değer döndürmedikçe ve bu nedenle satır, rol üyeleri tarafından sorgulanabilir veya sorgulanamaz hale gelmedikçe, işleme ve yeniden hesaplama, satır düzeyi güvenlik formüllerini etkilemez.

Güncelleştirmeler

DAX sürekli iyileştirilmektedir. Yeni ve güncelleştirilmiş işlevler genellikle aylık olarak sunulan sonraki güncelleştirmede yayımlanır. Öncelikle hizmetler, ardından Power BI Desktop, Excel, SQL Server Management Studio (SSMS) ve Visual Studio için Analysis Services proje uzantısı (SSDT) gibi yüklü uygulamalar güncelleştirilir. SQL Server Analysis Services, bir sonraki toplu güncelleştirmede güncelleştirilir. Yeni işlevler ilk olarak, Power BI Desktop güncelleştirmeleriyle aynı zamana denk gelen DAX işlev başvurusunda duyurulur ve açıklanır.

SQL Server Analysis Services ve Excel’in önceki sürümlerinde tüm işlevler desteklenmez.

Sorun giderme

Formül tanımlarken hata alıyorsanız formülde söz dizimi hatası, anlamsal hata veya hesaplama hatası olabilir.

Söz dizimi hataları, çözmesi en kolay olan hatalardır. Bu hatalar genellikle bir ayracın veya virgülün eksik olmasından kaynaklanır.

Diğer bir hata türünde ise söz dizimi doğruyken başvurulan değer veya sütun, formül bağlamında anlamlı değildir. Bu tür anlamsal hataların ve hesaplama hatalarının nedenleri aşağıdakilerden biri olabilir:

  • Formül, mevcut olmayan bir sütuna, tabloya veya işleve başvuruyor olabilir.
  • Formül doğru gibi görünse de veri altyapısı verileri getirirken tür uyuşmazlığı nedeniyle hata bildirebilir.
  • Formülün işleve geçirdiği bağımsız değişkenlerin sayısı veya türü hatalı olabilir.
  • Formül, hata içeren farklı bir sütuna başvuruyor olabilir ve bu nedenle değerleri geçersiz olabilir.
  • Formül, işlenmemiş, başka bir deyişle meta veriler içeren ancak hesaplamada kullanılacak gerçek veri içermeyen bir sütuna başvuruyor olabilir.

İlk dört örnekte DAX, geçersiz formül içeren sütunun tamamını işaret eder. Son örnekte ise DAX, işlenmemiş durumda olduğunu belirtmek için sütunun rengini griye çevirir.

Uygulamalar ve araçlar

Power BI Desktop

Power BI Desktop

Power BI Desktop, ücretsiz bir veri modelleme ve raporlama uygulamasıdır. Model tasarımcısı, DAX hesaplama formülleri oluşturmayı sağlayan bir DAX düzenleyicisine sahiptir.

Excel’de Power Pivot

Excel’de Power Pivot

Excel’de Power Pivot, DAX hesaplama formülleri oluşturmayı sağlayan bir DAX düzenleyicisine sahiptir.

Visual Studio

Visual Studio

Analysis Services projeler uzantısına sahip Visual Studio (VSIX), Analysis Services model projeleri oluşturmak için kullanılır. Projeler uzantısıyla yüklenen tablosal model tasarımcısında DAX düzenleyicisi bulunur.

SQL Server Management Studio

SQL Server Management Studio

SQL Server Management Studio (SSMS), Analysis Services ile birlikte çalışmak için gerekli olan temel araçlardan biridir. SSMS içinde hem tablosal hem de çok boyutlu modelleri sorgulamak için kullanabileceğiniz bir DAX sorgu düzenleyicisi vardır.

DAX Studio

DAX Studio simgesi

DAX Studio; Analysis Services, Power BI Desktop ve Excel’de Power Pivot modellerinde DAX sorgusu oluşturmak ve çalıştırmak için kullanılan bir açık kaynak araçtır.

Tabular Editor

Tabular Editor simgesi

Tablosal Düzenleyici, tablosal model meta verilerindeki her nesnenin kullanımı kolay, hiyerarşik bir görünümünü sunan bir açık kaynak araçtır. Tablo Düzenleyicisi, ölçümleri, hesaplanan sütunları ve hesaplanan tablo ifadelerini düzenlemenin kolay bir yolunu sağlayan, söz dizimi vurgulama özelliğine sahip bir DAX düzenleyicisi içerir.

Öğrenme kaynakları

DAX'ı, veri modellerinizi oluşturmak için kullanacağınız uygulamayla öğrenmeniz önerilir. Analysis Services, Power BI Desktop ve Excel’de Power Pivot için DAX ile ölçü, hesaplanmış sütun ve satır filtresi oluşturma adımlarını içeren makaleler ve öğreticiler sunulmuştur. Aşağıdaki ek kaynakları da inceleyebilirsiniz:

Videolar

Microsoft Learn’deki Power BI Desktop’ta DAX kullanma yolu.

Alberto Ferrari ve Marco Russo tarafından yazılan Definitive Guide to DAX (Microsoft Press). Şimdi ikinci sürümünde, bu kapsamlı kılavuz, veri kılavuzlarından ve bı uzmanlarına yönelik yenilikçi yüksek performanslı teknikler için temel bilgiler sunmaktadır.

Definitive Guide to DAX kitabının görüntüsü

Topluluk

DAX, her zaman uzmanlığını paylaşmak isteyen canlı bir topluluğa sahiptir. Microsoft Power BI Community yalnızca dax, dax komutları ve İpuçlarıiçin özel bir tartışma forumuna sahiptir.