次の方法で共有


SUMMARIZE

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

グループのセットについて要求された合計のサマリー テーブルを返します。

構文

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

パラメーター

用語 定義
テーブル データのテーブルを返す任意の DAX 式。
groupBy_ColumnName (省略可能) 既存の列の修飾名。これは、その列で見つかった値に基づいてサマリー グループを作成するために使用されます。 このパラメーターを式にすることはできません。
name 合計列または集計列に指定された名前。二重引用符で囲みます。
expression 1 つのスカラー値を返す任意の DAX 式。式は、複数回評価されます (行/コンテキストごと)。

戻り値

groupBy_columnName 引数用に選択された列と、name 引数で指定された集計列を含むテーブル。

解説

  • 名前を定義する各列には、対応する式が必要です。そうでない場合は、エラーが返されます。 最初の引数 name では、結果の列の名前を定義します。 2 番目の引数 expression では、その列の各行の値を取得するために実行される計算を定義します。

  • groupBy_columnName は、table または table に関連するテーブルに存在する必要があります。

  • 各 name は二重引用符で囲む必要があります。

  • この関数を使用すると、選択した一連の行が、1 つ以上の groupBy_columnName 列の値によって一連の概要行にグループ化されます。 グループごとに 1 行が返されます。

  • この関数は、計算列または行レベルのセキュリティ (RLS) ルールで使用される場合、DirectQuery モードでの使用はサポートされません。

次の例では、カレンダー年度と製品カテゴリ名に関してグループ化された再販業者の売上の概要を返します。この結果テーブルでは、再販業者の売上を年度および製品カテゴリ別に分析することができます。

SUMMARIZE(ResellerSales_USD  
      , DateTime[CalendarYear]  
      , ProductCategory[ProductCategoryName]  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
      )  

次の表は、テーブルを受け取ることが想定されている関数が受け取るデータのプレビューを示しています。

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Sales Amount (USD)] [Discount Amount (USD)]
2008 Bikes 12968255.42 36167.6592
2005 Bikes 6958251.043 4231.1621
2006 Bikes 18901351.08 178175.8399
2007 Bikes 24256817.5 276065.992
2008 コンポーネント 2008052.706 39.9266
2005 コンポーネント 574256.9865 0
2006 コンポーネント 3428213.05 948.7674
2007 コンポーネント 5195315.216 4226.0444
2008 Clothing 366507.844 4151.1235
2005 Clothing 31851.1628 90.9593
2006 Clothing 455730.9729 4233.039
2007 Clothing 815853.2868 12489.3835
2008 Accessories 153299.924 865.5945
2005 Accessories 18594.4782 4.293
2006 Accessories 86612.7463 1061.4872
2007 Accessories 275794.8403 4756.6546

ROLLUP を使用する場合

ROLLUP 構文を追加すると、groupBy_columnName 列の結果にロールアップ行が追加され、SUMMARIZE の動作が変更されます。 ROLLUP は、SUMMARIZE 式内でのみ使用できます。

次の例では、SUMMARIZE 関数呼び出しの Group-By 列にロールアップ行を追加しています。

SUMMARIZE(ResellerSales_USD  
      , ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
)  

次のテーブルが返されます。

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Sales Amount (USD)] [Discount Amount (USD)]
2008 Bikes 12968255.42 36167.6592
2005 Bikes 6958251.043 4231.1621
2006 Bikes 18901351.08 178175.8399
2007 Bikes 24256817.5 276065.992
2008 コンポーネント 2008052.706 39.9266
2005 コンポーネント 574256.9865 0
2006 コンポーネント 3428213.05 948.7674
2007 コンポーネント 5195315.216 4226.0444
2008 Clothing 366507.844 4151.1235
2005 Clothing 31851.1628 90.9593
2006 Clothing 455730.9729 4233.039
2007 Clothing 815853.2868 12489.3835
2008 Accessories 153299.924 865.5945
2005 Accessories 18594.4782 4.293
2006 Accessories 86612.7463 1061.4872
2007 Accessories 275794.8403 4756.6546
2008 15496115.89 41224.3038
2005 7582953.67 4326.4144
2006 22871907.85 184419.1335
2007 30543780.84 297538.0745
76494758.25 527507.9262

