Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 在crystal reports或excel中显示时间线_Sql Server 2005_Excel_Crystal Reports - Fatal编程技术网

Sql server 2005 在crystal reports或excel中显示时间线

Sql server 2005 在crystal reports或excel中显示时间线,sql-server-2005,excel,crystal-reports,Sql Server 2005,Excel,Crystal Reports,我有一个应用程序,保存停车场的租期。我有一个包含以下信息的SQL数据库: idLot dateFrom dateTo ------------------------------------------ 1 01/03/2011 30/07/2011 2 01/01/2011 30/05/2011 3 01/02/2011 30/07/2011 6 01/02/2011 30/06/2011

我有一个应用程序,保存停车场的租期。我有一个包含以下信息的SQL数据库:

idLot    dateFrom       dateTo
------------------------------------------
1     01/03/2011       30/07/2011
2     01/01/2011       30/05/2011
3     01/02/2011       30/07/2011   
6     01/02/2011       30/06/2011
我需要显示如下图所示的信息

一,

我无法用Excel或Crystal报表实现目标。我还使用ComponentOne FlexGrid。有什么想法吗


提前感谢。

这不是最漂亮的选项,但您可以在Excel中使用Sumproduct()函数来实现这一点。在下面的屏幕截图中,sumproduct遍历数据表的每一行并执行3项操作(顺便说一下,所选单元格是B17):

  • 它确定每一行是否有它要查找的idlot(计算结果为true/false)
  • 它确定DataFrom是否=显示表的列(计算结果为true/false)
  • 这将导致显示表的每个单元格中出现0或1。这很接近,但不是你想要的。然后,我添加了一些条件格式:

  • 如果方程式的结果为0,则单元格的字体为白色
  • 如果方程式的结果为1,则单元格的字体和背景均为绿色
  • 将条件格式应用于整个图形时,将得到最后两行,绿色表示已占用,白色表示未占用

    剩下的唯一问题是如何解释表中不断变化的行数。这可以通过将等式中的范围设置为一个非常高的数字来解决


    谢谢!!!这是解决这个问题的好办法。我发现了一个使用ComponentOne图表的解决方案,但这也是一个非常好的方法。我忘了SumProduct的功能…很高兴你找到了一种方法。我总是认为SUMPLAY是加重的,但很有用。