GENERATE
table1 の各行と table1
構文
GENERATE(<table1>, <table2>)
パラメーター
用語 | 定義 |
---|---|
table1 |
テーブルを返す任意の DAX 式。 |
table2 |
テーブルを返す任意の DAX 式。 |
戻り値
table1 の各行と、table1 から現在
備考
table1 の現在の行 table2 の評価で空のテーブルが返 場合、結果テーブル table1の現在の行は含まれません。 これは、table1 の現在の行が結果に含まれる GENERATEALL() と異なり、table2 に対応する列には、その行の null 値が含まれます。
table1 と table2
列名はすべて異なるか、エラーが返される必要があります。 この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
例
次の例では、次の表のように、Resellers チャネルの地域別および製品カテゴリ別の売上の概要テーブルが必要です。
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])
)
)
最初の SUMMARIZE ステートメント (
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
) は、次に示すように、各行が担当地域グループである担当地域グループのテーブルを生成します。SalesTerritory[SalesTerritoryGroup] 北アメリカ ヨーロッパ パシフィック NA 2 番目の SUMMARIZE ステートメント (
SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))
) では、次に示すように、各グループの Reseller sales を含む製品カテゴリ グループのテーブルが生成されます。ProductCategory[ProductCategoryName] [Reseller Sales] バイク $ 63,084,675.04 コンポーネント $ 11,205,837.96 衣類 $ 1,669,943.27 小物 $ 534,301.99 ただし、上記の表を取得し、担当地域グループ テーブルの各行のコンテキストで評価すると、担当地域ごとに異なる結果が得られます。