Power BI Desktop'ta DAX ile ilgili temel bilgileri öğrenin

Power BI Desktop'ta yeni olan kullanıcılar, birçok temel hesaplamayı ve veri analizi sorununu çözmek için Veri Çözümleme İfadeleri'ni (DAX) nasıl kullanabileceğinize hızlı ve kolay bir giriş olarak bu makaleyi kullanabilir. Bazı kavramsal bilgileri, tamamlayabileceğiniz bir dizi görevi ve öğrendiklerini test etmek için bilgi kontrolü yapacağız. Bu makaleyi tamamladıktan sonra DAX'taki en önemli temel kavramlar hakkında iyi bir anlayışa sahip olmanız gerekir.

DAX nedir?

DAX, bir veya daha fazla değeri hesaplamak ve döndürmek için bir formülde veya ifadede kullanılabilecek işlevler, işleçler ve sabitlerden oluşan bir koleksiyondur. DAX, modelinizde bulunan verilerden yeni bilgiler oluşturmanıza yardımcı olur.

DAX neden bu kadar önemli?

Yeni bir Power BI Desktop dosyası oluşturmak ve dosyaya veri aktarmak kolaydır. Hatta dax formülleri kullanmadan değerli içgörüler gösteren raporlar bile oluşturabilirsiniz. Ancak, ürün kategorilerinde ve farklı tarih aralıklarında büyüme yüzdesini analiz etmeniz gerekiyorsa ne olacak? Veya pazar eğilimlerine kıyasla yıldan yıla büyümeyi hesaplamanız mı gerekiyor? DAX formülleri bu özelliği ve diğer birçok önemli özelliği de sağlar. Etkili DAX formülleri oluşturmayı öğrenmek, verilerinizden en iyi şekilde yararlanmak için size yardımcı olur. İhtiyacınız olan bilgileri aldığınızda, alt çizginizi etkileyen gerçek iş sorunlarını çözmeye başlayabilirsiniz.

Önkoşullar

Microsoft Excel'de formül oluşturma konusunda zaten bilgi sahibi olabilirsiniz ve bu bilgiler DAX'ı anlamanıza yardımcı olacaktır. Ancak Excel formülleri konusunda hiç deneyiminiz olmasa bile, burada açıklanan kavramlar DAX formülleri oluşturmaya ve gerçek dünyadaki BI sorunlarını hemen çözmeye başlamanıza yardımcı olacaktır.

Hesaplamalarda, özellikle ölçülerde ve hesaplanmış sütunlarda kullanılan DAX formüllerini anlamaya odaklanacağız. Verileri içeri aktarmak ve bir rapora alan eklemek için Power BI Desktop'ı kullanmayı zaten biliyor olmanız ve Ölçüler ve Hesaplanmış sütunların temel kavramlarını da biliyor olmanız gerekir.

Örnek çalışma kitabı

DAX öğrenmenin en iyi yolu bazı temel formüller oluşturmak, bunları gerçek verilerle kullanmak ve sonuçları kendiniz görmektir. Buradaki örnekler ve görevler, Power BI Desktop için Contoso Satış Örneği dosyasını kullanır. Bu örnek dosya, Öğretici: Power BI Desktop'ta kendi ölçülerinizi oluşturma makalesinde kullanılan dosyayla aynıdır.

Haydi başlayalım

DAX anlayışımızı üç temel kavram etrafında çerçeveleyeceğiz: Sözdizimi, İşlevler ve Bağlam. DAX'ta başka önemli kavramlar da vardır, ancak bu üç kavramı anlamak, DAX becerilerinizi oluşturmak için en iyi temeli sağlayacaktır.

Sözdizimi

Kendi formüllerinizi oluşturmadan önce DAX formül söz dizimine göz atalım. Söz dizimi, formülü oluşturan çeşitli öğeleri veya daha basit bir şekilde formülün nasıl yazıldığını içerir. Örneğin, ölçü için basit bir DAX formülü aşağıda verilmiştır:

