2008年3月27日木曜日

.NET DataTableの集約計算を行う(Compute)

datatableの集約計算を行うにはDataTable.Compute メソッドを使用します。

Dim As Object 

'最大値を求める
value = datatable.Compute("Max(集計列名)", Nothing)

'最小値を求める
value = datatable.Compute("Min(集計列名)", Nothing)

'合計値を求める
value = datatable.Compute("Sum(集計列名)", Nothing)

'平均値を求める
'2014/07/09 平均はAveではなくAvgとのご指摘をいただきました。
'value = datatable.Compute("Ave(集計列名)", Nothing) 
value = datatable.Compute("Avg(集計列名)", Nothing)

'行数を求める
value = datatable.Compute("Count(集計列名)", Nothing)

'抽出条件を指定して、該当データの合計値を求める
value = datatable.Compute("SUM(集計列名)", "抽出列名 = 1")

value = datatable.Compute("SUM(集計列名)", "抽出列名 = 1 or 抽出列名 = 2")

value = datatable.Compute("SUM(集計列名)", "100 < 抽出列名 and 抽出列名 < 1000")

'datatableに行がない場合、Computeの結果はNothingになります
【関連項目】
DataTableをグループ化し集計するには
DataTableから重複を除くには

2 件のコメント:

匿名 さんのコメント...

平均はAveではなくAvgのようです。

yan さんのコメント...

ご指摘ありがとうございます!