次の方法で共有


GENERATE

適用対象:計算列計算テーブルMeasureビジュアル計算

table1から現在の行のコンテキストでテーブル 2 を評価した結果であるテーブル table1 の各行の間にデカルト を持つテーブル 返します。

構文

GENERATE(<table1>, <table2>)

パラメーター

用語 定義
table1 テーブルを返す任意の DAX 式。
table2 テーブルを返す任意の DAX 式。

value を返す

table1 の各行間にデカルト テーブル 1 から現在の行のコンテキストで table2 評価されたテーブル

備考

  • table1 の現在の行 table2 の評価 If、空のテーブルが返、結果テーブル table1の現在の行 not 含まれます。 これは、table1 の現在の行が、table2 に対応する列 and 結果に含まれる、その行の null values を持つ GENERATEALL() とは異なります。

  • table1table2 の列名 が返 異なる必要があります。

  • この関数は、行レベル セキュリティ (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])
)
)
  1. first SUMMARIZE ステートメント (SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])) は、次に示すように、各行が担当地域グループである担当地域グループのテーブルを生成します。

    SalesTerritory[SalesTerritoryGroup]
    北アメリカ
    ヨーロッパ
    パシフィック
    NA
  2. 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
  3. ただし、上記の表を担当地域グループ テーブルの各行のコンテキストで andevaluate すると、担当地域ごとに異なる結果が得られます。