İngilizce dilinde oku

Aracılığıyla paylaş


GENERATE

Şunlar için geçerlidir:Hesaplanan sütunHesaplanan tabloMeasureGörsel hesaplama

tablo1'deki her satır arasında Kartezyen product içeren bir tablo döndürürand tablo tablo2tablo1geçerli satır bağlamında değerlendirerek elde eder.

Sözdizimi

GENERATE(<table1>, <table2>)  

Parametre

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

İade value

tablo1'deki her satır arasında Kartezyen product içeren bir tabloand tablo tablo2tablo1 geçerli satır bağlamında değerlendirilmesinden elde eder

Açıklamalar

  • tablo1'deki geçerli satır için tablo2 değerlendirmesini boş bir tablo döndürür; sonuç tablosu tablo1geçerli satırı içerir. Bu, tablo1 geçerli satırın sonuçlara eklendiği tablo2 karşılık gelen sütunların bu satır için null olacağı () farklıdır.

  • tablo1andtablo2 sütun adlarının Allerror döndürülür or farklı olması gerekir.

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

Örnek

Aşağıdaki örnekte kullanıcı, Aşağıdaki tablo gibi Bayiler kanalı için Bölge andProduct 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
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:

GENERATE(  
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])  
,SUMMARIZE(ProductCategory   
, [ProductCategoryName]  
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])  
)  
)  
  1. SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup]) first SUMMARIZE deyimi, aşağıda gösterildiği gibi her satırın bir bölge grubu olduğu bir bölge grupları tablosu oluşturur:

    SalesTerritory[SalesTerritoryGroup]
    Kuzey Amerika
    Avrupa
    Pasifik
    NA
  2. SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])) second SUMMARIZE deyimi, aşağıda gösterildiği gibi her grubun Bayi satışlarıyla Product Kategori gruplarından oluşan bir tablo 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 bölge grupları tablosundaki her satırın bağlamı altında andevaluate aldığınızda, her bölge için farklı sonuçlar elde edebilirsiniz.