共用方式為


GENERATEALL

適用於:匯出數據行計算數據表量值視覺計算

傳回數據表,其中具有 table1 中每個數據列之間的笛卡兒乘積,以及從 table1評估目前數據 列內容中 table2 所產生的數據表。

語法

GENERATEALL(<table1>, <table2>)

參數

術語 定義
table1 傳回數據表的任何 DAX 表達式。
table2 傳回數據表的任何 DAX 表達式。

傳回值

數據表,在 table1 數據表 1 中的每個數據列之間具有笛卡兒乘積,以及從 table1 table 1 中評估目前數據列內容中 table2 所產生的數據表

言論

  • 如果 table1 中目前數據列的 table2 評估會傳回空白數據表,則 來自 table 1 的目前數據列將會包含在結果中,且對應至 table2 的數據行將會有該數據列的 null 值。 這與 GENERATE() 不同,其中來自 table1 的目前數據列不會 包含在結果中。

  • 來自 table1table 2 的所有數據行名稱都必須不同,否則會傳回錯誤。

  • 在匯出數據行或數據列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。

在下列範例中,使用者想要依 [轉售商] 頻道 [區域] 和 [產品類別] 銷售的摘要數據表,如下表所示:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [轉銷商銷售]
歐洲 輔料 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 美元

下列公式會產生上述資料表:

GENERATEALL(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
  1. 第一個 SUMMARIZE 會產生領域群組的數據表,其中每個數據列都是領域群組,如下所示:

    SalesTerritory[SalesTerritoryGroup]
    北美洲
    歐洲
    太平洋
  2. 第二個 SUMMARIZE 會產生產品類別群組的數據表,其中包含每個群組的轉銷商銷售,如下所示:

    ProductCategory[ProductCategoryName] [轉銷商銷售]
    自行車 63,084,675.04 美元
    元件 11,205,837.96 美元
    服裝 1,669,943.27 美元
    輔料 534,301.99 美元
  3. 不過,當您採用上述數據表並評估來自領域群組數據表之每個數據列內容下的數據表時,您會針對每個領域取得不同的結果。