GENERATE
table1から現在の行のコンテキストでテーブル 2
構文
GENERATE(<table1>, <table2>)
パラメーター
用語 | 定義 |
---|---|
table1 |
テーブルを返す任意の DAX 式。 |
table2 |
テーブルを返す任意の DAX 式。 |
value を返す
table1 の各行間にデカルト
備考
table1 の現在の行 table2 の評価 If、空のテーブルが返、結果テーブル table1の現在の行 not 含まれます。 これは、table1 の現在の行が、table2 に対応する列 and 結果に含まれる、その行の null values を持つ GENERATEALL() とは異なります。
table1
table2 の列名、 が返 異なる必要があります。 この関数は、行レベル セキュリティ (RLS) 規則 or 計算列で使用する場合に、DirectQuery モードで使用するためにサポート not。
例
次の例では、次の表のように、リセラー チャネルの地域別 andProduct カテゴリ別の売上の概要テーブルが必要です。
SalesTerritory[SalesTerritoryGroup] | ProductCategory[ProductCategoryName] | [Reseller Sales] |
---|---|---|
ヨーロッパ | 小物 | $ 142,227.27 |
ヨーロッパ | バイク | $ 9,970,200.44 |
ヨーロッパ | 衣類 | $ 365,847.63 |
ヨーロッパ | コンポーネント | $ 2,214,440.19 |
北アメリカ | 小物 | $ 379,305.15 |
北アメリカ | バイク | $ 52,403,796.85 |
北アメリカ | 衣類 | $ 1,281,193.26 |
北アメリカ | コンポーネント | $ 8,882,848.05 |
パシフィック | 小物 | $ 12,769.57 |
パシフィック | バイク | $ 710,677.75 |
パシフィック | 衣類 | $ 22,902.38 |
パシフィック | コンポーネント | $ 108,549.71 |
次の式は、上記の表を生成します。
GENERATE(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
first SUMMARIZE ステートメント (
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
) は、次に示すように、各行が担当地域グループである担当地域グループのテーブルを生成します。SalesTerritory[SalesTerritoryGroup] 北アメリカ ヨーロッパ パシフィック NA second SUMMARIZE ステートメント
SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))
では、次に示すように、各グループの Reseller sales を含む Product カテゴリ グループのテーブルが生成されます。ProductCategory[ProductCategoryName] [Reseller Sales] バイク $ 63,084,675.04 コンポーネント $ 11,205,837.96 衣類 $ 1,669,943.27 小物 $ 534,301.99 ただし、上記の表を担当地域グループ テーブルの各行のコンテキストで andevaluate すると、担当地域ごとに異なる結果が得られます。