Foxtable(狐表)用户栏目专家坐堂 → 分组统计问题


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

主题:分组统计问题

帅哥哟,离线,有人找我吗?
文道古月
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
分组统计问题  发帖心情 Post By:2016/1/12 9:52:00 [只看该作者]

这个统计代码怎么老是提示产品列不在聚合函数中?

 

目的,通过筛选条件,统计产品总数

 

 Dim gb As new SQLGroupTableBuilder("统计","订单") '分组统计
    gb.C    '数据源
    gb.Groups.AddDef("产品","客户") '分组
    gb.Totals.AddExp("总数","SUM(数量)") '求和
    gb.Filter = filter ' 条件
    gb.Build '生成
    MainTable = Tables("统计") '切换主表

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:测试实列wb.table


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/12 10:06:00 [只看该作者]

    Dim gb As new SQLGroupTableBuilder("统计","订单") '分组统计
    gb.ConnectionName = "test"    '数据源
    gb.Groups.AddDef("产品") '分组
    gb.Groups.AddDef("客户") '分组
    gb.Totals.AddExp("总数","数量") '求和
    gb.Filter = filter ' 条件
    e.Form.Controls("筛选Table").Table.Datasource = gb.BuildDataSource '生成

 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2016/1/12 10:45:00 [只看该作者]

为什么我添加了一个分组列,时间显示就不对了呢?

 

gb.Groups.AddDef("移动时间") '分组

 


此主题相关图片如下:截图20160112104420.png
按此在新窗口浏览图片

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/12 10:49:00 [只看该作者]

gb.Groups.AddDef("移动时间", DateGroupEnum.None)

 

DateGroupEnum枚举的可选值:

None :     不分组
Year:      按年分组
Quarter:   按季度分组
Month:     按月分组
Week:      按周分组
Day:       按天分组,月中的某一天。
Hour:      按小时分组
Minute:    按分钟分组
Second:    按秒分组


 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2016/1/12 12:13:00 [只看该作者]

这个统计枚举,只能表达式列引用,不能普通统计列用吗?

 

b.Totals.AddDef("客户",AggregateEnum.Count,"订单数")

b.Totals.AddEXP("客户",AggregateEnum.Count,"订单数")

 

AggregateEnum型枚举的可选值:

Average:平均值
Count: 记录数
Max: 最大值
Min: 最小值
Sum: 累积值

 


 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2016/1/12 12:20:00 [只看该作者]

 

列,为什么不能这样添加呢?

 

        Dim cols() As String = {"物料1","物料2"}
        gb.Groups.AddDef(cols)


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/12 14:44:00 [只看该作者]

可以啊,你循环就行啊

 

For Each c As String in Cols

    gb.Groups.AddDef(c)

Next


 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2016/1/12 15:26:00 [只看该作者]

下面这样,为什么不用循环呢?

 


图片点击可在新窗口打开查看此主题相关图片如下:截图20160112152537.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/12 15:54:00 [只看该作者]

每一种,调用的时候都有语法要求,不可能支持所有方式的调用。

 

你要去适应人家的规则。


 回到顶部