斑竹老大,不要视而不见啊!!--做统计的折线图,急!50分!高手请帮忙啊!-在线等待中...... (50分)

  • 主题发起人 主题发起人 笨笨老三
  • 开始时间 开始时间

笨笨老三

Unregistered / Unconfirmed
GUEST, unregistred user!
表:
病人姓名 检查医生姓名 检查时间
张三 王医生 2000-5-5
李四 王医生 2000-5-22
李五 王医生 2000-5-30
李六 李医生 2000-6-10
需求:统计表中的数据,做出“医生工作量趋势图”的折线图,就是按月(周)显示医生的工作量的走势的折线图。
问题:(1)怎样按月份(周)来统计医生的工作量比较好?统计出来的数据放到哪里?临时表行吗?用SQL生成的临时表只能统计出有数据的月份,而如果有一个月没有数据,那么怎么来使这个月的记录加入?临时表能与ADOQuery建立连接吗?能将临时表统计出的数据用FastReport显示成折线图吗?如果能,请讲具体实现方法讲一下,如果不能,请帮忙想一个好的可行的解决方法。
(2)如果有一个月没有数据,也就是说有一个月医生没有干活,那么如何使折线图中也显示出这个月的点?也就是说月份要连续,不管工作量为多少,如何实现?
刚接触Delphi和SqlServer,请高手提携,多谢了!分不够再加,在线等待!急!!

 
各位高手帮帮忙撒!!
 
本人实在是太着急了,十万火急啊!高手救我啊,可以再加30分,哥们已经没分可加了!!
 
select year(检查时间) 年,month(检查时间)月 ,count(*) 工作次数
from table1
group by
year(检查时间),month(检查时间)
 
用DBChart很直观的就可以看出来了。
至于怎么去编程就不用说了吧。
 
这个我试过了,关键是如何将没有数据的月份也加上去!
 
>>关键是如何将没有数据的月份也加上去!
说说我的经验,我会找一个带有所有工作日的table跟当前的查询关联
再进行统计,不知道你的库里有没有?这样子
select a.*, distinct b.workdate from
...
order by b.workdate
如果没有就用 Delphi 生成一个这样的表
(比如叫 DATES)
字段可以这样订:
WeekID StartDate EndDate
---------------------------
0 20030407 20030413
1 20030414 20030420
2 20030421 20030427
....
有了这个表就好统计了
为了不用老维护这个表,你可以一次性直算到 2099 年(按周也就几千条记录)
 
TO 笨笨老三:
我的办法有些笨,就是在你的表中另加一个‘月份’字段,每次增加记录时自动根据
检查时间更新此字段内容
病人姓名 检查医生姓名 检查时间 月份
张三 王医生 2000-5-5 2000.05
李四 王医生 2000-5-22 2000.05
李五 王医生 2000-5-30 2000.05
李六 李医生 2000-6-10 2000.06
然后再运行查询即可
另外可能还要在生成结果表时,将没有工作的月份置0
希望能对你有所帮助!
 
我想再问各位大侠一个问题:我想让一个form在最小化的时候隐藏,请问如何实现?
 
ok
有必要的
 
后退
顶部