Foxtable(狐表)用户栏目专家坐堂 → 同比环比统计问题


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

主题:同比环比统计问题

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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17570 威望:0 精华:0 注册:2014/7/29 19:09:00
同比环比统计问题  发帖心情 Post By:2018/7/9 10:42:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:数据统计.jpg
图片点击可在新窗口打开查看


帮助中的例子是直接用日期列生成同比环比,但现在查询得到的表中没有日期列,只有象统计结果中的年,月那样的列,

Dim g As New GroupTableBuilder("统计表2", DataTables("订单"))
g.Groups.AddDef(
"年")
g.Groups.AddDef(
"月"
)
g.Totals.AddDef(
"数量", "", "数量_值")
g.Totals.AddDef(
"金额", "", "金额_值")
g.SamePeriodGrowth =
True
g.CircleGrowth =
True
g.Build()

MainTable
= Tables("统计表2")


上面的代码无法出现同比环比,应该怎么写代码才可以?


谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/9 17:00:00 [只看该作者]

需要自己实现功能。

 

动态添加临时列,然后循环每一行,计算。

 

或者是自己实现分组、交叉统计的代码 http://www.foxtable.com/webhelp/scr/2394.htm

 


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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17570 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/7/14 10:55:00 [只看该作者]

如果自己写代码增加临时列发现一个问题如下图

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

上图中的数量与金额不能与左边的数量与金额合并在一起显示了,应该是数量下面有值,同比,环比,金额也相同
代码是这样的
Dim b As New GroupTableBuilder("统计表1",DataTables(winName & "_Table1"))
b.Groups.AddDef("供应商")
b.Totals.AddDef("数量", "", "数量_值")
b.Totals.AddDef("金额", "", "金额_值")
Tables(winName & "_Table2").DataSource = b.BuildDataSource() '打开生成的统计表
'---循环各行生成同比及环比
Dim tbl2 As Table = Tables(winName & "_Table2")
tbl2.DataTable.DataCols.Add("数量同比", Gettype(String),16,"","数量_同比")
tbl2.DataTable.DataCols.Add("数量环比", Gettype(String),16,"","数量_环比")
tbl2.DataTable.DataCols.Add("金额同比", Gettype(String),16,"","金额_同比")
tbl2.DataTable.DataCols.Add("金额环比", Gettype(String),16,"","金额_环比")
......

除了上面的数量与金额统计都自己写代码外,有什么办法让两个数量及金额合并在一起显示?


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


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

添加列后移动到指定位置,比如http://www.foxtable.com/webhelp/scr/0587.htm

tbl2.cols("数量同比").move(4)

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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17570 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/7/14 11:28:00 [只看该作者]

这样移动表格那里会闪烁一下,用一下面防止屏闪的也没用
 Forms(winName).StopRedraw
 Tables(winName & "_Table2").StopRedraw
    tbl2.cols("数量同比").move(4)
    tbl2.cols("数量环比").move(5)
 Forms(winName).ResumeRedraw
 Tables(winName & "_Table2").ResumeRedraw


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


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

这个没有办法

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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17570 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/7/14 11:53:00 [只看该作者]

为什么同环比必须要是日期列才行啊,用查询表生成的年及月要是可以的话用系统默认的方式很简单,看来分组及统计数量及金额同环比等全部都要自己写代码了

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


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

特殊情况只能自己编码处理,狐表也没有办法去考虑所有的特殊用法

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


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/7/14 17:00:00 [只看该作者]

可用根据”年“和”月“列增加一个临时的日期列,然后再统计,这样不用写统计代码。
搞不定可以上例子的
[此贴子已经被作者于2018/7/14 20:34:46编辑过]

 回到顶部