Tek tek söz dizimi öğelerinin işaretçilerini içeren bir DAX formülünün ekran görüntüsü.

Bu formül aşağıdaki söz dizimi öğelerini içerir:

A. Ölçü adı, Toplam Satış.

B. Eşittir işareti işleci ()= formülün başlangıcını gösterir. Hesaplandığında bir sonuç döndürür.

C. Sales[SalesAmount] sütunundaki tüm sayıları toplayan TOPLA DAX işlevi. İşlevler hakkında daha sonra daha fazla bilgi edineceksiniz.

D. Bir veya daha fazla bağımsız değişken içeren bir ifadeyi çevreleyen parantez (). Çoğu işlev en az bir bağımsız değişken gerektirir. Bağımsız değişken bir işlevine bir değer geçirir.

E. Başvuruda bulunan Sales tablosu.

F. Sales tablosunda başvuruda bulunan [SalesAmount] sütunu. Bu bağımsız değişkende TOPLA işlevi, TOPLA işlevinin hangi sütunda toplanmasını bildiğini gösterir.

BIR DAX formülünü anlamaya çalışırken, öğelerin her birini her gün düşündüğünüz ve konuştuğunuz bir dile bölmek genellikle yararlı olur. Örneğin, bu formülü şu şekilde okuyabilirsiniz:

Total Sales adlı ölçü için Sales tablosunun [SalesAmount ] sütunundaki değerlerin TOPLA işlevini (=) hesaplayın.

