C#DataTable:列内の平均を計算する
-
21-12-2019 - |
質問
列の平均P&Lを取得しようとしています。列はdouble型のものですが、次のようなエラーが発生し続けます。
追加情報:集約引数の構文エラー:可能な「子」修飾子を持つ単一の列引数を期待します。
この行が実行されているときに発生します。
avgFiveSbefore = (double)dt.Compute("AVG(5sBeforePnL)", "");
.
また、明確にするためのいくつかの追加のコードです:
dt.Columns.Add(Columns.FiveSecBeforePnL, typeof(double));
foreach(DataRow row in dt.Rows)
{
row[Columns.FiveSecBeforePnL] = some value;
}
double avgFiveSbefore;
avgFiveSbefore = (double)dt.Compute("AVG(5sBeforePnL)", "");
. 解決
列名を角かっこで囲むようにしてください。
avgFiveSbefore = (double)dt.Compute("AVG([5sBeforePnL])", "");
.
LINQを使用して同じことをすることもできます。
double avgFiveSbefore = dt.AsEnumerable()
.Average(r =>
r.Field<double>(Columns.FiveSecBeforePnL));
. 所属していません StackOverflow