次の方法で共有


Sum 関数 (レポート ビルダーおよび SSRS)

式で指定された NULL 以外のすべての数値の合計を、指定されたスコープで評価して返します。

注意

SQL Server データ ツールのレポート ビルダーまたはレポート デザイナーを使用して、レポート定義 (.rdl) を作成および変更できます。これらの作成環境では、レポートおよび関連アイテムの作成方法、開く方法、および保存方法が異なります。詳細については、microsoft.com Web サイトの「レポート デザイナーおよびレポート ビルダーを使用したレポートのデザイン (SSRS)」を参照してください。

構文

Sum(expression, scope, recursive)

パラメーター

  • expression
    (Integer または Float) この集計関数の実行対象の式です。

  • scope
    (String) 省略可。 集計関数の適用先となるレポート アイテムを含むデータセット、グループ、またはデータ領域の名前です。 scope を指定しない場合、現在のスコープが使用されます。

  • recursive
    (列挙型) 省略可。 Simple (既定値) または RdlRecursive です。 集計を再帰的に実行するかどうかを指定します。

戻り値の型

10 進数型の式には Decimal 値が、その他すべての式には Double 値が返されます。

説明

式で指定されたデータセットは、同じデータ型である必要があります。 複数の数値データ型のデータを同じデータ型に変換するには、CInt、CDbl、CDec などの変換関数を使用します。 詳細については、「データ型変換関数」を参照してください。

scope の値は文字列定数である必要があり、式にすることはできません。 外部の集計または他の集計を指定しない集計では、scope は現在のスコープまたはコンテナー スコープを参照する必要があります。 集計の集計では、入れ子になった集計に、子のスコープを指定できます。

Expression には、入れ子になった集計関数への呼び出しを含めることができます。ただし、次に示すように、これには例外および条件があります。

  • 入れ子集計の Scope は、外部集計のスコープと同じであるか、そのスコープに含まれている必要があります。 式内のすべてのスコープについては、1 つのスコープがそれ以外のすべてのスコープに対する子であるようなリレーションシップが必要です。

  • 入れ子集計の Scope には、データセット名は使用できません。

  • Expression には、First、Last、Previous、または RunningValue の各関数を含めることができません。

  • Expression には、recursive を指定する入れ子集計を含めることができません。

詳細については、「集計関数リファレンス (レポート ビルダーおよび SSRS)」および「合計、集計、および組み込みコレクションの式のスコープ (レポート ビルダーおよび SSRS)」を参照してください。

再帰的集計の詳細については、「複数の再帰型階層グループの作成 (レポート ビルダーおよび SSRS)」を参照してください。

使用例

次の 2 つのコード例では、Order グループまたはデータ領域の行アイテム合計の総合計が返されます。

=Sum(Fields!LineTotal.Value, "Order")
' or 
=Sum(CDbl(Fields!LineTotal.Value), "Order")

入れ子になった行グループであるカテゴリとサブカテゴリ、および入れ子になった列グループである年と四半期を含むマトリックス データ領域と、最も内側の行グループと列グループに属しているセルで、次の式はすべてのサブカテゴリの全四半期の最大値に評価されます。

=Max(Sum(Fields!Sales.Value))

関連項目

参照

式の例 (レポート ビルダーおよび SSRS)

概念

レポートでの式の使用 (レポート ビルダーおよび SSRS)

式で使用されるデータ型 (レポート ビルダーおよび SSRS)

合計、集計、および組み込みコレクションの式のスコープ (レポート ビルダーおよび SSRS)