İngilizce dilinde oku

Aracılığıyla paylaş


GENERATEALL

Şunlar için geçerlidir:Hesaplanan sütunHesaplanan tabloÖlçüGörsel hesaplama

tablo1 içindeki her satır arasında Kartezyen çarpımını içeren bir tablo ve tablo2tablo1geçerli satır bağlamında değerlendiren tabloyu döndürür.

Sözdizimi

DAX
GENERATEALL(<table1>, <table2>)  

Parametre

Terim Tanım
table1 Tablo döndüren herhangi bir DAX ifadesi.
table2 Tablo döndüren herhangi bir DAX ifadesi.

Dönüş değeri

tablo1 içindeki her satır arasında Kartezyen çarpımını içeren bir tablo ve tablo2tablo1 geçerli satır bağlamında değerlendirilmesinden kaynaklanan tablo

Açıklamalar

  • tablo1'deki geçerli satır için tablo2 değerlendirmesi boş bir tablo döndürürse, tablo1 geçerli satır sonuçlara eklenir ve tablo2'ye karşılık gelen sütunlar bu satır için null değerlere sahip olur. Bu, tablo1 geçerli satırın sonuçlara dahil edilmemesi GENERATE() değerinden farklıdır.

  • tablo1 ve tablo2 tüm sütun adları farklı olmalıdır veya bir hata döndürülür.

  • Bu işlev, hesaplanan sütunlarda veya satır düzeyi güvenlik (RLS) kurallarında kullanıldığında DirectQuery modunda kullanılmak üzere desteklenmez.

Örnek

Aşağıdaki örnekte kullanıcı, Aşağıdaki tablo gibi Bayiler kanalı için Bölgeye ve Ürün Kategorisine göre satışların özet tablosunu ister:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [Bayi Satışları]
Avrupa Aksesuar -lar $ 142,227,27
Avrupa Bisiklet $ 9,970,200,44
Avrupa Giysi $ 365,847,63
Avrupa Bileşen $ 2,214,440,19
NA Aksesuar -lar
NA Bisiklet
NA Giysi
NA Bileşen
Kuzey Amerika Aksesuar -lar $ 379,305,15
Kuzey Amerika Bisiklet $ 52,403,796,85
Kuzey Amerika Giysi $ 1,281,193,26
Kuzey Amerika Bileşen $ 8,882,848,05
Pasifik Aksesuar -lar 12.769,57 USD
Pasifik Bisiklet $ 710,677,75
Pasifik Giysi 22.902,38 USD
Pasifik Bileşen $ 108,549,71

Aşağıdaki formül yukarıdaki tabloyu oluşturur:

DAX
GENERATEALL(  
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])  
,SUMMARIZE(ProductCategory
, [ProductCategoryName]  
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])  
)  
)  
  1. İlk SUMMARIZE, her satırın aşağıda listelenenler gibi bir bölge grubu olduğu bir bölge grupları tablosu oluşturur:

    SalesTerritory[SalesTerritoryGroup]
    Kuzey Amerika
    Avrupa
    Pasifik
    NA
  2. İkinci SUMMARIZE, aşağıda gösterildiği gibi, her grup için Bayi satışları içeren bir Ürün Kategorisi grupları tablosu oluşturur:

    ProductCategory[ProductCategoryName] [Bayi Satışları]
    Bisiklet $ 63,084,675,04
    Bileşen $ 11,205,837,96
    Giysi $ 1,669,943,27
    Aksesuar -lar $ 534,301,99
  3. Ancak, yukarıdaki tabloyu alıp territory groups tablosundaki her satırın bağlamı altında tabloyu değerlendirdiğinizde, her bölge için farklı sonuçlar elde edebilirsiniz.