ROLLUPGROUP を使用する場合

ROLLUP 構文内に ROLLUPGROUP を追加すると、ロールアップ行に部分的な小計が表示されなくなります。 ROLLUPGROUP は、ROLLUP 式、ROLLUPADDISSUBTOTAL 式、または ROLLUPISSUBTOTAL 式内でのみ使用できます。

次の例では、すべてのカテゴリでの各年の小計を表示することなく、すべての年およびカテゴリの総計のみを表示します。

SUMMARIZE(ResellerSales_USD  
      , ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
)  

次のテーブルが返されます。

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Sales Amount (USD)] [Discount Amount (USD)]
2008 Bikes 12968255.42 36167.6592
2005 Bikes 6958251.043 4231.1621
2006 Bikes 18901351.08 178175.8399
2007 Bikes 24256817.5 276065.992
2008 コンポーネント 2008052.706 39.9266
2005 コンポーネント 574256.9865 0
2006 コンポーネント 3428213.05 948.7674
2007 コンポーネント 5195315.216 4226.0444
2008 Clothing 366507.844 4151.1235
2005 Clothing 31851.1628 90.9593
2006 Clothing 455730.9729 4233.039
2007 Clothing 815853.2868 12489.3835
2008 Accessories 153299.924 865.5945
2005 Accessories 18594.4782 4.293
2006 Accessories 86612.7463 1061.4872
2007 Accessories 275794.8403 4756.6546
76494758.25 527507.9262

ISSUBTOTAL を使用する場合

ISSUBTOTAL を使用すると、SUMMARIZE 式で別の列を作成できます。この式は、ISSUBTOTAL の引数として指定された列の小計値が行に含まれる場合は True を返し、それ以外の場合は False を返します。 ISSUBTOTAL は、SUMMARIZE 式内でのみ使用できます。

次のサンプルでは、指定された SUMMARIZE 関数呼び出しで、各 ROLLUP 列に対して ISSUBTOTAL 列が生成されます。

SUMMARIZE(ResellerSales_USD  
      , ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
      , "Is Sub Total for DateTimeCalendarYear", ISSUBTOTAL(DateTime[CalendarYear])  
      , "Is Sub Total for ProductCategoryName", ISSUBTOTAL(ProductCategory[ProductCategoryName])  
)  

次のテーブルが返されます。

[Is Sub Total for DateTimeCalendarYear] [Is Sub Total for ProductCategoryName] DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Sales Amount (USD)] [Discount Amount (USD)]
false FALSE
FALSE false 2008 Bikes 12968255.42 36167.6592
false false 2005 Bikes 6958251.043 4231.1621
FALSE false 2006 Bikes 18901351.08 178175.8399
false false 2007 Bikes 24256817.5 276065.992
false false 2008 コンポーネント 2008052.706 39.9266
false false 2005 コンポーネント 574256.9865 0
false false 2006 コンポーネント 3428213.05 948.7674
false false 2007 コンポーネント 5195315.216 4226.0444
false false 2008 Clothing 366507.844 4151.1235
false false 2005 Clothing 31851.1628 90.9593
false false 2006 Clothing 455730.9729 4233.039
false false 2007 Clothing 815853.2868 12489.3835
false false 2008 Accessories 153299.924 865.5945
false false 2005 Accessories 18594.4782 4.293
false false 2006 Accessories 86612.7463 1061.4872
false false 2007 Accessories 275794.8403 4756.6546
false TRUE
FALSE true 2008 15496115.89 41224.3038
false true 2005 7582953.67 4326.4144
false true 2006 22871907.85 184419.1335
false true 2007 30543780.84 297538.0745
TRUE true 76494758.25 527507.9262

SUMMARIZECOLUMNS