Ana içeriğe geç

Power BI SUMX Fonksiyonlarını Nasıl Kullanırsınız

Power BI'deki SUMX fonksiyonunu, sözdizimini, nasıl çalıştığını ve akılda tutulması gereken en iyi uygulamaları keşfedin.
· 8 dk. oku

Yapay Zeka ile Keşfedin

Eğer Power BI'de Veri Analisti kariyer yolumuzla Power BI öğrenmeye yeni başladıysanız, muhtemelen DAX'e giriş dersinden temel SUM fonksiyonunu biliyorsunuzdur (bilmiyorsanız, şu hızlı DAX eğitimine göz atın). Bu durumda, SUMX fonksiyonunun ne olduğunu, nasıl çalıştığını ve analizlerinizde nasıl kullanabileceğinizi de merak ediyor olabilirsiniz.

Bu eğitimde SUMX fonksiyonunu inceleyecek, tüm bu soruları yanıtlayacak ve Power BI'de nasıl uygulayacağınızı göstereceğiz.

Bu ve diğer Power BI eğitimlerini incelerken, bir iş zekâsı veya Power BI geliştiricisi olarak programlama öğrenmeniz zorunlu olmasa da kariyeriniz için büyük bir avantaj olabileceğini unutmayın. Nedenini öğrenmek için, bir BI analisti olarak kod öğrenmeli misiniz başlıklı makalemize göz atın.

Power BI'de SUMX Fonksiyonu Nedir?

Power BI'deki SUMX fonksiyonu, bir tablodaki her satır için hesaplanan bir ifadenin toplamını hesaplamak için kullanılan güçlü bir DAX fonksiyonudur. Bu fonksiyon önemlidir çünkü basit bir toplamadan daha karmaşık hesaplamalara olanak tanır.

Karşılaşacağınız en faydalı DAX fonksiyonlarına hızlıca başvurmak için DAX hızlı başvuru kılavuzumuzu elinizin altında bulundurun.

image2.png

SUMX fonksiyonunun sözdizimi şöyledir

SUMX(Table, Expression)

  • Table: Fonksiyonun üzerinde yineleme yaptığı tablo veya tablo ifadesi.
  • Expression: Tablonun her satırı için değerlendirilen ifade. Bu ifade genellikle tablodaki sütunlardan veri içerir.

SUMX, sonuçları toplamadan önce tek tek satır değerlerine bağlı hesaplamalar yapmanız gerektiğinde özellikle kullanışlıdır. Örneğin, her işlem için miktar ve fiyatı çarparak toplam satışları hesaplamak veya toplam indirimli satışları toplamadan önce ürün başına farklı indirim oranları uygulamak gibi. Hesaplamalarınıza esneklik ve hassasiyet katar; bu nedenle öğrenilmesi oldukça önemli bir fonksiyondur.

Power BI'de SUMX Nasıl Çalışır

SUMX fonksiyonunun kaputun altında nasıl çalıştığının bir özeti:

  • SUMX çağrıldığında, belirtilen tablonun satırları üzerinde teker teker yineler. Her satır için, geçerli satırın değerlerine doğrudan erişilebildiği bir tür ortam olan geçici bir satır bağlamı oluşturur.
  • Bu satır bağlamında, ikinci argümanında verilen ifadeyi değerlendirir. İfade tipik olarak geçerli satırdaki bir veya daha fazla diğer sütun değerini içerir. Fonksiyon tablo boyunca yinelerken, bu ifadeyi her satırın verilerine göre yeniden hesaplar.
  • SUMX her satırı işlerken sonuçları biriktirir ve birikimli bir toplam tutar. Power BI, bu tür hesaplamalar için optimize edilmiş DAX'ın bellek içi analiz motoru (VertiPaq) kullanır.
  • Tüm satırlar üzerinde yineleme tamamlandığında, SUMX her satır için hesaplanan bireysel sonuçların toplamı olan birikimli toplamı sonlandırır. Bu nihai değer fonksiyonun çıktısı olarak döndürülür.

Bağlamları Anlamak

Power BI'de, SUMX gibi DAX fonksiyonlarının nasıl çalıştığını anlamak için bağlam kavramı kritik öneme sahiptir. Bağlam, veri modellerindeki değerlerin nasıl hesaplandığını ve görüntülendiğini belirler. DAX'e giriş kursumuzda, bağlamları daha ayrıntılı ele alıyoruz. SUMX fonksiyonuyla birlikte iki ana bağlam türü vardır: satır bağlamı ve filtre bağlamı.

Satır bağlamı

