Foxtable(狐表)用户栏目专家坐堂 → 怎样做到附件中一样的统计


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

主题:怎样做到附件中一样的统计

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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
怎样做到附件中一样的统计  发帖心情 Post By:2017/6/26 13:53:00 [只看该作者]

帮忙看看这个附件。我想实现附件中一样的的统计效果该怎样实现!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:示例.xlsx

我现在用的代码是这样的:


 

Dim lbl3,lbl4 As WinForm.DateTimePicker
lbl3 = e.Form.Controls("DateTimePicker3")
lbl4 = e.Form.Controls("DateTimePicker4")
    e.Form.Controls("打印预览").Enabled = False
    e.Form.Controls("直接打印").Enabled = False
Dim   bd1 As  New  GroupTableBuilder("统计表1",DataTables("商品库存"))
Dim  dt1 As   fxDataSource
 bd1.Groups.AddDef("Item")  '根据型号分组
bd1.Groups.AddDef("EnglishDescription")  '根据型号分组
bd1.Groups.AddDef("ChineseDescription")  '根据型号分组
bd1.Groups.AddDef("EnglishBrand")  '根据型号分组
bd1.Groups.AddDef("ChineseBrand")  '根据型号分组
bd1.Groups.AddDef("ItemCategory")  '根据型号分组
dt1 =   bd1.BuildDataSource()

Dim  bd2 As  New   GroupTableBuilder("统计表2",DataTables("出入记录"))
bd2.Filter = "[作业时间] >= # " & lbl3.value & "# and [作业时间] <= # " & lbl4.value & " #  and 操作类型 = '入库'"
Dim  dt2  As   fxDataSource
 bd2.Groups.AddDef("货品编号")  '根据型号分组
bd2.Totals.AddDef("数量","入库_数量")  '对数量进行统计
dt2 =   bd2.BuildDataSource()

Dim  bd3 As  New   GroupTableBuilder("统计表3",DataTables("出入记录"))
bd3.Filter = "[作业时间] >= # " & lbl3.value & "# and [作业时间] <= # " & lbl4.value & " #  and 操作类型 = '出库'"
Dim  dt3  As   fxDataSource
bd3.Groups.AddDef("货品编号")  '根据型号分组
bd3.Totals.AddDef("数量","出库_数量")  '对数量进行统计
dt3 =   bd3.BuildDataSource()

dt1.Combine("Item",dt2,"货品编号")  '将销售统计数据组合到进货统计数据
dt1.Combine("Item",dt3,"货品编号")  '将退货统计数据组合到进货统计数据
e.Form.Controls("提示").text = "日报表统计"
Tables("报表统计_Table1").DataSource =   dt1  '将统计结果绑定到Table

 

效果是:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日报表统计.xls

 请问我要怎样改才能像附件一一样的效果!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/26 14:46:00 [只看该作者]

 你要做的是交叉统计吧?根据日期?

 

http://www.foxtable.com/webhelp/scr/0165.htm

 

 http://www.foxtable.com/webhelp/scr/0678.htm

 


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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
  发帖心情 Post By:2017/6/26 16:54:00 [只看该作者]


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

想在组合统计的基础上做到这样类似于交叉统计的效果 ,就是该商品在所选统计月哪一天入库哪一天出库了,是一整个月日期都列出,然后在发生变化的日期in或者out写上相应的数据。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/26 17:00:00 [只看该作者]

 做个对应的foxtable项目发上来。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/26 17:03:00 [只看该作者]

你生成组合统计以后,再进行一次交叉统计不就好了?


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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
  发帖心情 Post By:2017/6/27 16:50:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

没弄明白,只能请教大伙了

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/27 18:18:00 [只看该作者]

参考代码

 

Dim lbl3,lbl4 As WinForm.DateTimePicker
lbl3 = e.Form.Controls("DateTimePicker3")
lbl4 = e.Form.Controls("DateTimePicker4")
e.Form.Controls("打印预览").Enabled = False
e.Form.Controls("直接打印").Enabled = False
Dim   bd1 As  New  GroupTableBuilder("统计表1",DataTables("商品库存"))
Dim  dt1 As   fxDataSource
bd1.Groups.AddDef("Item")  '根据型号分组
bd1.Groups.AddDef("EnglishDescription")  '根据型号分组
bd1.Groups.AddDef("ChineseDescription")  '根据型号分组
bd1.Groups.AddDef("EnglishBrand")  '根据型号分组
bd1.Groups.AddDef("ChineseBrand")  '根据型号分组
bd1.Groups.AddDef("ItemCategory")  '根据型号分组
dt1 =   bd1.BuildDataSource()

Dim  bd2 As  New   GroupTableBuilder("统计表2",DataTables("出入记录"))
bd2.Filter = "[作业时间] >= # " & lbl3.value & "# and [作业时间] <= # " & lbl4.value & " #  and 操作类型 = '入库'"
Dim  dt2  As   fxDataSource
bd2.Groups.AddDef("货品编号")  '根据型号分组
bd2.Totals.AddDef("数量","入库_数量")  '对数量进行统计
dt2 =   bd2.BuildDataSource()

Dim  bd3 As  New   GroupTableBuilder("统计表3",DataTables("出入记录"))
bd3.Filter = "[作业时间] >= # " & lbl3.value & "# and [作业时间] <= # " & lbl4.value & " #  and 操作类型 = '出库'"
Dim  dt3  As   fxDataSource
bd3.Groups.AddDef("货品编号")  '根据型号分组
bd3.Totals.AddDef("数量","出库_数量")  '对数量进行统计
dt3 =   bd3.BuildDataSource()

dt1.Combine("Item",dt2,"货品编号")  '将销售统计数据组合到进货统计数据
dt1.Combine("Item",dt3,"货品编号")  '将退货统计数据组合到进货统计数据
e.Form.Controls("提示").text = "日报表统计"
Tables("报表统计_Table1").DataSource =   dt1  '将统计结果绑定到Table
Dim t As Table = Tables("报表统计_Table1")
Dim d As Date = lbl3.Value
t.StopRedraw
Do While d <= lbl4.Value
    t.DataTable.DataCols.Add(d & "_in", Gettype(Double))
    t.DataTable.DataCols.Add(d & "_out", Gettype(Double))
    For Each r As Row In t.Rows
        Dim filter As String = "作业时间 = #" & d & "# and 货品编号 = '" & r("item") & "'"
        r(d & "_in") = DataTables("出入记录").Compute("sum(数量)", filter & " and 操作类型 = '入库'")
        r(d & "_out") = DataTables("出入记录").Compute("sum(数量)", filter & " and 操作类型 = '出库'")
    Next
    d = d.AddDays(1)
Loop
t.ResumeRedraw


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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
  发帖心情 Post By:2017/6/28 15:54:00 [只看该作者]

不胜感激!


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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
  发帖心情 Post By:2017/6/29 11:35:00 [只看该作者]

这个模板要怎样改才能有后面的


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

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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
  发帖心情 Post By:2017/6/29 11:43:00 [只看该作者]

我这么改是不行的,后面要写什么 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日报表统计.xls


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