Bir rapora eklendiğinde, bu ölçü dahil ettiğimiz diğer alanların her biri için satış tutarlarını toplayarak (örneğin, ABD'deki Hücre Telefon) değerleri hesaplar ve döndürür.

"Bu ölçü, raporuma yalnızca SalesAmount alanını eklememle aynı şeyi yapmıyor mu?" diye düşünüyor olabilirsiniz. Evet, evet. Ancak SalesAmount alanındaki değerleri toplayan kendi ölçümümüzü oluşturmak için iyi bir neden vardır: Bunu diğer formüllerde bağımsız değişken olarak kullanabiliriz. Bu çözüm şimdi biraz kafa karıştırıcı görünebilir, ancak DAX formül becerileriniz arttıkça bu ölçünün bilinmesi formüllerinizi ve modelinizi daha verimli hale getirir. Aslında Daha sonra Toplam Satış ölçüsünün diğer formüllerde bağımsız değişken olarak gösterildiğini göreceksiniz.

Şimdi bu formülle ilgili birkaç şeyin üzerinden geçelim. Özellikle SUM adlı bir işlev kullanıma sunulmuştur. İşlevler, sayılar, tarihler, saat, metin ve daha fazlası ile karmaşık hesaplamalar ve işlemeler yapmayı kolaylaştıran önceden yazılmış formüllerdir. İşlevler hakkında daha sonra daha fazla bilgi edineceksiniz.

[SalesAmount] sütun adının önüne sütunun ait olduğu Sales tablosunun geldiğini de görürsünüz. Bu ad, içinde tablo adından önce gelen sütun adını içerdiğinden tam sütun adı olarak bilinir. Aynı tabloda başvurulan sütunlar, tablo adının formüle eklenmesini gerektirmez ve bu da birçok sütuna başvuran uzun formüllerin daha kısa ve okunmasını kolaylaştırabilir. Ancak, aynı tabloda olsa bile ölçü formüllerinize tablo adını eklemek iyi bir uygulamadır.

Not

Tablo adında boşluklar, ayrılmış anahtar sözcükler veya izin verilmeyen karakterler varsa, tablo adını tek tırnak içine almanız gerekir. Ayrıca, yerel ayarınızın karakter kümesini destekleyip desteklemediğinden bağımsız olarak, ad ANSI alfasayısal karakter aralığının dışında karakterler içeriyorsa tablo adlarını tırnak içine almanız gerekir.

Formüllerinizin doğru söz dizimine sahip olması önemlidir. Çoğu durumda, söz dizimi doğru değilse bir söz dizimi hatası döndürülür. Diğer durumlarda söz dizimi doğru olabilir, ancak döndürülen değerler beklediğiniz gibi olmayabilir. Power BI Desktop'taki DAX düzenleyicisi, doğru öğeleri seçmenize yardımcı olarak bozulmadan doğru formüller oluşturmak için kullanılan bir öneri özelliği içerir.

Şimdi örnek bir formül oluşturalım. Bu görev, formül söz dizimini ve formül çubuğundaki öneriler özelliğinin size nasıl yardımcı olabileceğini daha iyi anlamanıza yardımcı olur.

Görev: Ölçü formülü oluşturma

  1. Contoso Satış Örneği Power BI Desktop dosyasını indirin ve açın.

  2. Rapor görünümünde, alan listesinde Satış tablosuna sağ tıklayın ve ardından Yeni Ölçü'yü seçin.

  3. Formül çubuğunda Ölçü'yü değiştirmek için yeni bir ölçü adı (Önceki Çeyrek Satışları) girin.

  4. Eşittir işaretinden sonra, ilk birkaç harfi CAL yazın ve kullanmak istediğiniz işleve çift tıklayın. Bu formülde CALCULATE işlevini kullanmak istiyorsunuz.

    TOPLAMAK istediğimiz tutarları CALCULATE işlevine geçireceğimiz bir bağımsız değişkene göre filtrelemek için CALCULATE işlevini kullanacaksınız. Bu işlev türü iç içe yerleştirme işlevleri olarak adlandırılır. CALCULATE işlevinin en az iki bağımsız değişkeni vardır. Birincisi değerlendirilecek ifade, ikincisi ise bir filtredir.

  5. Açma ayracından sonra ( CALCULATE işlevi için TOPLA yazın ve ardından başka bir açma parantezi ( yazın.

    Ardından TOPLA işlevine bir bağımsız değişken geçireceğiz.

  6. Sal yazmaya başlayın ve ardından Sales[SalesAmount] öğesini ve ardından bir kapanış ayracı ) seçin.

    Bu adım CALCULATE işlevimiz için ilk ifade bağımsız değişkenini oluşturur.

  7. İlk filtreyi belirtmek için bir virgül (,) ve ardından boşluk yazın ve sonra PREVIOUSQUARTER yazın.

    SUM sonuçlarını önceki çeyreğe göre filtrelemek için PREVIOUSQUARTER akıllı zaman gösterimi işlevini kullanacaksınız.

  8. Açma parantezinin ( PREVIOUSQUARTER işlevi için) sonra Calendar[DateKey] yazın.

    PREVIOUSQUARTER işlevinin bir bağımsız değişkeni vardır, bir sütun bitişik tarih aralığı içerir. Bizim örneğimizde bu, Takvim tablosundaki DateKey sütunudur.

  9. İki kapatma parantezi yazarak PREVIOUSQUARTER işlevine ve CALCULATE işlevine geçirilen bağımsız değişkenleri kapatın )).

    Formülünüzün şu şekilde görünmesi gerekir:

    Önceki Çeyrek Satışları = CALCULATE(SUM(Sales[SalesAmount]), PREVIOUSQUARTER(Calendar[DateKey]))

  10. Formül çubuğunda onay işaretini Onay işareti simgesi seçin veya formülü doğrulamak ve Sales tablosuna eklemek için Enter tuşuna basın.

Başardınız! DAX kullanarak karmaşık bir ölçü oluşturdunuz. Bu formülün yapacağı, bir rapora uygulanan filtrelere bağlı olarak önceki üç aylık dönemin toplam satışlarını hesaplamaktır. Örneğin Sales tablosundan SalesAmount ve yeni Önceki Çeyrek Satış ölçümümüzü Kümelenmiş sütun grafiğine yerleştirebiliriz. Ardından Takvim tablosundan Dilimleyici olarak Year öğesini ekleyin ve 2011'i seçin. Daha sonra QuarterOfYear'ı başka bir Dilimleyici olarak ekleyip 4'i seçtiğinizde aşağıdakine benzer bir grafik elde ederiz:

