Foxtable(狐表)用户栏目专家坐堂 → 分组统计与交叉统计的查寻条件相同,但结果不同


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

主题:分组统计与交叉统计的查寻条件相同,但结果不同

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


加好友 发短信
等级:幼狐 帖子:105 积分:1193 威望:0 精华:0 注册:2017/6/10 10:52:00
分组统计与交叉统计的查寻条件相同,但结果不同  发帖心情 Post By:2022/12/28 21:39:00 [只看该作者]

分组统计与交叉统计的查寻条件相同,但交叉统计能统计出结果,分组统计只有列,没有行(行数为0)
代码如下:
Dim filter As String
filter = "( [发货单位] <> '' or [收货单位] <> '' ) and [更新时间] >= '" & Date.Today.AddDays( - 3) & "'"

Dim xstj As New CrossTableBuilder("临时统计1", DataTables("称重信息"))
xstj.HGroups.AddDef("更新时间", DateGroupEnum.Hour, "时")
xstj.VGroups.AddDef("更新时间", DateGroupEnum.Day, "{0}日")
xstj.Totals.AddDef("净重", "净重")
xstj.OrderByTotal = True
xstj.Filter = filter
xstj.FromServer = True
xstj.Build()

Dim lstj As New GroupTableBuilder("临时统计", DataTables("称重信息"))
lstj.Groups.AddDef("更新时间", DateGroupEnum.Year, "年")
lstj.Groups.AddDef("更新时间", "月")
lstj.Groups.AddDef("更新时间", DateGroupEnum.Day, "日")
lstj.Groups.AddDef("更新时间", DateGroupEnum.Hour, "时")
lstj.Totals.AddDef("净重")
lstj.Filter = filter
lstj.Build()
MainTable = Tables("临时统计")

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/29 8:53:00 [只看该作者]

这样试试
filter = "( [发货单位] <> '' or [收货单位] <> '' or [发货单位] is not null or [收货单位]  is not null) and [更新时间] >= '" & Date.Today.AddDays( - 3) & "'"

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


加好友 发短信
等级:幼狐 帖子:105 积分:1193 威望:0 精华:0 注册:2017/6/10 10:52:00
  发帖心情 Post By:2022/12/29 9:37:00 [只看该作者]

还是一样的情况,未解决
filter = "[更新时间] >= '" & Date.Today.AddDays( - 3) & "'"

问题应该是这条代码,但为什么交叉统计的有数据,分组统计的没有数据呢?


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/29 9:41:00 [只看该作者]

filter = "[更新时间] >= #" & Date.Today.AddDays( - 3) & "#"

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


加好友 发短信
等级:幼狐 帖子:105 积分:1193 威望:0 精华:0 注册:2017/6/10 10:52:00
  发帖心情 Post By:2022/12/29 10:47:00 [只看该作者]

现在分组与交叉都没有数据了,我这个实例是SQL sever

感觉动态表达式没有问题、语法也没有问题,就是不知道什么原因导致的

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/29 10:52:00 [只看该作者]

如果指定.FromServer = True,日期使用单引号,否则使用#号:http://www.foxtable.com/webhelp/topics/2401.htm


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


加好友 发短信
等级:幼狐 帖子:105 积分:1193 威望:0 精华:0 注册:2017/6/10 10:52:00
  发帖心情 Post By:2022/12/30 7:08:00 [只看该作者]

试了下,仍然不行
我无意中打开系统自带的实例“多表统计”,发现只要是日期的分组统计好像都没有数据,不知道是不是BUG

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


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


加好友 发短信
等级:幼狐 帖子:105 积分:1193 威望:0 精华:0 注册:2017/6/10 10:52:00
  发帖心情 Post By:2022/12/30 7:24:00 [只看该作者]

发现2022-8-18的版本就是不显示数据,之后我又重新装了2021年的版本,“多表统计”就可以显示数据了,
但是我自己的程序,提示”文件版本过高,无法正常打开,请升级您的Foxtable!“
所以没办法测试了

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/30 8:31:00 [只看该作者]

麻烦认真仔细看看6楼说明

Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("日期", DateGroupEnum.Day, "日")
g.Totals.AddDef("数量")
g.FromServer = True
g.Filter = "日期=#1999-01-17#" 内部表。access使用#,SqlServer改为g.Filter = "日期='1999-01-17'
g.Build()
MainTable = Tables("统计表1")
[此贴子已经被作者于2022/12/30 8:35:39编辑过]

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


加好友 发短信
等级:幼狐 帖子:105 积分:1193 威望:0 精华:0 注册:2017/6/10 10:52:00
  发帖心情 Post By:2022/12/30 9:15:00 [只看该作者]

是我截图放错了,2022-8-18的版本就是不显示数据

g.Filter = "日期='1999-01-17'"

2021年版本用同样的代码,就可以显示数据

 回到顶部
总数 11 1 2 下一页