如何在数据表 compute() av​​g 中构建过滤字符串?

how to construct filter string in datatable compute() avg?

我正在尝试计算数据表 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);
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

中有描述