- Kümülatif toplam neyi çözer, YTD'den farkı nedir
- Kalıbın parçaları: toplam, süzgeç, kapsam, sınır
- Kurgusal örnek: aylık satışın birikimi
- Kategorik sıralı birikim: ürün ürün katkı
- Hızlı ölçü kısayolu ve sık hatalar
- Doğrulama ve performans notları
- Bu beceriyi Mindset programlarında nerede çalışırsınız
- Sık sorulan sorular
Satır Satır Biriken Toplam: DAX ile Kümülatif Ölçü Kurulumu
Kümülatif toplam, her satırda o satıra kadar olan değerlerin toplamını gösterir. DAX'ta bunu, geçerli satırın sınırına kadar olan tarihleri ya da kategorileri süzen bir CALCULATE kalıbıyla yazarsınız.
Bir bakışta
- Kalıp birkaç parçadan oluşur: toplam, süzgeç, kapsam, sınır. CALCULATE temel ölçüyü, FILTER ile ALLSELECTED ve MAX tarafından belirlenen kümede hesaplar.
- ALLSELECTED dilimleyici seçimini korur. ALL kullanırsanız seçilen dönem silinir; ALLSELECTED ise raporun dışarıdan gelen seçimini tutar.
- Yıl başında sıfırlanması gerekmiyorsa bu kalıp kullanılır. Yıl başına göre birikim (YTD) için zaman zekası fonksiyonları vardır; bu sayfa seçili dönem boyunca sürekli birikimi anlatır.
- Kategoriler için sıralama sütunu gerekir. Kategorik birikimde hangi kategorinin önce geldiğini bir sıra sütunu belirler.
Kümülatif toplam neyi çözer, YTD'den farkı nedir
Kümülatif toplam, her satırda "buraya kadar toplam ne oldu" sorusunu yanıtlar. Satış takibinde ay ay biriken gelir, stok hareketinde biriken giriş, proje takibinde harcanan bütçe ve Pareto analizinde ürün ürün biriken katkı bu soruya dayanır.
Zaman zekası fonksiyonlarındaki yılbaşından bugüne toplamıyla (YTD) karıştırılmaması gerekir. YTD, her yıl başında sıfırlanır ve takvim yapısına bağlıdır. Bu sayfadaki kalıp ise takvimden bağımsız çalışabilir: seçilen dönem boyunca kesintisiz birikir ve kategori sıralarıyla da kullanılabilir. Dönem sınırı ve takvim fonksiyonları için ayrı rehber vardır; SQL tarafında pencere fonksiyonlarıyla aynı soru başka bir yolla çözülür.
Bu yüzden önce hangi birikime ihtiyacınız olduğunu netleştirin: yıl içi birikim mi, seçili dönem boyunca sürekli birikim mi, yoksa sıralı kategorilerde birikim mi?
Kalıbın parçaları: toplam, süzgeç, kapsam, sınır
Klasik takvim bazlı kümülatif ölçü şöyle yazılır:
Kümülatif Satış = CALCULATE ( [Toplam Satış], FILTER ( ALLSELECTED ( Takvim[Tarih] ), Takvim[Tarih] <= MAX ( Takvim[Tarih] ) ) )
Burada temel ölçü, örneğin Toplam Satış = SUM ( Satış[Tutar] ), önceden yazılmış olmalıdır. Kalıbın parçaları: • CALCULATE: temel ölçüyü değiştirilmiş bir filtre bağlamında hesaplar. Microsoft belgesine göre CALCULATE, filtre bağlamını değiştirerek ifadeyi değerlendirir; sütun zaten süzgeçteyse onu yeni süzgeçle geçersiz kılar. • ALLSELECTED ( Takvim[Tarih] ): görselin satır süzgecini kaldırır ama dilimleyici ve sayfa süzgecinden gelen dış seçimi korur. Belgeye göre ALL'dan farkı, sorguda açıkça tanımlı süzgeçleri korumasıdır. • MAX ( Takvim[Tarih] ): görsel hücresinde geçerli olan en son tarihi verir. Matriste her ayın satırında o ayın son tarihi, toplam satırında ise seçili dönemin son tarihi olur. • FILTER: tarih kümesinden yalnız sınırdan küçük ya da eşit olanları bırakır. FILTER, belgeye göre başka fonksiyonların içine gömülen, tablo döndüren bir fonksiyondur.
Sonuç olarak her satırda ölçü, seçili dönemdeki ilk günden o satırın son gününe kadar olan tarihler üzerinde hesaplanır.
Kümülatif ölçü, temel ölçüden başlayıp sınırla kapanır
Parçalar birbirinin üzerine kurulur
- Temel ölçüToplam Satış gibi, birikecek değer yazılır.
- Takvim tarihleriBirikimin eksenini oluşturan tarih sütunu takvim tablosundan alınır.
- ALLSELECTEDSatır süzgeci kalkar, dilimleyici seçimi korunur.
- MAX ile sınırSatırın son tarihinden büyük günler dışarıda bırakılır.
- CALCULATETemel ölçü bu tarih kümesinde hesaplanır.
Kurgusal örnek: aylık satışın birikimi
Bir perakende ekibinin aylık satış raporunu düşünün. Matris satırlarında Takvim tablosunun ay adı, değerlerde Toplam Satış ve Kümülatif Satış ölçüleri var. Sayfada bir yıl dilimleyicisi bulunuyor.
Rapor şöyle davranır: • Yıl dilimleyicisinden bir yıl seçildiğinde ALLSELECTED yalnız o yılın tarihlerini tutar. Kümülatif ölçü o yılın başından başlar. • İlk ay satırında MAX o ayın son gününü verir; FILTER yalnız o güne kadar olan tarihleri bırakır, kümülatif değer ilk ayın toplamına eşit olur. • Sonraki her satırda tarih kümesi büyür; kümülatif değer bir önceki satırın üzerine yeni ayı ekler. • Toplam satırında MAX seçili dönemin son gününü verdiğinden toplam, son aydaki kümülatif değerle aynıdır.
Tarih boşluklarında dikkat edin: takvim tablosunun tarihleri eksiksiz ve tam yıllara yayılı olmalıdır. Satış tablosundaki tarih sütununu doğrudan kullanırsanız satış olmayan günler eksen kümesinde yer almaz.
Kategorik sıralı birikim: ürün ürün katkı
Birikim yalnız zaman için değildir. Hangi ürünlerin satışın büyük kısmını oluşturduğunu görmek istiyorsanız, ürünleri sıralayıp her satırda kendinden öncekilerin toplamını gösterirsiniz. Bu, Pareto türü bir analizin temelidir.
Kalıp aynıdır, yalnız tarih yerine bir sıra sütunu kullanılır:
Kümülatif Ürün Satışı = CALCULATE ( [Toplam Satış], FILTER ( ALLSELECTED ( Ürün[Ürün Adı] ), Ürün[Sıra] <= MAX ( Ürün[Sıra] ) ) )
Burada Ürün[Sıra], ürünlerin hangi sırayla birikeceğini belirten sayısal bir sütundur. Sıra, ürünlerin satışa göre sıralanması gerekiyorsa ayrıca hesaplanmalıdır; bu hesap bu sayfanın kapsamı dışındadır. Önemli olan, sıra sütununun her ürün için benzersiz bir değer taşımasıdır. Aynı sıra değeri birden çok ürüne verilirse FILTER aynı sırada olanların hepsini birlikte dahil eder.
Görselde ürün adlarını sıra sütununa göre sıralamayı unutmayın; aksi halde eksende alfabetik sıra görünür, birikim ise sıra sütununa göre hesaplandığı için grafik anlamsızlaşır.
Hızlı ölçü kısayolu ve sık hatalar
Microsoft belgesine göre Power BI Desktop'taki hızlı ölçüler arasında toplamlar kategorisinde bir "Running total" hesabı bulunur. Hızlı ölçü, arka planda DAX üretir ve ürettiği formülü formül çubuğunda gösterir. Kendi kalıbınızı yazmadan önce hızlı ölçüyü deneyip üretilen DAX'ı incelemek, öğrenmenin pratik bir yoludur. Belge, hızlı ölçülerin yalnız modeli değiştirebildiğiniz durumlarda kullanılabildiğini de belirtir.
Aşağıdaki karşılaştırma, kümülatif ölçülerde sık görülen hataları ve düzeltmelerini özetler.
Takvim ekseni ve ALLSELECTED, birikimi doğru yapar
Sık hata ve düzeltmesi
Doğrulama ve performans notları
Ölçüyü yayımlamadan önce küçük bir örnekle doğrulayın: bilinen birkaç dönem için elle birikim hesaplayıp ölçü sonucuyla karşılaştırın. Toplam satırının son dönemle aynı çıkıp çıkmadığına bakın; farklıysa MAX davranışı ya da ALLSELECTED kapsamı beklediğinizden farklıdır.
Büyük modellerde FILTER bir tabloyu satır satır dolaştırdığı için yavaşlayabilir. Belge, FILTER'ın filtre argümanı olarak kullanımına dair ayrı bir en iyi uygulama rehberi bulunduğunu belirtir. Tarih sütununu yalnız gerekli sütunlarla sınırlı tutmak, takvim tablosunu sade bırakmak ve benzer hesapları tek ölçüde toplamak yardımcı olur.
DirectQuery kullanıyorsanız belge, CALCULATE'in hesaplanmış sütunlarda ve satır düzeyi güvenlik kurallarında desteklenmediğini hatırlatır; ölçüde kullanımında bu kısıt geçerli değildir. Kendi modelinizde hangi bağlantı modunu kullandığınızı bilmek, performans beklentisini belirler.
Bu beceriyi Mindset programlarında nerede çalışırsınız
Power BI İleri Düzey ve DAX programının "CALCULATE ve Filtre Bağlamında Ustalaşmak" başlığı, bu sayfadaki kalıbın dayandığı bağlam mantığını işler; "Sıralama, Sınıflandırma ve Karmaşık Analizler" başlığı ise kategorik birikim ve Pareto türü analizlerin doğal yeridir. Finans, satış ve proje kontrol ekipleri biriken bütçe ve gelir takibini bu kalıpla kurar.
Uygulamalı Power BI ile Veri Analitiği ve Görselleştirme Sertifika Programı'ndaki "DAX Analiz Dili ve Kullanımı" başlığı ise ölçü yazımına ilk adımı atmak isteyenler için daha geniş bir temel sunar.
İlgili Mindset programı
Uygulamalı Power BI ile Veri Analitiği ve Görselleştirme Sertifika Programı
Sık sorulan sorular
Kümülatif toplam ile yılbaşından bugüne toplam aynı şey mi?
Hayır. Yılbaşından bugüne toplam her yıl başında sıfırlanan, takvim yapısına bağlı bir zaman zekası hesabıdır. Bu sayfadaki kalıp ise seçili dönem boyunca kesintisiz birikir ve tarih yerine kategori sırasına da uygulanabilir. İhtiyacınız yıl içi birikimse zaman zekası fonksiyonlarına, seçili dönem boyunca birikimse bu kalıba bakın.
ALL yerine neden ALLSELECTED kullanılıyor?
ALL, tablodaki tüm süzgeçleri kaldırır; dilimleyicideki seçimi de siler ve birikim tüm tarihlerden başlar. ALLSELECTED ise Microsoft belgesine göre sorguda açıkça tanımlı süzgeçleri ve satır ile sütun süzgeci dışındaki bağlam süzgeçlerini korur. Böylece kullanıcı bir yıl seçtiğinde birikim o yılın başından başlar.
Kategorik birikimde neden sıra sütunu gerekiyor?
Kategorilerin doğal bir "önce" ve "sonra"sı yoktur; birikimin hangi kategoriden başlayacağı bir sıra sütunuyla belirlenir. FILTER, sıra değeri geçerli satırdan küçük ya da eşit olan kategorileri bırakır. Sıra sütunu benzersiz değilse aynı sıradaki kategoriler birlikte hesaba girer.
Hızlı ölçüyle kümülatif toplam alabilir miyim?
Belgeye göre Power BI Desktop'ta toplamlar kategorisinde bir hızlı ölçü olarak yürüyen toplam vardır ve ürettiği DAX formülü formül çubuğunda görüntülenir. Başlangıç için uygundur; esnek ve okunabilir bir ölçü istiyorsanız, üretilen formülü inceleyip kendi kalıbınıza uyarlamanız iyi bir yoldur.
Toplam satırında neden son ayın değeri görünüyor?
Çünkü toplam satırında MAX, seçili dönemin son tarihini verir ve FILTER bu tarihe kadarki tüm günleri bırakır. Bu da birikimin son değerini üretir. Bu davranış beklenen bir sonuçtur; toplam satırında farklı bir değer görmek isterseniz toplamı ölçüde ayrıca ele almanız gerekir.