Tablo DAX ifadeleri

Tamamlandı

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:

FİlTRE işlevi örneğinde başvurulacak veri tablosu.

Ö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:

Satış olgu tablosunun veri önizlemesi.

Ardından, Satış verilerini yalnızca 2018 satışlarını içerecek şekilde filtrelediyseniz.

2018 satışlarını vurgulayan Satış olgu tablosunun veri önizlemesi.

Son olarak, ifadeyi yalnızca geçici tablodaki kayıtlar için değerlendirmişsinizdir.

2018 satışlarını gösterecek şekilde filtrelenen Satış olgu tablosunun veri önizlemesi.

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:

VALUES işlevi örneğinde başvurulacak veri tablosu.

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:

LastPlayer hesaplamasının dahil olduğu örnek rapor.

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.

LastPlayer hesaplamasının dahil olduğu en son rapor.

İ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])