问题背景:一商场,每天都有销售,但由于季节性原因(主要影响月)或者某些原因(主要影响日),导致按月或日统计某商品销售额时,日期缺失。
一、关于月缺失:如空调器按月统计出现如下状态:
ny(年月) mxid(明细类) xse(销售额) ljxse(累计销售额)
200601 A001 100 100
200603 A001 300 400
。
。
200612 A001 1200 连续累加...
即缺失200602的纪录,但报表要求按年度每月补全纪录,即使销售额为0,如何实现?
ny(年月) mxid(明细类) xse(销售额) ljxse(累计销售额)
200601 A001 100 100
200602 A001 0 100 ---添加缺失的2月
200603 A001 300 400
。
。
200612 A001 1200 连续累加...
二、日缺失,同月缺失一样,如何实现?
但日同月有很大区别,因为每月的日数是不一样的!
nyr(年月日) mxid(明细类) xse(销售额) ljxse(累计销售额)
20070701 A001 1 1
20070702 A001 2 3
20070703 A001 3 7
20070705 A001 5 12 ---缺失的7月4日,需补全!
。
。
20070731 A001 31 连续累加...
也就是说对于第一个问题,当我输入年份后(好像是用&+变量组成)和mxid后,生成全部12个月的数据。
对于第二个问题,当我输入年月(如200707)和mxid后,生成该月全部日的数据。
-----------------------------------------------------------------------------
方案:
1. 生成所有的数据,左连接
2. 或是用另外一张表,每天生成一笔数据,然后,union all后统计