GROUPBY

GROUPBY işlevi, SUMMARIZE işleviyle benzerdir. Ancak GROUPBY işlevi, eklediği uzantı sütunları için örtük CALCULATE işlemi gerçekleştirmez. GROUPBY, eklediği uzantı sütunlarındaki toplama işlevlerinde CURRENTGROUP adlı yeni bir işlevin kullanılmasını mümkün kılar. GROUPBY, tek bir tablo taramasında birden çok toplama gerçekleştirmek için kullanılır.

Sözdizimi

GROUPBY (<table> [, <groupBy_columnName> [, <groupBy_columnName> [, …]]] [, <name>, <expression> [, <name>, <expression> [, …]]])

Parametreler

Süre Tanım
tablo Bir veri tablosu döndüren herhangi bir DAX ifadesi.
groupBy_columnName Verilerin gruplandırılması için kullanılacak olan bir tablo sütunu (veya ilişkili tabloda yer alan bir sütun). Bu parametre bir ifade olamaz.
ad GroupBy sütunlarının listesine eklenen yeni sütuna verilen ad; çift tırnak içine alınır.
ifade İlk bağımsız değişkenin CURRENTGROUP() olduğu X toplama işlevlerinden biri. Desteklenen X toplama işlevlerinin tam listesi için aşağıdaki CURRENTGROUP ile bölümüne göz atın.

Döndürülen değer

groupBy_columnName bağımsız değişkenleri için seçilen sütunlara ve ad bağımsız değişkenleri ile belirlenen uzantı sütunlarına sahip olan bir tablo.

Açıklamalar

  • GROUPBY işlevi şunları yapar:

    1. Belirtilen tabloyla (ve “-bir” yönündeki tüm ilişkili tablolarla) çalışmaya başlar.

    2. Tüm GroupBy sütunlarını kullanarak bir gruplandırma oluşturur (bunların 1. adımdaki tabloda mevcut olması gerekir).

    3. Her grup, sonuçta bir satır olarak gösterilir ancak özgün tablodaki bir satır kümesini temsil eder.

    4. Her grup için eklenen uzantı sütunlarını değerlendirir. SUMMARIZE işlevinden farklı olarak örtülü CALCULATE gerçekleştirmez ve grup, filtre bağlamına alınmaz.

  • Ad tanımladığınız her sütunda bir ifade olması gerekir, aksi takdirde bir hata döndürülür. İlk bağımsız değişken olan ad, sonuçlardaki sütunun adını tanımlar. İkinci bağımsız değişken olan ifade, bu sütundaki her bir satırın değerini almak için gerçekleştirilen hesaplamayı tanımlar.

  • groupBy_columnName tablo veya ilişkili bir tablo içinde olmalıdır.

  • Her ad çift tırnak içine alınmalıdır.

  • İşlev, seçilen satır kümesini bir veya daha fazla groupBy_columnName sütunu değerine göre özet satır kümesine dönüştürür. Her grup için bir satır döndürülür.

  • GROUPBY öncelikle, DAX tablosu ifadelerindeki ara sonuçlar üzerinde toplamalar gerçekleştirmek için kullanılır. Modeldeki fiziksel tablolar üzerinde verimli toplamalar yapmak için SUMMARIZECOLUMNS veya SUMMARIZE işlevini kullanmanız yararlı olabilir.

  • Hesaplanmış sütunlarda veya satır düzeyi güvenlik (RLS) kurallarında kullanıldığında, bu işlevin DirectQuery modunda kullanılması desteklenmez.

CURRENTGROUP ile

CURRENTGROUP yalnızca GROUPBY işlevinin içinde uzantı sütunu tanımlayan bir ifadede kullanılabilir. CURRENTGROUP işlevi, GROUPBY işlevinin tablo bağımsız değişkeninden GROUPBY sonucunun geçerli satırına ait olan bir satır kümesi döndürür. CURRENTGROUP işlevi bağımsız değişken almaz ve yalnızca şu toplama işlevlerinin birinci bağımsız değişkeni olarak kullanılabilir: AVERAGEX, COUNTAX, COUNTX, GEOMEANX, MAXX, MINX, PRODUCTX, STDEVX.S, STDEVX.P, SUMX, VARX.S, VARX.P.

Örnek

Aşağıdaki örnekte ilk olarak, SUMMARIZECOLUMNS işlevi kullanılarak fiziksel tablolar üzerinden ülke ve ürün kategorisine göre gruplandırılan toplam satış hesaplanır. Ardından, ürün kategorileri genelinde her ülkedeki en yüksek satışı bulmak için ilk adımda elde edilen ara sonucu taramak üzere GROUPBY işlevi kullanılır.

DEFINE  
VAR SalesByCountryAndCategory =  
SUMMARIZECOLUMNS(  
Geography[Country],
Product[Category],
"Total Sales", SUMX(Sales, Sales[Price] * Sales[Qty])  
)  
  
EVALUATE
GROUPBY(  
SalesByCountryAndCategory,
Geography[Country],
"Max Sales", MAXX(CURRENTGROUP(), [Total Sales])  
)  

Ayrıca bkz.

SUMMARIZE işlevi
SUMMARIZECOLUMNS işlevi