如何在datatable compute()avg中构造过滤器字符串?

时间:2015-03-24 17:57:27

标签: c# filter average outliers

我正在尝试计算数据表RefdtClone中列的平均值。 数据变化很大,我想排除过大的数据,例如排除值> 9999.我似乎无法找到有关如何构造过滤器字符串作为compute()参数的一部分的信息。任何帮助表示赞赏。

我的代码如下。

string dataColumnName = "";
string filter =""; // I want to exclude value > 9999 from compute() avg
dataColumnName = (string)RefdtClone.Columns[firstDataColumn + i].ColumnName;
ComputeAVGColumn = String.Concat("AVG(["+ dataColumnName+ "])");
Analysisdt.Rows[i]["Mean 1"] = RefdtClone.Compute(ComputeAVGColumn, filter);

1 个答案:

答案 0 :(得分:0)

string dataColumnName = (string)RefdtClone.Columns[firstDataColumn + i].ColumnName;
ComputeAVGColumn = String.Concat("AVG(["+ dataColumnName+ "])");
string filter = String.Format("[{0}] <= 9999", dataColumnName);
Analysisdt.Rows[i]["Mean 1"] = RefdtClone.Compute(ComputeAVGColumn, filter);
过滤器的

语法在MSDN DataColumn.Expression page

中描述