Önceki Çeyrek Satışlar ve SalesAmount grafiği

Örnek modelde 1/1/2011 ile 19.01.2013 arasında yalnızca az miktarda satış verileri olduğunu unutmayın. SalesAmount değerinin toplanamaz olduğu bir yıl veya çeyrek seçerseniz veya yeni ölçünüz geçerli veya önceki üç aylık dönemin satış verilerini hesaplayamazsa, bu döneme ait hiçbir veri gösterilmez. Örneğin, Yıl için 2011 ve QuarterOfYear için 1'i seçerseniz, 2010'un dördüncü çeyreği için veri olmadığından Önceki Çeyrek Satışlar için veri gösterilmez.

DAX formüllerinin birkaç önemli yönüyle tanıştırıldınız:

  • Bu formül iki işlev içeriyor. Akıllı zaman gösterimi işlevi PREVIOUSQUARTER, bir filtre işlevi olan CALCULATE işlevine geçirilen bağımsız değişken olarak iç içe yerleştirilmiştir.

    DAX formülleri en fazla 64 iç içe işlev içerebilir. Bir formülün bu kadar çok iç içe işlev içerme olasılığı düşüktür. Aslında, böyle bir formülü oluşturmak ve hatalarını ayıklamak zor olurdu ve muhtemelen hızlı da olmayacaktır.

  • Bu formülde filtreleri de kullandınız. Filtreler, hesaplanacakları daraltır. Bu durumda, bağımsız değişken olarak bir filtre seçtiniz ve bu da aslında başka bir işlevin sonucudur. Filtreler hakkında daha sonra daha fazla bilgi edineceksiniz.

  • CALCULATE işlevini kullandınız. Bu işlev DAX'taki en güçlü işlevlerden biridir. Modeller yazarken ve daha karmaşık formüller oluştururken bu işlevi büyük olasılıkla birçok kez kullanacaksınız. CALCULATE işlevi hakkında daha fazla tartışma bu makalenin kapsamı dışında olsa da, DAX bilginiz arttıkça buna özellikle dikkat edin.

Söz Dizimi QuickQuiz

  1. Formül çubuğundaki bu düğme ne yapar?

    Düğme seçimi

  2. DAX formülündeki bir sütun adını her zaman çevreleyen nedir?

Yanıtlar bu makalenin sonunda sağlanır.

İşlevler

İşlevler, bağımsız değişken olarak adlandırılan belirli değerleri belirli bir sırada veya yapıda kullanarak hesaplamalar yapan önceden tanımlanmış formüllerdir. Bağımsız değişkenler başka işlevler, başka bir formül, ifade, sütun başvuruları, sayılar, metin, DOĞRU veya YANLIŞ gibi mantıksal değerler veya sabitler olabilir.