Satır bağlamı, DAX formüllerinin bir tablonun her satırını değerlendirdiği ortamı ifade eder. Bir satır bağlamındayken, tablonun sütunlarına doğrudan başvurabilirsiniz ve DAX formülleri hesaplamalarda geçerli satırın değerini kullanır.

SUMX kullandığınızda, çalışma mantığı için bir satır bağlamı oluşturur ve ondan yararlanır. Belirtilen tablodaki her satır için SUMX, verilen ifadeyi o satırın bağlamında değerlendirir.

Filtre bağlamı

Filtre bağlamı, bir Power BI raporundaki görseller, dilimleyiciler ve rapor düzeyi filtreler gibi unsurlardan gelen filtrelerin bir kümesidir. Bu bağlam, hesaplamalarda hangi veri noktalarının dikkate alınacağını belirler.

SUMX satır bazlı hesaplamaları için satır bağlamında çalışsa da, bu hesaplamalar yine de raporun veya görselin genel filtre bağlamına tabidir. Bu, SUMX tarafından yinelenen satırların, geçerli filtre bağlamının tanımladığı ölçütleri karşılayan satırlar olduğu anlamına gelir.

SUMX'te bağlamlar arasındaki etkileşim

SUMX kullanırken, fonksiyon hem satır bağlamına hem de filtre bağlamına saygı duyar. SUMX'in yinelediği tablo filtre bağlamı tarafından şekillendirilirken, her satır için hesaplama satır bağlamında yapılır.

SUMX içinde bir ölçü de kullanabilirsiniz. Bu durumda, her satır için ölçüyü değerlendirmek üzere satır bağlamının geçici olarak eşdeğer bir filtre bağlamına dönüştürüldüğü bir bağlam dönüşümü gerçekleşir.

SUMX İçin En İyi Uygulamalar

Power BI'de SUMX fonksiyonunu kullanırken şu en iyi uygulamaları göz önünde bulundurun:

  • SUMX uygulamadan önce veri modelinizin iyi yapılandırıldığından emin olun. Doğru tanımlanmış ilişkiler ve model şeması, doğru ve optimize edilmiş Power BI raporları için kritiktir.
  • Hesaplanan sütunlarda veya satır düzeyi güvenlik kurallarında kullanıldığında SUMX, DirectQuery modunda desteklenmez.
  • SUMX içinde kullanılan ifadeleri mümkün olduğunca basit ve verimli tutun. Özellikle büyük veri kümelerinde performansı yavaşlatan aşırı karmaşık hesaplamalardan kaçının.
  • Bağlam dönüşümüne ve fonksiyonunuzun sonuçlarını nasıl etkileyebileceğine dikkat edin.
  • SUMX yalnızca sayıları dikkate alır. Boş değerler, mantıksal değerler ve metinler yok sayılır.

SUMX ve Diğer Fonksiyonlar

Bazı fonksiyonlar SUMX'e benzer ve hangi fonksiyonun ne zaman kullanılacağını bilmek biraz kafa karıştırıcı olabilir. En çok karışıklığa neden olan iki fonksiyonu ele alalım.

SUMX ve SUM

SUM, bir tablodaki bir sütunun toplamını hesaplamak için kullanılır ve şu sözdizimine sahiptir:

SUM(Column)

SUMX, bir ifadeyi değerlendirmek için her satır üzerinde yinelerken, SUM tek bir sütundaki değerleri doğrudan bir araya getirir. Bu, SUMX'in birden çok sütunu içeren daha karmaşık hesaplamaları ele alabileceği anlamına gelir.

Bununla birlikte, SUMX'in yineli doğası, özellikle büyük veri kümelerinde, SUM'a kıyasla daha fazla kaynak tüketmesine neden olur. Büyük bir veri modeliyle çalışıyorsanız bunu aklınızda bulundurun ve basit toplamalar için SUM'a bağlı kalın.

SUMX ve CALCULATE

CALCULATE, bir hesaplamanın filtre bağlamını değiştirir ve DAX'taki en güçlü fonksiyonlardan biridir. CALCULATE fonksiyonunun sözdizimi şöyledir:

CALCULATE(Expression, Filter1, Filter2,...)

CALCULATE, rapora veya modele hâlihazırda uygulanmış olandan farklı filtre koşulları altında hesaplama yapmanız gereken senaryolar için idealdir. Öte yandan SUMX, satır düzeyindeki hesaplamaların ardından bir toplam alma işlemine yöneliktir.

