我正在尝试在DataTable上平均6个不同的字段,但没有分组。只是AVERAGE。我在C#中找到了几个例子,但是在VB中找不到任何关于如何做的例子。有人可以帮我转换语法吗?
这是我到目前为止所做的:
Dim query = From dtRow In dtIn.AsEnumerable _
Where dtRow.Field(Of String)("FOLLOWUP") = "Alert" _
Select New With { _
.Brand_Functional_Avg = XXX.Average(Function(f) f("Brand_Functional")), _
.Brand_Personal_Avg = XXX.Average(Function(f) f("Brand_Personal")) _
}
我应该为XXX使用什么?我尝试了所有我能想到的选项,没有编译。
相信我,如果我能在C#中写这个,我会,但该项目需要VB。
答案 0 :(得分:0)
如果你试图找到平均值,你不应该使用select来开始 - 这将为每一行创建一个新结果,而你只想要整个表的两个结果。我建议你这样做:
Dim filtered = From dtRow in dtIn.AsEnumerable _
Where dtRow.Field(Of String)("FOLLOWUP") = "Alert"
Dim functionalAvg = filtered.Average(Function(f) f("Brand_Functional"))
Dim personalAvg = filtered.Average(Function(f) f("Brand_Personal"))