DAX şu işlev kategorilerini içerir: Tarih ve Saat, Akıllı Zaman Gösterimi, Bilgi, Mantıksal, Matematiksel, İstatistiksel, Metin, Üst/Alt öğe ve Diğer işlevler. Excel formüllerindeki işlevleri biliyorsanız, DAX'taki işlevlerin çoğu size benzer görünür; ancak DAX işlevleri aşağıdaki yollarla benzersizdir:

  • DAX işlevi her zaman tam bir sütuna veya tabloya başvurur. Tablo veya sütundan yalnızca belirli değerleri kullanmak istiyorsanız, formüle filtre ekleyebilirsiniz.

  • Hesaplamaları satır satır özelleştirmeniz gerekiyorsa DAX, bağlama göre hesaplamalar yapmak için geçerli satır değerini veya ilgili değeri bağımsız değişken türü olarak kullanmanıza olanak sağlayan işlevler sağlar. Bağlam hakkında daha sonra daha fazla bilgi edineceksiniz.

  • DAX, değer yerine tablo döndüren birçok işlev içerir. Tablo görüntülenmez, ancak diğer işlevlere giriş sağlamak için kullanılır. Örneğin, bir tabloyu alıp içindeki ayrı değerleri sayabilir veya filtrelenmiş tablolar veya sütunlar arasında dinamik toplamları hesaplayabilirsiniz.

  • DAX, çeşitli akıllı zaman gösterimi işlevlerini içerir. Bu işlevler tarih aralıklarını tanımlamanıza veya seçmenize ve bunlara göre dinamik hesaplamalar yapmanıza olanak sağlar. Örneğin, toplamları paralel dönemler arasında karşılaştırabilirsiniz.

  • Excel'in popüler bir işlevi vardır: DÜŞEYARA. DAX işlevleri, EXCEL'de DÜŞEYARA işlevinin yaptığı gibi bir başvuru olarak hücre veya hücre aralığını almaz. DAX işlevleri bir sütunu veya tabloyu başvuru olarak alır. Power BI Desktop'ta ilişkisel veri modeliyle çalıştığınızı unutmayın. Başka bir tablodaki değerleri aramak kolaydır ve çoğu durumda formül oluşturmanız gerekmez.

    Gördüğünüz gibi DAX'taki işlevler güçlü formüller oluşturmanıza yardımcı olabilir. Yalnızca işlevlerin temellerine değindik. DAX becerileriniz arttıkça birçok farklı işlevi kullanarak formüller oluşturacaksınız. DAX işlevlerinin her biri hakkında ayrıntılı bilgi edinmek için en iyi yerlerden biri DAX İşlev Başvurusu'ndadır.

İşlevler QuickQuiz

  1. bir işlev her zaman neye başvurur?
  2. Formül birden fazla işlev içerebilir mi?
  3. İki metin dizesini tek bir dizede birleştirmek için hangi işlev kategorisini kullanırsınız?

Yanıtlar bu makalenin sonunda sağlanır.

Bağlam

Bağlam, anlaşılması gereken en önemli DAX kavramlarından biridir. DAX'ta iki tür bağlam vardır: satır bağlamı ve filtre bağlamı. İlk olarak satır bağlamı'ne bakacağız.

Satır bağlamı

Satır bağlamı en kolay geçerli satır olarak düşünülir. Bir formülün tablodaki tek bir satırı tanımlamak için filtreler uygulayan bir işlevi olduğunda uygulanır. İşlev doğal olarak filtrelendiği tablonun her satırı için bir satır bağlamı uygular. Bu tür satır bağlamı genellikle ölçüler için geçerlidir.

Filtre bağlamı

Filtre bağlamı, satır bağlamından biraz daha zordur. Filtre bağlamını en kolay şekilde şöyle düşünebilirsiniz: Bir sonucu veya değeri belirleyen bir hesaplamada uygulanan bir veya daha fazla filtre.

Filtre bağlamı satır bağlamı yerine mevcut değildir; bunun yerine satır bağlamlarına ek olarak uygulanır. Örneğin, hesaplamaya eklenecek değerleri daha da daraltmak için, yalnızca satır bağlamını değil, aynı zamanda bu satır bağlamında belirli bir değeri (filtre) de belirten bir filtre bağlamı uygulayabilirsiniz.

Filtre bağlamı raporlarınızda kolayca görülebilir. Örneğin, bir görselleştirmeye TotalCost ekleyip Year ve Region eklediğinizde, belirli bir yıl ve bölgeye göre verilerin bir alt kümesini seçen bir filtre bağlamı tanımlarsınız.

Filtre bağlamı DAX için neden bu kadar önemli? Görselleştirmeye alan ekleyerek filtre bağlamı uygulanabildiğini gördünüz. Filtre bağlamı DAX formülünde ALL, RELATED, FILTER, CALCULATE gibi işlevlere sahip bir filtre tanımlanarak, ilişkilere ve diğer ölçülere ve sütunlara göre de uygulanabilir. Örneğin, Mağaza Satışları adlı bir ölçüde aşağıdaki formüle bakalım:

