帶選項的 SUMMARIZE 函式



描述

閱讀 DAX SUMMARIZE 函式後再閱讀此變體。

您可以在 SUMMARIZE 函式中使用以下高階選項:

  • ROLLUP 函式
  • ROLLUPGROUP 函式
  • ISSUBTOTAL 函式

在 SUMMARIZE 函式中使用這些函式時,您將獲得不同的結果。

  • 如果使用 ROLLUP 函式或 ROLLUPGROUP 函式,則 SUMMARIZE 函式的行為會透過向 groupBy_columnName 列的結果中新增彙總行來修改。

  • 如果在 ROLLUP 函式中使用 ROLLUPGROUP 函式,則可以防止彙總行中的部分小計。

  • 如果在 SUMMARIZE 函式的表示式部分使用 ISSUBTOTAL 函式,則您將在結果表中建立另一列,其中包含 ISSUBTOTAL 返回的邏輯值。如果該行包含作為 ISSUBTOTAL 函式引數給出的列的小計值,則該值為 TRUE;否則為 FALSE。

語法

SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …, 
   [ROLLUP (<groupBy_columnName>, [<groupBy_columnName> …])],
   [<name>, <expression>] …) 

SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …, 
   [ROLLUPGROUP (<groupBy_columnName>, [<groupBy_columnName> …])],
   [<name>, <expression>] …) 

SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …, 
   [ROLLUP (ROLLUPGROUP (<groupBy_columnName>, [<groupBy_columnName>] …))],
   [<name>, <expression>] …)

SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>] …, 
   [ROLLUP (<groupBy_columnName>, [<groupBy_columnName> …])],
   [<name>, {<expression> | ISSUBTOTAL (<columnName>)}] …) 

引數(ROLLUP/ROLLUPGROUP 函式)

序號 引數和描述
1

groupBy_columnName

現有列的限定名稱,用於根據其中找到的值建立彙總組。此引數不能是表示式。

引數(ISSUBTOTAL 函式)

序號 引數和描述
1

columnName

SUMMARIZE 函式的表中任何列的名稱,或與該表相關的表中任何列的名稱。

SUMMARIZE 函式的其他引數如 DAX SUMMARIZE 函式中所述。

返回值

一個表,其中包含 groupBy_columnName 引數的選擇列和名稱引數設計的彙總列,此外還有 groupBy_columnName 列的彙總行。如果在 ROLLUP 中使用 ROLLUPGROUP,則不會顯示小計。

如果使用 SUBTOTAL 函式:

附加一列,如果該行包含作為引數給出的列的小計值,則為 TRUE,否則為 FALSE。

備註

ROLLUP 函式中提到的列不能作為 SUMMARIZE 函式的 groupBy_columnName 引數引用。

ROLLUP 函式只能用作 SUMMARIZE 函式的引數,不能用於其他任何地方。

ROLLUPGROUP 函式只能用作以下引數,不能用於其他任何地方。

  • SUMMARIZE 函式,或
  • ROLLUP 函式

ISSUBTOTAL 函式只能用於 SUMMARIZE 函式的表示式部分。

ISSUBTOTAL 必須以匹配的名稱列開頭

示例 - ROLLUP

= SUMMARIZE ( 
   SalesTarget, ROLLUP (SalesTarget[SalespersonID]), 
   SalesTarget[SalesTarget],"MaxTarget",MAX (SalesTarget[SalesTarget])
) 

示例 – 帶 ROLLUPGROUP 的 ROLLUP

= SUMMARIZE ( 
   SalesTarget,ROLLUP (ROLLUPGROUP (SalesTarget[SalespersonID])),
      SalesTarget[SalesTarget],"MaxTarget",MAX(SalesTarget[SalesTarget])
) 

示例 - ISSUBTOTAL

= SUMMARIZE ( 
   SalesTarget,ROLLUP (ROLLUPGROUP (SalesTarget[SalespersonID])), 
      SalesTarget[SalesTarget],"MaxTarget",MAX (SalesTarget[SalesTarget]), 
      "IsSubTotalSalesTarget", ISSUBTOTAL (SalesTarget[SalesTarget])
) 
dax_functions_aggregation.htm
廣告
© . All rights reserved.