Foxtable(狐表)用户栏目专家坐堂 → 统计月的起止日期与自然月不同,怎么处理才好!


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

主题:统计月的起止日期与自然月不同,怎么处理才好!

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


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2015/4/14 20:05:00
统计月的起止日期与自然月不同,怎么处理才好!  发帖心情 Post By:2015/4/14 20:18:00 [只看该作者]

各位老师好:
      感觉狐表的统计、汇总功能非常强大,但都在以自然月计算,即从每月1日到月底,但一般企业是从上月的26到本月的25日算一月,请问怎么处理才便于使用foxtable的强大统计功能?

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2015/4/14 20:20:00 [只看该作者]

自己发一个示例文件上来!


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


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2015/4/14 20:26:00 [只看该作者]

你可以增加一个月份列,用于手工输入月份

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


加好友 发短信
等级:四尾狐 帖子:953 积分:7252 威望:0 精华:0 注册:2011/9/6 13:36:00
  发帖心情 Post By:2015/4/14 21:13:00 [只看该作者]

截止日期以后的单据转入下个月

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2015/4/14 22:23:00 [只看该作者]

发文件不会吗?


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


加好友 发短信
等级:婴狐 帖子:21 积分:217 威望:0 精华:0 注册:2015/4/14 20:05:00
  发帖心情 Post By:2015/4/14 23:19:00 [只看该作者]

回程老师:我初学中,没有文件,只是想起这么个问题想问问,看有什么好的思路。

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7237 积分:40614 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2015/4/15 1:19:00 [只看该作者]

那我就告诉您:可以指定每月起、止日为任意一天!


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


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2015/4/15 8:19:00 [只看该作者]

S elect  IIF(Day(日期) >25,DateAdd('d',5, 日期),日期) AS 日期 From{Data}

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/4/15 8:52:00 [只看该作者]

好办,增加一个统计日期列,DataColchanged事件代码设置为:

 

Select Case e.DataCol.name
    Case "日期"
        If e.NewValue Is Nothing Then
            e.DataRow("统计日期") = Nothing
        Else
            Dim dt As Date = e.NewValue
            Dim ds As Integer = 0
            If dt.Day > 25 Then
                Select Case  Date.DaysInMonth(dt.Year,dt.Month)
                    Case 31
                        ds = 6
                    Case 30
                        ds = 5
                    Case 29
                        ds = 4
                    Case 28
                        ds =3
                End Select
            End If
            e.DataRow("统计日期") = dt.AddDays(ds)
        End If
End Select

 

参考文件:

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

 

 

以后根据统计日期列进行分组统计即可


[此贴子已经被作者于2015/4/15 8:54:05编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/4/15 8:59:00 [只看该作者]

这样好点:

 

Select Case e.DataCol.name
    Case "日期"
        If e.NewValue Is Nothing Then
            e.DataRow("统计日期") = Nothing
        Else
            Dim dt As Date = e.NewValue
            If dt.Day >  25 Then
                dt = new Date(dt.year,dt.month,1)
                dt= dt.AddMonths(1)
            End If
            e.DataRow("统计日期") = dt
        End If
End Select


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