Mağaza Satışları ölçüsü

Bu formülü daha iyi anlamak için diğer formüllerde olduğu gibi bu formülü de ayırabiliriz.

Bu formül aşağıdaki söz dizimi öğelerini içerir:

A. Ölçü adı, Mağaza Satışları.

B. Eşittir işareti işleci ()= formülün başlangıcını gösterir.

C. Belirtilen filtreler tarafından değiştirilen bir bağlamda bir ifadeyi bağımsız değişken olarak değerlendiren CALCULATE işlevi.

D. Bir veya daha fazla bağımsız değişken içeren bir ifadeyi çevreleyen parantez ().

E. İfadeyle aynı tabloda yer alan [Total Sales] ölçüsü. Toplam Satış ölçüsü şu formüle sahiptir: =TOPLA(Satış[SatışAmount]).

F. İlk ifade bağımsız değişkenini filtre bağımsız değişkeninden ayıran virgül (,).

G. Tam başvuruda bulunan Channel[ChannelName] sütunu. Bu bizim satır bağlamımızdır. Bu sütundaki her satır Mağaza veya Çevrimiçi gibi bir kanal belirtir.

H. Filtre olarak belirli bir değer olan Store. Bu, filtre bağlamımızdır.

Bu formül yalnızca Total Sales ölçüsü tarafından tanımlanan satış değerlerinin yalnızca Channel[ChannelName] sütunundaki satırlar için hesaplanmasını ve Store değerinin filtre olarak kullanılmasını sağlar.

Tahmin edebileceğiniz gibi, bir formül içinde filtre bağlamı tanımlayabilmenin muazzam ve güçlü özellikleri vardır. İlişkili bir tablodaki yalnızca belirli bir değere başvurma özelliği bu tür örneklerden yalnızca biridir. Bağlamı hemen tam olarak anlamıyorsanız endişelenmeyin. Kendi formüllerinizi oluştururken bağlamı ve DAX'ta neden bu kadar önemli olduğunu daha iyi anlayacaksınız.

Bağlam QuickQuiz

  1. İki bağlam türü nelerdir?
  2. Filtre bağlamı nedir?
  3. Satır bağlamı nedir?

Yanıtlar bu makalenin sonunda sağlanır.

Özet

DAX'taki en önemli kavramlar hakkında temel bilgilere sahip olduğunuz için artık ölçüler için kendi başınıza DAX formülleri oluşturmaya başlayabilirsiniz. DAX'ı öğrenmek biraz zor olabilir, ancak kullanabileceğiniz birçok kaynak vardır. Bu makaleyi okuduktan ve kendi formüllerinizden birkaçıyla deneme yaptıktan sonra, kendi iş sorunlarınızı çözmenize yardımcı olabilecek diğer DAX kavramları ve formülleri hakkında daha fazla bilgi edinebilirsiniz. Kullanabileceğiniz birçok DAX kaynağı vardır; en önemlisi, Veri Çözümleme İfadeleri (DAX) Başvurusudur.

DAX, Power Pivot ve Analysis Services Tablolu modelleri gibi diğer Microsoft BI araçlarında birkaç yıldır bulunduğundan, birçok harika kaynak bilgisi vardır. Hem Microsoft hem de önde gelen IŞ zekası uzmanlarının kitaplarında, teknik incelemelerinde ve bloglarında daha fazla bilgi bulabilirsiniz. DAX Kaynak Merkezi de başlamak için harika bir yerdir.

QuickQuiz yanıtları

Söz dizimi:

  1. Ölçüyü doğrular ve modele girer.
  2. Köşeli ayraç [].

İşlevler:

  1. Tablo ve sütun.
  2. Evet. Formül en fazla 64 iç içe işlev içerebilir.
  3. Metin işlevleri.

Bağlam:

  1. Satır bağlamı ve filtre bağlamı.
  2. Bir hesaplamada tek bir değeri belirleyen bir veya daha fazla filtre.
  3. Geçerli satır.