表达式做不了,只能使用代码计算
Dim b As New sqlCrossTableBuilder("统计表1","日历表")
b.AddTable("日历表","阳历日期","数据表","日期")
b.HGroups.AddDef("农历月") '添加客户列用于水平分组
b.HGroups.AddDef("星期") '添加客户列用于水平分组
b.HGroups.AddDef("阳历日期",DateGroupEnum.none) '添加列用于水平分组
b.VGroups.AddDef("代码") '添加列用于垂直分组
b.VGroups.AddDef("名称") '添加列用于垂直分组
b.Totals.AddDef("涨跌幅") '添加数量列用于统计
b.Totals.AddExp()
Tables("统计分析_Table1").DataSource = b.BuildDataSource()
Tables("统计分析_Table1").DataTable.DataCols.Add("平均值", Gettype(Double))
For Each s() As String = Tables("统计分析_Table1").DataTable.GetValues("农历月|星期")
Dim cnt As Double = Tables("统计分析_Table1").DataTable.compute("Avg([000005_*])","农历月='" & s(0) & "星期' and = '" & s(1) & "'")
Tables("统计分析_Table1").DataTable.ReplaceFor("平均值",cnt,"农历月='" & s(0) & "星期' and = '" & s(1) & "'")
Next