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

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で特定のカラムの最大値を取得する方法

タイトルとURLをコピーしました