Foxtable(狐表)用户栏目专家坐堂 → 按照另一个表开始、截止日期统计年度


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

主题:按照另一个表开始、截止日期统计年度

帅哥,在线噢!
cd_tdh
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3052 积分:20419 威望:0 精华:0 注册:2016/3/28 16:57:00
按照另一个表开始、截止日期统计年度  发帖心情 Post By:2018/9/17 11:04:00 [只看该作者]

老师,分组统计里面怎么按照另外一个表的合同年度的起之日来统计呢?


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

 

或是根据分支机构管理里面的合同起止日期来统计中标统计表里面的起止日期内每一年的中标金额?

比如:河南分公司:统计出2016年是2016-08-01至2017-07-31,2017年是统计2017-08-01至2018-07-31的2018年统计2018-08-01-今天的。

[此贴子已经被作者于2018/9/17 16:57:00编辑过]

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


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

方法一:加入【年度】列,跨表查找某条数据属于哪个年份。然后根据【年度】统计。

 

方法二:那就必须自己编写代码统计了,在统计过程中查找日期年份范围。

 

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

 


 回到顶部
帅哥,在线噢!
cd_tdh
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3052 积分:20419 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2018/9/17 12:26:00 [只看该作者]

老师,用你说的方法二判断属于哪个年度怎么写呢?做了个示例,请老师看看。

 

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


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


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

参考

 

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("所属机构", Gettype(String), 16)
dtb.AddDef("年", Gettype(Integer))
dtb.AddDef("金额", Gettype(Double))
dtb.Build()
Dim minyear = 2015
Dim maxyear = 2018
For Each nm As String In DataTables("表B").GetValues("所属机构")
    Dim fdr = DataTables("表A").find("所属机构='" & nm & "'")
    For i As Integer = minyear To maxyear
        Dim dr As DataRow = DataTables("统计").AddNew()
        dr("所属机构") = nm
        dr("年") = i
        Dim d1 As Date = fdr("起始日期")
        d1 = new Date(i, d1.month, d1.Day)
       
        Dim d2 As Date = fdr("截止日期")
        d2 = new Date(i+1, d2.month, d2.Day)
        Dim filter As String = "所属机构='" & nm & "' and 中标日期>=#" & d1 & "# and 中标日期<=#" & d2 & "#"
        msgbox(filter)
        dr("金额") = DataTables("表B").Compute("Sum(中标金额)",filter)
    Next
Next
MainTable= Tables("统计")


 回到顶部
帅哥,在线噢!
cd_tdh
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3052 积分:20419 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2018/9/17 14:16:00 [只看该作者]

老师,sqlTable不能基于多个表用Select语句生成哇?我直接生成查询表没问题。

 

Select {分支机构管理}.所属机构,承包合同_起始日期,承包合同_到期日期,项目名称,中标日期,中标金额,datediff(yyyy,承包合同_起始日期,中标日期)+year(承包合同_起始日期) As 统计年份 Fro m {分支机构管理} Inner JOIN {中标统计} ON {中标统计}.[所属机构] = {分支机构管理}.[所属机构]

[此贴子已经被作者于2018/9/17 14:16:47编辑过]

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


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

sqlTable只能一个单表;sqlQuery可以多表。


 回到顶部
帅哥,在线噢!
cd_tdh
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3052 积分:20419 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2018/9/17 14:39:00 [只看该作者]

sqlQuery还能在分页不啊?我在分页不对。

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


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

以下是引用cd_tdh在2018/9/17 14:39:00的发言:
sqlQuery还能在分页不啊?我在分页不对。

 

参考这种方式分页 http://www.foxtable.com/webhelp/scr/2721.htm

 

合成对应的sql语句,然后重新fill才行。


 回到顶部
帅哥,在线噢!
cd_tdh
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3052 积分:20419 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2018/9/17 14:51:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:7777.png
图片点击可在新窗口打开查看
统计年份怎么让他显示{机构名称} {0}年度小计,前面在现实一个:统计的机构名称?
[此贴子已经被作者于2018/9/17 14:53:59编辑过]

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


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

如果你需要这样的标题,你需要的是交叉统计?

 

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

 

不然,你这样做肯定是不对的,因为年度统计列,显示的是多个机构的数据。


 回到顶部
总数 21 1 2 3 下一页