注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

樱之花

叶散的时候,你明白欢聚;花谢的时候,你明白青春.

 
 
 

日志

 
 
关于我

分类中“我的实验室”是我在日常工作中的一些知识总结,有些写的比较匆忙,可能大家在阅读时会产生困扰,后期有时间我会重新整理编辑,谢谢大家的到访,您们的支持是我前进的动力!

网易考拉推荐

023 周定义日期维护  

2012-08-16 17:28:34|  分类: 我的实验室 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在系统报表统计中,有时候我们会接到按周统计的要求。例如,一个月按周分别显示每周的统计数据。对于周的定义,即具体哪一天到哪一天算一周,这样的定义有时候每个人的定义是不一样的。通常我们是按自然周定义,比如周一到周日算一周,但有的人会按自己的需要定义,例如,每月周四到下周四算一周,或者其他方式。但一个月开始日期、结束日期是固定的,1号为开始,每月最后一天为结束。

在报表设计时按照这样的需要我们会设计相应的函数去拆分,这个方法是可行,但有个麻烦是每次读取数据时都要周定义函数去拆分数据,周定义函数的执行过程是需要花时间的,它要求先算出当前月具体有哪几周,每周的开始和结束,然后根据它得出的结果再去关联数据表。

现在我们考虑把周定义函数过程省略,建个周定义数据表,让用户自己维护,这样再出报表的时候可以直接做表关联,而省略了计算周定义的过程。同时,我们可以考虑再周定义数据表中加一个类型,以备不同周定义的用户使用,如根据需要,有些报表按类型一的定义方式统计,有些报表按类型二的周定义方式统计等等。加入了类型的概念使得系统更加灵活,用户想怎么定义周的开始结束都可以。

算法:

1.判断一个月最大周数(5周),由于周的定义方式不一样,因此我们给出默认5周的数据维护界面,读取数据表时不足5行自动补充剩余行数。

2.列出五行,每行让用户定义每一周的结束日期,注意只需要维护结束日期,开始日期可以根据上一周的结束日期+1来获得。保存数据时,系统自动保存这一周开始日期和结束日期。

3.要求按照顺序维护每周结束日期,日期从小到大维护,中间日期不可以空值,也不可以相等。

4.从下往上看,空值不需要保存。

最后我们还需要开发一张周定义的报表,按年份查看每年的周定义,注意类型参数的传递以区分不同的用途。
  评论这张
 
阅读(446)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017