Bu bölümde, aşağıdaki senaryolarda DAX formüllerinin kullanımını gösteren örneklerin bağlantıları sağlanır.
-
Karmaşık hesaplamalar gerçekleştirme
-
Metin ve tarihlerle çalışma
-
Koşullu değerler ve hatalar için test etme
-
Akıllı zaman gösterimini kullanma
-
Değerleri derecelendirme ve karşılaştırma
Bu makalenin başlıkları
Başlarken
Sektör lideri profesyoneller ve Microsoft tarafından sağlanan bloglar, örnekler, teknik incelemeler ve videolar da dahil olmak üzere DAX hakkında her türlü bilgiyi bulabileceğiniz DAX Kaynak Merkezi Wiki'sini ziyaret edin.
Senaryolar: Karmaşık Hesaplamalar Gerçekleştirme
DAX formülleri özel toplamalar, filtreleme ve koşullu değerlerin kullanımını içeren karmaşık hesaplamalar yapabilir. Bu bölümde özel hesaplamaları kullanmaya başlamaya yönelik örnekler sağlanır.
PivotTable için özel hesaplamalar oluşturma
CALCULATE ve CALCULATETABLE, hesaplanan alanları tanımlamak için yararlı olan güçlü ve esnek işlevlerdir. Bu işlevler, hesaplamanın gerçekleştirileceği bağlamı değiştirmenize olanak sağlar. Ayrıca, gerçekleştirilecek toplama veya matematiksel işlem türünü özelleştirebilirsiniz. Örnekler için aşağıdaki konulara bakın.
Formüle filtre uygulama
DAX işlevinin bir tabloyu bağımsız değişken olarak aldığı çoğu yerde, genellikle tablo adı yerine FİlTRE işlevini kullanarak veya işlev bağımsız değişkenlerinden biri olarak bir filtre ifadesi belirterek filtre uygulanmış bir tablo geçirebilirsiniz. Aşağıdaki konular, filtre oluşturma ve filtrelerin formüllerin sonuçlarını nasıl etkilediğine ilişkin örnekler sağlar. Daha fazla bilgi için bkz. DAX Formüllerinde Verileri Filtreleme.
FİlTRE işlevi, bir ifade kullanarak filtre ölçütleri belirtmenize olanak tanırken, diğer işlevler özel olarak boş değerleri filtrelemek için tasarlanmıştır.
Dinamik oran oluşturmak için filtreleri seçmeli olarak kaldırma
Formüllerde dinamik filtreler oluşturarak aşağıdaki gibi soruları kolayca yanıtlayabilirsiniz:
-
Geçerli ürünün satışlarının yılın toplam satışlarına katkısı neydi?
-
Bu bölüm, diğer bölümlere kıyasla tüm çalışma yıllarının toplam kârlarına ne kadar katkıda bulundu?
PivotTable'da kullandığınız formüller PivotTable bağlamından etkilenebilir, ancak filtre ekleyerek veya kaldırarak bağlamı seçmeli olarak değiştirebilirsiniz. ALL konusunda yer alan örnekte bunun nasıl yapılacağınız gösterilmektedir. Belirli bir bayinin satış oranını tüm bayilerin satışlarına göre bulmak için, geçerli bağlamın değerini ALL bağlamının değerine bölen bir ölçü oluşturursunuz.
ALLEXCEPT konusu, bir formüldeki filtreleri seçmeli olarak temizlemeye ilişkin bir örnek sağlar. Her iki örnek de PivotTable'ın tasarımına bağlı olarak sonuçların nasıl değiştiğini gösterir.
Oranları ve yüzdeleri hesaplamaya ilişkin diğer örnekler için aşağıdaki konulara bakın:
Dış döngüden değer kullanma
DAX, hesaplamalarda geçerli bağlamdaki değerleri kullanmaya ek olarak, ilgili hesaplamalar kümesi oluştururken önceki döngüdeki bir değeri kullanabilir. Aşağıdaki konu başlığında, dış döngüdeki bir değere başvuran bir formülün nasıl derlendiğini gösteren bir kılavuz sağlanır. EARLIER işlevi en fazla iki iç içe döngü düzeyini destekler.
Satır bağlamı ve ilgili tablolar hakkında daha fazla bilgi edinmek ve bu kavramı formüllerde kullanma hakkında daha fazla bilgi edinmek için bkz. DAX Formüllerinde Bağlam.
Senaryolar: Metin ve Tarihlerle Çalışma
Bu bölümde, metinle çalışma, tarih ve saat değerlerini ayıklama ve oluşturma ya da bir koşula göre değer oluşturma gibi yaygın senaryolara örnekler içeren DAX başvuru konularına bağlantılar sağlanır.
Birleştirmeye göre anahtar sütun oluşturma
Power Pivot bileşik anahtarlara izin vermez; bu nedenle, veri kaynağınızda bileşik anahtarlar varsa bunları tek bir anahtar sütununda birleştirmeniz gerekebilir. Aşağıdaki konu başlığında bileşik anahtara dayalı bir hesaplanmış sütunun nasıl oluşturulacağını gösteren bir örnek verilmiştir.
Metin tarihinden ayıklanan tarih bölümlerini temel alan bir tarih oluşturma
Power Pivot tarihlerle çalışmak için SQL Server tarih/saat veri türünü kullanır; bu nedenle, dış verileriniz farklı biçimlendirilmiş tarihler içeriyorsa (örneğin, tarihleriniz Power Pivot veri altyapısı tarafından tanınmayan bölgesel bir tarih biçiminde yazılmışsa veya verileriniz tamsayı vekil anahtarları kullanıyorsa), tarih bölümlerini ayıklamak ve sonra bölümleri geçerli bir tarih/saat gösteriminde oluşturmak için bir DAX formülü kullanmanız gerekebilir.
Örneğin, tamsayı olarak temsil edilen ve sonra metin dizesi olarak içeri aktarılan tarihlerden oluşan bir sütuna sahipseniz, aşağıdaki formülü kullanarak dizeyi tarih/saat değerine dönüştürebilirsiniz:
=TARİh(SAĞ([Değer1],4),SOLDAN([Değer1],2),ORTA([Değer1],2))
Değer1 |
Sonuç |
---|---|
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Aşağıdaki konular tarihleri ayıklamak ve oluşturmak için kullanılan işlevler hakkında daha fazla bilgi sağlar.
Özel tarih veya sayı biçimi tanımlama
Verilerinizde standart Windows metin biçimlerinden birinde temsil edilmeyen tarihler veya sayılar varsa, değerlerin doğru şekilde işlenmesini sağlamak için özel bir biçim tanımlayabilirsiniz. Bu biçimler, değerleri dizelere veya dizelerden dönüştürürken kullanılır. Aşağıdaki konular ayrıca tarihler ve sayılarla çalışmak için kullanılabilen önceden tanımlanmış biçimlerin ayrıntılı bir listesini de sağlar.
Formül kullanarak veri türlerini değiştirme
Power Pivot 'da, çıktının veri türü kaynak sütunlar tarafından belirlenir ve en uygun veri türü Power Pivot tarafından belirlendiğinden sonucun veri türünü açıkça belirtemezsiniz. Ancak, çıkış veri türünü işlemek için Power Pivot tarafından gerçekleştirilen örtük veri türü dönüştürmelerini kullanabilirsiniz.
-
Bir tarihi veya sayı dizesini sayıya dönüştürmek için 1,0 ile çarpın. Örneğin, aşağıdaki formül geçerli tarihi eksi 3 gün hesaplar ve karşılık gelen tamsayı değerini verir.
=(BUGÜN()-3)*1.0
-
Tarih, sayı veya para birimi değerini dizeye dönüştürmek için, değeri boş bir dizeyle birleştirin. Örneğin, aşağıdaki formül bugünün tarihini dize olarak döndürür.
=""& TODAY()
Belirli bir veri türünün döndürülmesini sağlamak için aşağıdaki işlevler de kullanılabilir:
Gerçek sayıları tamsayılara dönüştürme
-
Gerçek sayıları, tamsayıları veya tarihleri dizelere dönüştürme
-
Dizeleri gerçek sayılara veya tarihlere dönüştürme
Senaryo: Koşullu Değerler ve Hatalar için Test
Excel gibi DAX da verilerdeki değerleri test edip bir koşula göre farklı bir değer döndürmenize olanak sağlayan işlevlere sahiptir. Örneğin, yıllık satış tutarına bağlı olarak bayileri Tercih Edilen veya Değer olarak etiketleyen bir hesaplanmış sütun oluşturabilirsiniz. Değerleri test eden işlevler, beklenmeyen veri hatalarının hesaplamaları bozmasını önlemek için değerlerin aralığını veya türünü denetlemek için de yararlıdır.
Bir koşula göre değer oluşturma
İç içe GEÇMIŞ EĞER koşullarını kullanarak değerleri test edebilir ve koşullu olarak yeni değerler oluşturabilirsiniz. Aşağıdaki konular, koşullu işleme ve koşullu değerlerin bazı basit örneklerini içerir:
Formül içindeki hataları test edin
Excel'in aksine, hesaplanmış sütunun bir satırında geçerli değerlere ve başka bir satırda geçersiz değerlere sahip olamazsınız. Başka bir ifadeyle, bir Power Pivot sütununun herhangi bir bölümünde hata varsa, sütunun tamamı hatayla işaretlenir, böylece her zaman geçersiz değerlere neden olan formül hatalarını düzeltmeniz gerekir.
Örneğin, sıfıra bölünen bir formül oluşturursanız sonsuzluk sonucunu veya hatasını alabilirsiniz. İşlev sayısal bir değer beklediğinde boş bir değerle karşılaşırsa bazı formüller de başarısız olur. Veri modelinizi geliştirirken, iletiye tıklayıp sorunu giderebilmeniz için hataların görünmesine izin vermek en iyisidir. Ancak, çalışma kitaplarını yayımladığınızda beklenmeyen değerlerin hesaplamaların başarısız olmasına neden olmasını önlemek için hata işlemeyi dahil etmelisiniz.
Hesaplanmış sütunda hata döndürmekten kaçınmak için, hataları test etmek ve her zaman geçerli değerler döndürmek için mantıksal ve bilgi işlevlerinin bir birleşimini kullanırsınız. Aşağıdaki konular, DAX'ta bunun nasıl yapıldığını gösteren bazı basit örnekler sağlar:
Senaryolar: Akıllı Zaman Gösterimi kullanma
DAX akıllı zaman gösterimi işlevleri, verilerinizden tarih veya tarih aralıklarını almanıza yardımcı olacak işlevler içerir. Daha sonra bu tarihleri veya tarih aralıklarını kullanarak benzer dönemlerdeki değerleri hesaplayabilirsiniz. Akıllı zaman gösterimi işlevleri, aylar, yıllar veya üç aylık dönemlerdeki değerleri karşılaştırmanıza olanak sağlamak için standart tarih aralıklarıyla çalışan işlevleri de içerir. Ayrıca, belirtilen dönemin ilk ve son tarihi için değerleri karşılaştıran bir formül de oluşturabilirsiniz.
Tüm akıllı zaman gösterimi işlevlerinin listesi için bkz. Akıllı Zaman Gösterimi İşlevleri (DAX). Power Pivot analizinde tarihleri ve saatleri etkili bir şekilde kullanma hakkında ipuçları için bkz. Power Pivot'ta Tarihler.
Kümülatif satışları hesaplama
Aşağıdaki konular, kapanış ve açılış bakiyelerinin nasıl hesaplanmasıyla ilgili örnekler içerir. Örnekler gün, ay, çeyrek veya yıl gibi farklı aralıklarda çalışan bakiyeler oluşturmanıza olanak tanır.
Zaman içindeki değerleri karşılaştırma
Aşağıdaki konular, farklı dönemlerdeki toplamları karşılaştırma örnekleri içerir. DAX tarafından desteklenen varsayılan zaman aralıkları aylar, çeyrekler ve yıllar'dır.
Özel tarih aralığı üzerinden değer hesaplama
Satış promosyonunun başlamasından sonraki ilk 15 gün gibi özel tarih aralıklarını alma örnekleri için aşağıdaki konulara bakın.
Özel bir tarih kümesini almak için akıllı zaman gösterimi işlevlerini kullanırsanız, bu tarih kümesini hesaplamalar yapan bir işleve giriş olarak kullanarak zaman aralıkları arasında özel toplamalar oluşturabilirsiniz. Bunun nasıl yapıldığını gösteren bir örnek için aşağıdaki konuya bakın:
-
Not: Özel bir tarih aralığı belirtmeniz gerekmiyorsa ancak aylar, üç aylık dönemler veya yıllar gibi standart muhasebe birimleriyle çalışıyorsanız, TOTALQTD, TOTALMTD, TOTALQTD gibi bu amaç için tasarlanmış akıllı zaman gösterimi işlevlerini kullanarak hesaplamalar yapmanızı öneririz.
Senaryolar: Değerleri Sıralama ve Karşılaştırma
Bir sütunda veya PivotTable'da yalnızca ilk n öğe sayısını göstermek için birkaç seçeneğiniz vardır:
-
Excel'deki özellikleri kullanarak Bir Üst filtresi oluşturabilirsiniz. PivotTable'da bir dizi üst veya alt değeri de seçebilirsiniz. Bu bölümün ilk bölümünde PivotTable'daki ilk 10 öğe için filtreleme açıklanmaktadır. Daha fazla bilgi için Excel belgelerine bakın.
-
Değerleri dinamik olarak sıralayan ve ardından derecelendirme değerlerine göre filtreleyen veya derecelendirme değerini Dilimleyici olarak kullanan bir formül oluşturabilirsiniz. Bu bölümün ikinci bölümünde, bu formülün nasıl oluşturulacağı ve dilimleyicide bu derecelendirmenin nasıl kullanılacağı açıklanmaktadır.
Her yöntemin avantajları ve dezavantajları vardır.
-
Excel Üst filtresinin kullanımı kolaydır, ancak filtre yalnızca görüntüleme amacıyla kullanılır. PivotTable'ın temel alınan verileri değişirse, değişiklikleri görmek için PivotTable'ı el ile yenilemeniz gerekir. Sıralamalarla dinamik olarak çalışmanız gerekiyorsa DAX kullanarak değerleri sütundaki diğer değerlerle karşılaştıran bir formül oluşturabilirsiniz.
-
DAX formülü daha güçlüdür; ayrıca, bir Dilimleyiciye derecelendirme değerini ekleyerek, görüntülenen en yüksek değerlerin sayısını değiştirmek için Dilimleyici'ye tıklamanız da gerekir. Ancak hesaplamalar işlem açısından pahalıdır ve bu yöntem birçok satırı olan tablolar için uygun olmayabilir.
PivotTable'da yalnızca ilk on öğeyi gösterme
PivotTable'da üst veya alt değerleri göstermek için
|
Formül kullanarak öğeleri dinamik olarak sıralama
Aşağıdaki konu, hesaplanan sütunda depolanan bir derecelendirme oluşturmak için DAX'ın nasıl kullanılacağına ilişkin bir örnek içerir. DAX formülleri dinamik olarak hesaplandığından, temel alınan veriler değişmiş olsa bile derecelendirmenin doğru olduğundan her zaman emin olabilirsiniz. Ayrıca, formül hesaplanmış sütunda kullanıldığından, Dilimleyicideki derecelendirmeyi kullanabilir ve ardından ilk 5, ilk 10 ve hatta ilk 100 değeri seçebilirsiniz.