【问题标题】:Report Schedule报告时间表
【发布时间】:2013-03-21 13:17:30
【问题描述】:

我需要在 SSRS 2008 R2 中创建一个报告,其中显示培训课程的“日历”。

我举个例子:

我有一个会话,它有一个开始日期和一个结束日期,并且有一个开始时间和一个结束时间。 我想创建一个表格,其中的列是一个月中的几天,而行是小时,在我的例子中是上午 8 点,上午 9 点......

目标是这样的:

我有一张表格,我可以在其中获取所有会话、开始日期、开始时间和结束时间。

我的担忧再次出现在以下几个方面:

  • 您需要一张包含年、月、日的表格吗?
  • Ace 小时数呢?我也应该有一些桌子吗?还是直接在报表中创建表格?

我没有解决这个问题的想法,想知道一些意见,如果可能的话,请在 Reporting Services 中这样做。

问候。

第一次编辑:

我有这个带有数据会话的表:

idSession  | nameSession | startDate  |        startTime      |        endTime       | 
    1      |   module 1  | 2013-01-01 | 2013-01-01 09:00:00   |  2013-01-01 09:00:00 |
    2      |   module 2  | 2013-01-01 | 2013-01-01 14:00:00   |  2013-01-01 18:00:00 |
    3      |   module 3  | 2013-01-02 | 2013-01-01 09:00:00   |  2013-01-02 09:00:00 |

【问题讨论】:

  • 我没有答案,但也许我可以帮助您澄清您的问题。您有一个包含每个会话信息的数据库表是否正确?如果是这样,请显示表结构和一些示例数据。您的目标是生成与您上面的图片相似的报告吗?
  • @Pondlife 感谢您的回复。我编辑了问题,在那里添加了一些询问我的信息。

标签: sql sql-server reporting-services ssrs-2008


【解决方案1】:

我创建了一个类似的报告,但这是一场斗争。最终,我为列和行标题(小时和天)创建了一个主报告,并带有一个子报告来显示详细信息。所以我创建了一个数据集来列出每个小时的值(选择'8:00' union select'8:30' union...等)并将其用作我的行值。列标题是根据提示的日期计算的——所以第一列是选择的日期,第二列是选择的日期加上一天,等等,总共有 6 列,因为我们通常在星期一运行报告-星期六。嵌套详细报告根据从主报告传递的小时和日期值从 db 表中进行选择。

【讨论】:

  • 您的报告是针对整个月的?你能有几个月?时间在数据库中?
  • 是的,时间在数据库中,尽管我最终创建了一个派生列来提取开始和结束时间——只是让编码更容易。因此,如果一个事件在 1:45 结束,它会在日历上显示到 2:00,但我在每个事件出现的文本中包含了开始和结束时间。我的报告只显示一周 -- 你需要几个月吗?
  • 是的,因为它可能需要两三个月的时间。有了你所说的,我得到了一些想法,但是开发一些东西会很复杂。
  • 我想我有一个更好的解决方案给你——在顶列创建一个硬编码小时的矩阵,并使用日期字段作为你的行组。如果小时匹配,每个小时的数据字段将是一个表达式,它将显示事件的名称——类似于:IIF(Fields!StartHour.Value = 8, Fields!ActivityName.Value , "")。设置起来有点麻烦,但它对我有用。天数/月数无关紧要,因为它将为您输入的日期范围内的每一天分组。有意义吗?
  • 对于使用表达式的部分,是的,我会这样做。但是,我们仍然不知道我将如何获得一个月中的日期以及他们的时间,因为我知道我只有包含信息的表格(您可以在第一次编辑中看到)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多