【c#】datatableで特定のカラムの合計値を取得する方法

  • By:
  • カテゴリー: C#

下記のようなデータがdatatableに格納されていたとして、”Value”列の合計値を算出する方法の紹介です。

合計値を算出するには、下記のコードのようにComputeメソッドを使えば良いです。

//テーブルの作成
System.Data.DataTable Table = new System.Data.DataTable();
Table.Columns.Add("ID", typeof(int));
Table.Columns.Add("Value", typeof(double));
            
Table.Rows.Add(new Object[] { 1, 1.5 });
Table.Rows.Add(new Object[] { 2, 0.5 });
Table.Rows.Add(new Object[] { 3, 2.0 });
Table.Rows.Add(new Object[] { 4, 1.0 });
Table.Rows.Add(new Object[] { 5, 5.0 });

//Computeメソッドの実行
double sum = Convert.ToDouble(Table.Compute("Sum(Value)", null));

Computeメソッドの第一引数に”Sum(Value)”としています。
Sumの中には適宜集計対象のカラム名を入れてください。
上記の結果、変数sumに”Value”カラムの合計(=10.0)が格納されます。

補足
Computeメソッドの第二引数を使えば特定の条件の行の中で集計を行うことも可能です。
詳細は下記ページを参照してみてください。
DataTable.Compute(String, String) メソッド

参考になれば幸いです。

関連ページ;
【c#】datatableで特定のカラムの最大値を取得する方法

C#
【c#】2項グラフを作る方法

C#のWindowsフォームアプリケーションで2項グラフを作る方法の紹介です。本記事はVIsualS …

C#
【c#】datatableで特定のカラムの最大値を取得する方法

下記のようなデータがdatatableに格納されていたとして、”Value” …

C#
【c#】Microsoft.Jet.OLEDB.4.0でCSVを読み込むときのファイル名に起因するエラーの対処

Microsoft.Jet.OLEDB.4.0を使ってCSVファイルの読み込みをしようとするとCSV …