目录
【题目要求】
数据库中有一张地区数据统计表,但是并不规则 ,记录类似于,225100:02:3:20160725是一串代码,以:分割,第1位为地区代码,第2位为分类代码,第3位为数量,第4位为日期
地区代码含义225100-上海 225200-江苏 225300-浙江 为可能有某些位不存在,缺位时计算规则如下:
1、地区缺位时不参与统计
2、时间缺位时按20151220来计算
数据如下
现要求输入开始日期和结束日期后,自动统计这个时间段内每个地区和各个分类下的数据情况。日期控件中输入的日期格式要求为yyyy-MM-dd
【数据来源】考试数据库wubmh0及chq3g4表
【效果图参考】
开发思路详解:
无规则存储的数据整理成有规则的数据,得到有规则且能支撑需求的结果集。
1.新建结果集
2.组织有规律的结果集
红框部分,使用split()分割字符串;indexofarray()得到数组中的元素,每个元素为一列
G列“日期”,为空则取20151220:
IF(LEN(indexofarray(SPLIT(C3, ":"), 4)) = 0, "20151220", indexofarray(SPLIT(C3, ":"), 4))
H列“时间范围”判断,在选择范围内置1,否则0:
IF(AND(G3>=REPLACE($STR,'-',''),G3<=REPLACE($END,'-','')),1,0)
参数面板的两个日期控件:$STR,$END
3.计算最终结果
相关辅助计算行设置条件 —> 行高为0,使其隐藏