Tablo DAX ifadeleri
Power BI'da çoğu zaman dış veri kaynağından modelinize veri aktararak tablolar oluşturursunuz. Bunun yerine tablo işlevleriyle, modele önceden yüklemiş olduğunuz verileri temel alan yeni tablolar eklersiniz.
Genel Bakış
Tablo işlevleri, Power BI kullanıcılarının veri modelinde görüntülenen ve diğer DAX ifadelerinde kullanılabilen bir ara tablo oluşturmasına olanak sağlar. Tablo işlevleri, kullanabileceğiniz geçici tablolardır, ancak çıkış yapılmadığı için bunlar görünür değildir.
FILTER, VALUES ve ALL genellikle DAX ölçülerinde kullanılan bazı yaygın ara tablolardır.
FİlTRE işlevini uygulama
FİlTRE işlevi belirli bir tablo için filtreyi ayarlar ve ardından hesaplamada tablonun sıkıştırılmış bir sürümünü kullanır. Başka bir deyişle, başka bir tablo veya ifadenin alt kümesini temsil eden bir tablo döndürür.
Örneğin, aşağıdaki veri tablosuna sahip olduğunuzu varsayalım:
Önceki tabloda, Seattle satışlarını vurgulayan bazı satırlarınız vardır. Seattle'ın 2018 yılındaki toplam satışları 30,13 'tür (20,46 + 9,67). FİlTRE işleviyle bu sonucu almak için:
2018 Sales = SUMX(
FILTER(
Sales,
YEAR( Sales[SalesDate] ) = 2018
),
[Price]*[Quantity]
)
İpucu
TABLEAU'YA BAĞıNTı: Tableau'da aynı hesaplamayı oluşturmak için EĞER/SONRA söz dizimini kullanırsınız: 2018 Sales = IF YEAR([SalesDate]) = 2018 THEN SUM([Price]*[Quantity]) END
Önceki kod parçacığında, ilk olarak Sales olgu tablosu olan filtre bağlamı için verileri aldıysanız:
Ardından, Satış verilerini yalnızca 2018 satışlarını içerecek şekilde filtrelediyseniz.
Son olarak, ifadeyi yalnızca geçici tablodaki kayıtlar için değerlendirmişsinizdir.
VALUES işlevini uygulama
DEĞERLER, belirtilen tablo veya sütundaki ayrı değerleri içeren tek sütunlu bir tablo döndürür; yinelenen değerler kaldırılır ve yalnızca benzersiz değerler döndürülür.
Örneğin, bir spor takımındaki hangi oyuncunun ödenmesi gereken son ödenmemiş ince bakiyeye sahip olduğunu göstermeniz gereken bir görev aldınız.
Aşağıda, kullanmakta olduğunuz veri tablosu (Ekip Ayrıntıları olarak adlandırılır) yer alır:
Yapmanız gereken, cezalarını ödemek için yalnızca bir oyuncu olup olmadığını test etmektir. Öyleyse, adlarını gösterin. Aksi takdirde, "birden fazla oyuncu" iletisini görüntüleyin.
Bunu VALUES işleviyle gerçekleştirebilirsiniz:
LastPlayer = IF(
COUNTROWS( VALUES( 'Team Fine Details'[SportsTeam] ) ) = 1,
VALUES( 'Team Fine Details'[PlayerName] ),
"More than one player"
)
İpucu
TABLEAU ILE BAĞıNTı: Tableau'da aynı hesaplamayı şu şekilde yapabilirsiniz: LastPlayer = IF COUNTD([SportsTeam]) = 1 THEN [PlayerName] ELSE "More than one player" END
Bu ölçü aşağıdaki rapora / görselleştirmeye benzer olacaktır:
ALL işlevini uygulama
ALL işlevi, Power BI'a belirli bir tabloya bakmasını, içindeki tüm değerleri almasını (tabloyu filtrelememesini) ve ifadede bu değer alt kümesini kullanmasını söyler.
ALL işlevinin yaygın kullanımlarından biri, toplanan ölçünün toplam yüzdesini bilmek istemenizdir.
Örneğin, spor takımının ince miktar senaryolarını göz önünde bulundurun. Patronunuz önceki görevdeki bulgularınızdan memnun, ancak hangi takımın en yüksek ödenmemiş para cezası yüzdesine sahip olduğunu bilmek istiyor.
İlk adım, bekleyen cezaların genel toplamı için bir ölçü oluşturmaktır:
TotalAllFineAmount = CALCULATE( [TotalFineAmount], ALL( 'Team Fine Details'[SportsTeam] ) )
İpucu
TABLEAU ILE BAĞıNTı: Tableau'da FIXED LOD ifadesini kullanarak aynı hesaplamayı bu şekilde yapabilirsiniz. Toplam TotalFineAmount değerini tablo düzeyinde bir araya getirirsiniz: TotalAllFineAmount = { FIXED : SUM([TotalFineAmount]) }
İkinci ve son adım, DIVIDE işlevini kullanarak toplam ölçünün yüzdesini oluşturmaktır:
FineAmountPercentOfTotal = DIVIDE( [TotalFineAmount], [TotalAllFineAmount] )
İpucu
TABLEAU ILE BAĞıNTı: Tableau'da aynı hesaplamayı şu şekilde yapabilirsiniz: FineAmountPercentOfTotal = SUM([TotalFineAmount]) / SUM([TotalAllFineAmount])