Foxtable(狐表)用户栏目专家坐堂 → 交叉统计的问题


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

主题:交叉统计的问题

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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9203 威望:0 精华:0 注册:2020/11/4 22:15:00
交叉统计的问题  发帖心情 Post By:2025/1/13 11:17:00 [只看该作者]

交叉统计
Dim b As New CrossTableBuilder("统计表1", DataTables("表C"))
b.HGroups.AddDef("品名") '
b.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年") '
b.VGroups.AddDef("日期", DateGroupEnum.Month, "{0}月") '

b.Totals.AddDef("数量") '
b.VerticalTotal = True '垂直汇总
b.HorizontalTotal = True '水平汇总
b.Build '生成统计表

由听说用SQL会更快,上面好象也是SQL语句封装的,
用SQL如何实现上面功能?

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


加好友 发短信
等级:超级版主 帖子:111805 积分:569179 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/13 11:30:00 [只看该作者]

没有办法使用sql实现

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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9203 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/1/13 21:30:00 [只看该作者]


If Tables("表C").current.IsNull("审核") Then
Dim b As New CrossTableBuilder("统计表1", DataTables("表C"))
b.HGroups.AddDef("品名") '
b.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年") '
b.VGroups.AddDef("日期", DateGroupEnum.Month, "{0}月") '

b.Totals.AddDef("数量") '
b.VerticalTotal = True '垂直汇总
b.HorizontalTotal = True '水平汇总
b.Build '生成统计表
End If
需求:如果表C的 审核为是就汇总,如果否,为不汇总。上面代码执行后,没报错,也没实现汇总,如何处理?

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


加好友 发短信
等级:超级版主 帖子:111805 积分:569179 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/13 22:27:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/0595.htm


If Tables("表C").current("审核")=true Then

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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9203 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/1/14 9:31:00 [只看该作者]

If Tables("表C").current("审核")=true Then
DataTables("生产日报表").DeleteFor("")
Dim b As New CrossTableBuilder("统计表1", DataTables("表C"))
b.HGroups.AddDef("品名") '
b.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年") '
b.VGroups.AddDef("日期", DateGroupEnum.Month, "{0}月") '

b.Totals.AddDef("数量") '
b.VerticalTotal = True '垂直汇总
b.HorizontalTotal = True '水平汇总
b.Build '生成统计表
End If
执行后,没按条件统计。需求:如果表C的 审核为是就汇总,如果否,为不汇总?

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


加好友 发短信
等级:超级版主 帖子:111805 积分:569179 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/14 9:58:00 [只看该作者]


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

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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9203 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/1/14 10:41:00 [只看该作者]

If Tables("订单").Filter = "[审核] Is Null AND [审核]= ''" Then
    Dim b As New GroupTableBuilder("统计表1", DataTables("订单"))
    b.Groups.AddDef("产品") '
    '    b.Groups.AddDef("客户") '
    b.Totals.AddDef("数量") '
    Tables("窗口1_Table1").DataSource = b.BuildDataSource() '
End If
执行后,没报错也没统计
[此贴子已经被作者于2025/1/14 10:57:29编辑过]

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


加好友 发短信
等级:超级版主 帖子:111805 积分:569179 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/14 11:03:00 [只看该作者]

b.Filter = "[审核] =true"

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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9203 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/1/14 11:38:00 [只看该作者]

If Tables("订单").Filter = "[审核] Is Null AND [审核]= ''" Then
    Dim b As New GroupTableBuilder("统计表1", DataTables("订单"))
    b.Filter = "[审核] =true"
    b.Groups.AddDef("产品") '
    '    b.Groups.AddDef("客户") '
    b.Totals.AddDef("数量") '
    Tables("窗口1_Table1").DataSource = b.BuildDataSource() '
End If

还是不行?需求是先判断订单中审核列是否空值,如果是空值时进行统计,否则,不统计

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


加好友 发短信
等级:超级版主 帖子:111805 积分:569179 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/14 13:31:00 [只看该作者]

去掉if代码
    
Dim b As New GroupTableBuilder("统计表1", DataTables("订单"))
    b.Filter = "[审核] =false"
    b.Groups.AddDef("产品") '
    b.Totals.AddDef("数量") '
    Tables("窗口1_Table1").DataSource = b.BuildDataSource() '
[此贴子已经被作者于2025/1/14 13:31:03编辑过]

 回到顶部