DAX Senaryoları
Bu bölümde aşağıdaki senaryolarda DAX formüllerinin kullanımını gösteren örneklere bağlantılar sağlanmıştır.
Karmaşık hesaplamalar gerçekleştirme
Metinlerle ve tarihlerle alışma
Koşullu değerler ve hataları sınama
Akıllı zaman gösterimi kullanma
Değerleri derecelendirme ve karşılaştırma
Başlarken
DAX formülleriyle yeni tanıştıysanız, DAX örnek çalışma kitabındaki örnekleri inceleyerek başlamanızı öneririz. Örnek çalışma kitabını edinme hakkında daha fazla bilgi için, bkz. PowerPivot İçin Örnek Verileri Alma.
Ek Kaynaklar
DAX'ı öğrenmenize yardımcı olacak videolar, ek örnekler ve adım adım açıklamalar bulmak için aşağıdaki bağlantıları kullanabilirsiniz.
Senaryolar: Karmaşık Hesaplamalar Gerçekleştirme
DAX formülleri karmaşık toplamalar, filtreleme ve koşullu değer kullanma içeren karmaşık hesaplamalar gerçekleştirebilir. Bu bölümde, özel hesaplamalara başlamayla ilgili örnekler sağlanmıştır.
PivotTable için özel hesaplamalar oluşturma
CALCULATE ve CALCULATETABLE ölçü tanımlamada kullanışlı olan güçlü, esnek işlevlerdir. Bu işlevler hesaplamanın gerçekleştirileceği bağlamı değiştirmenizi sağlar. Gerçekleştirilecek toplama veya matematik işleminin türünü özelleştirebilirsiniz. Örnekler için aşağıdaki konulara bakın.
Formüle filtre uygulama
Bir DAX işlevinin bağımsız değişken olarak bir tablo aldığı birçok yerde, tablo adı yerine FILTER işlevini kullanarak ya da filtre ifadesi işlev bağımsız değişkenlerinden biri olarak belirterek genellikle filtrelenmiş bir tablo geçirebilirsiniz. Aşağıdaki konularda filtrelerin nasıl oluşturulacağı ve filtrelerin formül sonuçlarını nasıl etkileyeceği ile ilgili örnekler sağlanmıştır. Daha fazla bilgi için, bkz. Formüllerdeki Verilere Filtre Uygulama.
FILTER işlevi bir ifade kullanarak filtre ölçütlerini belirtmenizi sağlarken, diğer işlevler özel olarak boş değerleri filtreleyecek şekilde tasarlanmıştır.
Dinamik oran oluşturmak için filtreleri seçerek kaldırma
Formüllerde dinamik filtreler oluşturarak aşağıdaki gibi soruları kolayca yanıtlayabilirsiniz:
Şu anki ürünün satışının yıllık toplam satışa katkısı ne oldu?
Diğer bölümlerle karşılaştırıldığında bu bölümün tüm faaliyet yılları için toplam karar katkısı ne oldu?
PivotTable'da kullandığınız formüller PivotTable bağlamından etkilenebilir, ancak filtre ekleyerek veya kaldırarak bağlamı seçici olarak değiştirebilirsiniz. ALL konusundaki örnekte bunu nasıl yapacağınız gösterilmiştir. Belirli bir bayinin satışlarının tüm bayilere oranını bulmak için, geçerli bağlam için değeri hesaplayan ve ALL bağlamı için hesaplanan değere bölen bir ölçü oluşturabilirsiniz.
ALLEXCEPT konusunda formüldeki filtreleri seçerek temizleme ile ilgili bir örnek sağlanmıştır. İki örnek de PivotTable tasarımına bağlı olarak sonuçların nasıl değişmesini size adım adım gösterir.
Oranları ve yüzdeleri hesaplama hakkında başka örnek için, aşağıdaki konulara bakın:
Dış döngüdeki bir değeri kullanma
Geçerli bağlamdaki değerleri hesaplamalarda kullanmaya ek olarak, DAX ilişkili hesaplamaların bir kümesini oluştururken önceki bir döngüdeki bir değeri kullanabilir. Aşağıdaki konuda bir dış döngüdeki değere başvuran bir formül kullanma konusunda adım adım kılavuz sağlanmıştır. EARLIER işlevi en fazla iki iç içe döngü düzeyini destekler.
Satır bağlamı ve ilişkili tablolar ve bu kavramı formüllerde kullanma hakkında daha fazla bilgi için, bkz. DAX Formüllerinde Bağlam.
Başa Dön
Senaryolar: Metinlerle ve Tarihlerle Çalışma
Bu bölümde metinle çalışma, tarih ve saat değerlerini ayrıştırma ve birleştirme veya bir koşulu temel alan değerler oluşturma ile ilgili ortak senaryo örnekleri içeren DAX başvuru konularının bağlantıları sağlanmıştır.
Birleştirme ile anahtar sütunu oluşturma
PowerPivot bileşik anahtarlara izin vermez; bu nedenle, veri kaynağınızda bileşik anahtarlar varsa bunları tek bir anahtar sütunu olarak birleştirmeniz gerekebilir. Aşağıdaki örnekte, bir bileşik anahtarı temel alan bir hesaplanmış sütun oluşturmayla ilgili bir örnek sağlanmıştır:
Tarih metninden ayıklanan tarih bölümlerini temel alan bir tarih oluşturma
PowerPivot tarihlerle çalışmak için bir SQL Server tarih/saat veri türü kullanır; bu nedenle, dış verileriniz farklı biçimlendirilmiş tarihler (örneğin, tarihleriniz PowerPivot veri altyapısının tanımadığı bölgesel bir tarih biçiminde yazılmışsa veya verileriniz tamsayı yedek anahtarlar kullanıyorsa) içeriyorsa, bir DAX formülü kullanarak tarih bölümlerini ayıklamanız ve sonra bölümleri geçerli bir tarih/saat gösterimi olarak birleştirmeniz gerekir.
Örneğin, tamsayı olarak gösterilmiş ve sonra metin dizesi olarak alınmış bir tarih sütununuz varsa, aşağıdaki formülü kullanarak dizeyi bir tarih saat değerine dönüştürebilirsiniz.
=DATE(RIGHT([Value1],4),LEFT([Value1],2),MID([Value1],2))
Value1 |
Sonuç |
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
Aşağıdaki konular tarihleri ayıklamak ve birleştirmek için kullanılan işlevler hakkında daha fazla bilgi sağlar.
Özel bir tarih veya sayı biçimi tanımlama
Verileriniz standart Windows metin biçimlerinden birinde gösterilmeyen tarihler veya saatler içeriyorsa, değerlerin doğru şekilde işlenmesini sağlamak için özel bir biçim tanımlayabilirsiniz. Bu biçimler değerleri dizelere veya dizeleri değerlere dönüştürürken kullanılır. Aşağıdaki konularda da tarihlerle ve sayılarla çalışmak için kullanılabilen önceden tanımlanmış biçimlerin ayrıntılı bir listesi sağlanmıştır.
Formül kullanarak veri türlerini değiştirme
PowerPivot'ta, çıktının veri kaynağı kaynak sütunlara göre belirlenir ve optimum veri türü PowerPivot tarafından belirlendiğinden sonucun veri türünü açık olarak belirtemezsiniz. Ancak, çıktı veri türünü değiştirmek için PowerPivot tarafından gerçekleştirilen içsel veri dönüşümlerini kullanabilirsiniz. Tür dönüşümleri hakkında daha fazla bilgi için, bkz. PowerPivot Çalışma Kitaplarında Desteklenen Veri Kaynakları.
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 şu anki tarihten üç gün öncesini hesaplar ve sonra karşılık gelen tamsayı değerini verir.
=(TODAY()-3)*1.0
Bir 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üleceğinden emin olmak için aşağıdaki işlevler de kullanılabilir:
Gerçek sayıları tamsayıya dönüştürme
Gerçek sayıları, tamsayıları veya tarihleri dizeye dönüştürme
Dizeleri gerçek sayıya veya tarihe dönüştürme
Başa Dön
Senaryo: Koşullu Değerler ve Hataları Sınama
Excel gibi DAX'ta da veri içindeki değerleri sınamanızı ve bir koşula bağlı olarak farklı bir değer döndürmenizi sağlayan işlevler vardır. Örneğin, bayileri yıllık satış tutarlarına göre Tercih Edilen veya Değerli olarak ayıran bir hesaplanmış sütun oluşturabilirsiniz. Değerleri sınayan işlevler, beklenmeyen veri hatalarının hesaplamaları bozmasını önlemek amacıyla değerlerin aralığını ve türünü denetlemek için de kullanışlıdır.
Bir koşulu temel alan değer oluşturma
Değerleri sınamak ve koşullu olarak yeni değerler üretmek için iç içe IF koşulları kullanabilirsiniz. Aşağıdaki konularda bazı basit koşullu işleme ve koşullu değer örnekleri bulunmaktadır.
Formül içinde hataları sınama
Excel'den farklı olarak, hesaplanmış sütunun bir satırında geçerli bir değer ve başka bir satırında geçersiz bir değer olmaz. Yani, bir PowerPivot sütununun herhangi bir yerinde bir hata varsa sütunun tamamı hatalı olarak işaretlenir; bu nedenle geçersiz değerle sonuçlanan formül hatalarını her zaman düzeltmeniz gerekir.
Örneğin, böleni sıfır olan bir formül oluşturursanız, sonsuz sonucunu veya bir hata alabilirsiniz. Bazı formüller işlev sayısal bir değer beklerken boş bir değerle karşılaştığında da başarısız olur. Veri modelinizi oluştururken hataların oluşmasına izin vermek en iyisidir; böylece iletiyi tıklatabilir ve sorunu giderebilirsiniz. Ancak, çalışma kitaplarını yayımladığınızda, beklenmeyen değerlerin hesaplamaların başarısız olmasına neden olmaması için hata işleme eklemelisiniz.
Hesaplanmış sütunda hata döndürülmesini engellemek için, hataları sınayan mantıksal ve bilgi işlevlerin bir karışımını kullanırsınız ve her zaman geçerli değerler döndürürsünüz. Aşağıdaki konularda DAX'ta bunun nasıl yapılacağına dair bazı basit sağlanmıştır:
Başa Dön
Senaryolar: Akıllı Zaman Gösterimi Kullanma
DAX akıllı zaman gösterimi işlevleri verilerinizden tarihleri veya tarih aralıklarını almanıza yardımcı olan işlevler içerir. Sonra bu tarihleri veya tarih aralıklarını benzer dönemlerdeki değerleri hesaplamak için kullanabilirsiniz. Akıllı zaman gösterimi işlevleri, değerleri aylar, yıllar veya çeyrekler arasında karşılaştırmanızı sağlamak için standart tarih aralıklarıyla çalışan işlevler de içerir. Belirtilen dönemin ilk ve son tarihlerindeki 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). Bir PowerPivot çözümlemesinde tarih ve saatleri etkili bir şekilde kullanmayla ilgili ipuçları için, bkz. PowerPivot'ta Tarihler.
Birikimli satışları hesaplama
Aşağıdaki konular açılış ve kapanış bakiyelerini hesaplamayla ilgili örnekler içermektedir. Örnekler gün, ay, çeyrek ve yıl gibi aralıklarda yürüyen bakiyeleri oluşturmanıza olanak tanır.
CLOSINGBALANCEMONTH İşlevi, CLOSINGBALANCEQUARTER İşlevi, CLOSINGBALANCEYEAR İşlevi
OPENINGBALANCEMONTH İşlevi, OPENINGBALANCEQUARTER İşlevi, OPENINGBALANCEYEAR İşlevi
Değerleri zaman içinde karşılaştırma
Aşağıdaki konular farklı zaman dönemlerinde toplamları karşılaştırmayla ilgili örnekler içermektedir. DAX tarafından desteklenen varsayılan zaman dönemleri ay, çeyrek ve yıldır.
Bir değeri özel tarih aralığında hesaplama
Özel tarih aralıklarını (örneğin, bir satış promosyonunun başlamasından sonraki ilk 15 gün) almayla ilgili örnekler için aşağıdaki konulara bakın.
Özel bir tarih kümesini almak için akıllı zaman gösterimi işlevleri kullanırsanız, bu tarih kümesini hesaplamaları gerçekleştiren işlevin girdisi olarak kullanarak zaman dönemlerinde özel toplamalar oluşturabilirsiniz. Bunu yapmayla ilgili bir örnek için, aşağıdaki konuya bakın:
[!NOT]
Özel bir tarih aralığı belirmeniz gerekmiyor ancak ay, çeyrek veya yıl gibi standart muhasebe birimleriyle çalışıyorsanız, hesaplamaları gerçekleştirmek için bu amaçla tasarlanmış TOTALQTD, TOTALMTD, TOTALQTD gibi akıllı zaman gösterimi işlevlerini kullanmanızı öneririz.
Başa Dön
Senaryolar: Değerleri Derecelendirme ve Karşılaştırma
Bir sütunda veya PivotTable'da yalnızca ilk n öğeyi göstermek için birkaç seçeneğiniz vardır:
Bir İlk filtresi oluşturmak için Excel 2010 özelliklerini kullanabilirsiniz. PivotTable'da belirli sayıda ilk ve son değeri de seçebilirsiniz. Bu bölümün ilk kısmında, PivotTable'da ilk 10 öğe için nasıl filtre uygulanacağı anlatılmaktadır. Daha fazla bilgi için Excel belgelerine bakın.
Değerleri dinamik olarak derecelendiren bir formül oluşturabilir ve sonra derecelendirme değerlerine göre filtre uygulayabilir veya derecelendirmeyi Dilimleyici olarak kullanabilirsiniz. Bu bölümün ikinci kısmında bu formülün nasıl oluşturulacağı ve bu derecelendirmenin Dilimleyicide nasıl kullanılacağı anlatılmaktadır.
Her yöntemin avantajları ve dezavantajları vardır.
Excel İlk filtresini kullanmak kolaydır, ancak filtre yalnızca görüntüleme amaçlıdır. PivotTable'ın temelindeki veriler değişirse, değişiklikleri görmek için PivotTable'ı el ile yenilemeniz gerekir. Derecelendirmelerle dinamik olarak çalışmanız gerekiyorsa, DAX'ı kullanarak değerleri bir sütundaki diğer verilerle karşılaştıran bir formül oluşturabilirsiniz.
DAX formülü daha güçlüdür; hatta, derecelendirme değerini bir Dilimleyiciye eklediğinizde, görüntülenen ilk değerleri değiştirmek için Dilimleyiciyi tıklatmanız yeterlidir. Bununla birlikte, hesaplamalar yoğun bilgi işlem gerektirir ve bu yöntem çok sayıda satır içeren tablolar için uygun olmayabilir.
PivotTable'da yalnızca ilk on öğeyi gösterme
PivotTable'da ilk veya son değerleri göstermek için |
||||||||
|
Formül kullanarak öğeleri dinamik olarak sıralama
Aşağıdaki konuda hesaplanmış bir sütunda depolanan bir derecelendirme oluşturmak için DAX kullanma örneği bulunmaktadır. DAX formülleri dinamik olarak hesaplandığından, temel oluşturan veriler değişse bile derecelendirmenin her zaman doğru olduğundan emin olabilirsiniz. Ayrıca, formül hesaplanmış sütunda kullanıldığından, derecelendirmeyi bir Dilimleyicide kullanabilirsiniz ve sonra ilk 5, ilk 10 veya hatta ilk 100 değeri seçebilirsiniz.
Başa Dön