我要设计一个图表,表示线性的时间。现在有的是 时间的间隔,开始工作时间,结束工作时间。一个人每天要工作24小时,不停的等待着订单,然后生产。
我有这个人每天的生产每个产品的:开始工作时间,结束工作时间。
那么我现在想让这一天工作变成一个线性的图,方便我来看。把每天工作的时间和不工作的时间都标示在这个线上。
我看了Reporting Serivce 里面没有我需要的这种图表。只能用变形的图表了,选用最简单的柱状图。我把每天按秒分成60*60*24份=86400,每秒算做一图表的Y值,如果这一秒是工作的,那么X值就是1,否者就是0.
这样就可以表现出来这个人一天的工作忙闲了。一幕了然,比直接拿数据好的多。而且多个人的话,还可以对比。但是现在可以使用的数据只有开始和结束的时间。我先自己生成了一个表,ID:1-86400;IV:NULL.
然后把每个工作的起始到结束的经历的时间ID对应的IV都设置为1.这样就出现一个合格的表了。非常的繁琐。
因为要写的SQL太多了,呵呵。问问,有没有经历过这样的需求?有没有更好的解决方法?谢谢哈!!!

解决方案 »

  1.   

    两列 ID,一列;IV,一列。iD里面有1-86400这么多个数字,iV就是要是是否这一秒在工作,是就是1,否就是0.因为只看一天的,所以用现在时间减去每天的起始时刻,得到ID的值。
      

  2.   

    这个 不是 SQL 的问题,算是报表的问题吧!哈哈。
    我写的SQL都是为了做报表。
      

  3.   

    haha,是显示不了啊。
    这个 问题 还没有涉及 到呢!下一步 再管吧!
      

  4.   

    搞两列不行吗?
    一个员工ID int,一个工作状态 nvarchar(max),
    工作状态每秒+'1'或者+'0'
      

  5.   

    楼主又没有说是SQL 的问题,只是问有没有方法可以处理。
      

  6.   

    就写程序来说吧,不做SQL讨论了。求给支个招哈!
      

  7.   

    有一个flash可以出图...
    你已有完整的数据了.beginTime EndTime 只是不知道怎么把这个数据用图显示出来...
    你应该找"柱状图 JS"