GENERATE
傳回數據表,其中具有 table1 中每一個數據列之間的笛卡兒 productand 數據表,該數據表會從 table1評估 table2。
語法
GENERATE(<table1>, <table2>)
參數
術語 | 定義 |
---|---|
table1 |
傳回數據表的任何 DAX 表達式。 |
table2 |
傳回數據表的任何 DAX 表達式。 |
傳回 value
table1 中每一個數據列之間具有笛卡兒 product 的數據表,and 數據表,該數據表會從 table1 的目前數據列內容中 評估數據表 2
言論
If table1 中目前數據列的 table2 評估會傳回空白數據表,則結果數據表會 not 包含來自 table 1 table1的目前數據列。 這與
() 不同,其中來自 table1 的目前數據 列將會包含在對應 至 table2 之數據表 2結果中,該數據列的 null 。 從 table1andtable2 傳回 erroror,All 數據行名稱必須不同。
在匯出數據行中使用 or 數據列層級安全性 (RLS) 規則時,支援此函式 not 用於 DirectQuery 模式。
例
在下列範例中,使用者想要轉銷商頻道依區域 andProduct 類別目錄的銷售摘要數據表,如下表所示:
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 |
下列公式會產生上述資料表:
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] 北美洲 歐洲 太平洋 那 second SUMMARIZE 語句
SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))
,會產生具有每個群組轉銷商銷售的 Product 類別群組數據表,如下所示:ProductCategory[ProductCategoryName] [轉銷商銷售] 自行車 $ 63,084,675.04 元件 $ 11,205,837.96 服裝 $ 1,669,943.27 輔料 $ 534,301.99 不過,當您將上述數據表 andevaluate 在領域群組數據表中每個數據列的內容下時,您會針對每個領域取得不同的結果。