Foxtable(狐表)用户栏目专家坐堂 → [求助]sql语句增加按日期分组(已解决)


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

主题:[求助]sql语句增加按日期分组(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10586 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]sql语句增加按日期分组(已解决)  发帖心情 Post By:2011/7/2 14:39:00 [显示全部帖子]

 

Dim sql As String = "Select 报表年月,日期,单位,加工费,投工 FROM {日报源表} WHERE Year(日期) = 2010"

Dim b As New CrossTableBuilder("统计表1",sql)

b.HGroups.AddDef("单位")

b.VGroups.AddDef("报表年月")

b.Totals.AddDef("加工费")

b.Totals.AddDef("投工",AggregateEnum.Average,"月均人数")

b.HorizontalTotal = True

b.VerticalTotal = True

b.Build()

MainTable = Tables("统计表1")

 

上述代码在命令窗口执行后,可以生成一统计表,需要在SELECT语句中添加按日期分组字段,如何添加,请各位老师指教。谢谢!

[此贴子已经被作者于2011-7-2 16:59:50编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10586 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/2 15:09:00 [显示全部帖子]

谢谢狐爸的回帖,但是我不是要增加月的列,而是因为源表中每个单位每天有几个项目的投工,我是要通过在SELECT语句中添加按日期分组字段,来获取每个单位每天的投工数,在月份汇总时才能得到正确的月平均人数。

 

附上文件:

 

 

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


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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10586 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/2 15:30:00 [显示全部帖子]

谢谢狐爸的回复,但是不是我要的效果,我想通过此段代码,获得一张年度汇总表,只是需要在第一句代码的SELECT语句中添加一个按日期分组字段,如 GROUP BY day(日期)之类,我加上后运行出错,如何添加分组字段,请狐爸指教。谢谢!!

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10586 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/2 16:06:00 [显示全部帖子]

案例在三楼。

在共享窗口当月汇总生成的汇总表,其中月均人数需要先从当月日汇总的表里的全员人数列提取数据汇总而成,因为每个单位每天有几个项目的投工,需要每个单位每天的投工数,所以先要汇总每天的投工人数,然后用Average来得到月平均人数。

上述代码的目的:想通过

Dim sql As String = "Select 报表年月,日期,单位,加工费,投工 FROM {日报源表} WHERE Year(日期) = 2010"

Dim b As New CrossTableBuilder("统计表1",sql)

这两句代码能够生成类似按日汇总表(不可见),然后根据此表来生成类似月汇总表的年汇总表(可见)。这样的思路可行吗?还请狐爸老师指教。谢谢!!

 

月汇总:

 


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

 

 

年汇总:

  


图片点击可在新窗口打开查看此主题相关图片如下:aa.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-7-2 16:07:46编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10586 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/2 16:25:00 [显示全部帖子]

    也就是说,在sql表中(看不见的表)投工数为该单位当日几个项目投工的总和,然后在交叉汇总时,用Average函数获得该单位的月平均人数。不知这样能否解释清楚。目的是为了减少一张日汇总表。
[此贴子已经被作者于2011-7-2 16:26:35编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10586 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/2 16:59:00 [显示全部帖子]

完全符合要求,谢谢狐爸老师,给狐爸老师添麻烦了,万分感谢!

 回到顶部