Foxtable(狐表)用户栏目专家坐堂 → [求助]统计表新增列的表达式


  共有2486人关注过本帖树形打印复制链接

主题:[求助]统计表新增列的表达式

帅哥哟,离线,有人找我吗?
天一生水
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]统计表新增列的表达式  发帖心情 Post By:2020/6/25 13:31:00 [只看该作者]

老师好!

如图,我在统计表新增一列[平均值]用作比对,取值为[农历月]、[星期]均相同的[000005_*]的平均值。

Add(ColumnName, GetType(Type), MaxLength, Expression, Caption)

这个Expression 表达式怎样写?


此主题相关图片如下:截屏图片 (2).jpg
按此在新窗口浏览图片 

 

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.Build '生成统计表
'MainTable = Tables("统计表1") '打开生成的统计表


Tables("统计分析_Table1").DataSource = b.BuildDataSource()

Tables("统计分析_Table1").DataTable.DataCols.Add("平均值", Gettype(Double))



 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/27 8:59:00 [只看该作者]

表达式做不了,只能使用代码计算

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

 回到顶部