以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]专业后台分组统计问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69071) |
|
-- 作者:morlay2013 -- 发布时间:2015/5/29 17:40:00 -- [求助]专业后台分组统计问题 我在看官方视频《数据统计》里面的“0057-专业后台分组统计”中“不按自然月进行统计,即只要是大于或等于26号的就当作下一个月来统计中”讲到如果不用表达式列则需要先手工添加"统计日期"列,然后通过代码判断日期这列某个单元格的内容大于26号就当作下一个月来处理。如果通过表达式来处理的话只需要将当前日期加上6就行了(即:b.groups.AddExp("年",Year(DateAdd(\'d\',6,日期))")这句话中为什么要将当前日期加上6?这个6是怎么来的?如果这样的话,比如有个日期为2015年5月21日,如果加上6的话,那么就变成27日,这样岂不是会把5月21日当作下一个月来处理?) |
|
-- 作者:大红袍 -- 发布时间:2015/5/29 17:47:00 -- 你先看一下这里吧
http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=68303&skin=0
|
|
-- 作者:morlay2013 -- 发布时间:2015/5/31 12:14:00 -- 首先感谢你的回答,我仔细看了一下例子,它这个例子我能很好理解,因为它在里面作了判断的如下所示: b.Groups.AddExp("年","Year(iif(Day(日期)> 25,DateAdd(\'d\',6,日期),日期))")用了iif或是when case 但在视频中它未作判断而直接加6,比如2月份最多只有28天,如果当时日期是24号,那么它加上6天就是3月2号,这样不就不对了?
|
|
-- 作者:morlay2013 -- 发布时间:2015/5/31 12:15:00 --
|
|
-- 作者:大红袍 -- 发布时间:2015/5/31 14:34:00 -- 嗯嗯,必须判断一下才行。 |
|
-- 作者:morlay2013 -- 发布时间:2015/6/1 17:16:00 -- 可是视频为什么是对的呢? |
|
-- 作者:大红袍 -- 发布时间:2015/6/1 17:20:00 -- 我没完整看完视频,不好说。
b.groups.AddExp("年",Year(DateAdd(\'d\',6,日期)) 这句的意思,是获取年份,所以这样写也是正确的,只有 12月25号以后的情况,才计算入下一年去。 |