Karmaşık senaryolarda CALCULATE'i SUMX gibi diğer fonksiyonlarla birlikte kullanabiliriz. Örneğin, SUMX'in satır düzeyindeki hesaplamalarını ve toplamlamasını gerçekleştireceği belirli bir filtre bağlamını tanımlamak için CALCULATE'i kullanabilirsiniz.

Power BI'de SUMX Uygulaması: Adım Adım Rehber

Power BI örnek verilerini (Power BI Desktop'ı kurduğunuzda kullanılabilir) kullanarak SUMX fonksiyonunun nasıl kullanılacağını ve SUMX'i bazı diğer faydalı DAX fonksiyonlarıyla nasıl birleştireceğinizi göstereceğiz.

Aşağıda, farklı ürünlerin çeşitli segmentler ve ülkeler genelindeki aylık satışlarını gösteren verilerimizin bir görüntüsünü görüyorsunuz.

image4.png

Adım 1: SUMX kullanarak bir ölçü oluşturma

İşte SUMX'in gücüne klasik bir örnek. Toplam satış tutarını hesaplamak için satılan birim sayısını, birim başına fiyatı ve verilen indirimlerin değerini kullanmak istiyoruz.

SUMX(Sales, (Sales[Units Sold] * Sales[Sale Price])-Sales[Discounts])

Aşağıda SUMX fonksiyonumuzun sonucunu gösteren bir tablo yer alıyor. Görüldüğü gibi, toplam satışlara da bir filtre bağlamı uygulanabilir–bu örnekte Yıl ve Ürüne göre filtreliyoruz.

image1.png

Adım 2: SUMX'e filtre uygulama

SUMX fonksiyonunda filtreleri iki şekilde kullanabiliriz: FILTER veya CALCULATE ile.

FILTER, SUMX içinde bir tabloya veya ifadeye belirli filtreler uygulamak için kullanılır. SUMX'in yinelediği satırlar üzerinde daha ayrıntılı denetim sağlar.

SUMX(FILTER(Sales, Sales[Discount Band] = "High"), Sales[Units Sold])

CALCULATE, SUMX fonksiyonu için filtre bağlamını değiştirerek karmaşık koşullu toplamlamalara olanak tanır.

SUMX(Sales, CALCULATE(SUM(Sales[Units Sold]), Sales[Year] = 2020))

Adım 3: SUMX'i diğer fonksiyonlarla birleştirme

ALL ve ALLEXCEPT

Bu fonksiyonlar, bir tablodan veya belirtilenler dışındaki tüm tablolardan filtreleri kaldırmak için kullanılır. Genellikle CALCULATE içinde ve SUMX ile birlikte, filtresiz bir veri kümesi üzerinde hesaplama yapmak için kullanılırlar.

SUMX(ALL(Sales), Sales[Sale Price] * Sales[Units Sold])

VALUES

VALUES, bir sütundan benzersiz değerlerin tek sütunlu bir tablosunu döndürür. Benzersiz değerler üzerinde yineleme gerektiren hesaplamalar için SUMX ile birleştirebilirsiniz.

SUMX(VALUES(Sales[Country]), [Total Sales])

AVERAGEX, MINX ve MAXX

Bunlar, SUMX'e benzer diğer yineli fonksiyonlardır; sırasıyla ortalama, minimum veya maksimum değerleri hesaplamak için kullanılır. İç içe kullanılabilir veya SUMX ile yan yana kullanılabilirler.

AVERAGEX(Customers, SUMX(RELATEDTABLE(Sales), Sales[Units Sold]))

IF ve SWITCH

IF ve SWITCH gibi mantıksal fonksiyonlar, koşullu hesaplamalar yapmak için SUMX içinde kullanılabilir.

SUMX(Sales, IF(Sales[Country] = "Mexico", Sales[Units Sold], 0))

USERELATIONSHIP

USERELATIONSHIP, bir hesaplamada kullanılacak belirli bir ilişkiyi belirtir. Özellikle tablolar arasında birden fazla ilişki olduğunda kullanışlıdır.

SUMX(CALCULATETABLE(Sales, USERELATIONSHIP(Date[Date], Sales[Date])), Sales[Units Sold])

Sonuç

Bu eğitimde, Power BI'deki SUMX fonksiyonunun ayrıntılarına indik ve bunu kendiniz nasıl uygulayabileceğinizi gösterdik. SUMX yalnızca esnek ve güçlü bir DAX fonksiyonu olmakla kalmaz, aynı zamanda DAX'te bağlamları anlamanın önemini de ortaya koyar. Daha fazlasını öğrenmek için Power BI temelleri beceri yolumuza göz atın.

Joleen Bothma

Yazar

Joleen Bothma

Konular

İlgili