SQL查询SSRS报告

时间:2014-10-10 14:22:33

标签: sql-server reporting-services

我想创建一个ssrs报告,如下所示 - 我要显示以下列 -

                    | Tickets   | Tickets   |
                    | scanned on| scanned on|
Attraction |   Hour | 09/08/2014| 09/09/2014| 09/10/2014| Day 4| Day 5| Day 6| 09/14/2014    
                      Monday       Tuesday     Wednesday ...................... Sunday

U Mueseum  | 9:00 AM |  10      |       40  |
            10:00 aM |
            ..
            ..
            ..
            ..
            ..
            23:00 AM

我将从用户那里获得开始日期和结束日期。现在我的问题是我想要从用户选择的开始日期开始到结束日期和每小时7天的查询,即1天,它将是24小时,因此总共24 * 7小时。当我在当前的sql查询中显示扫描值时,它只显示一天。如何在7天内完成,并且该日期的扫描值应显示在相应的工作日中,即。周一或周二等。我无法确定每个日期和每小时扫描值的变化,所以我很困惑并且混淆了所有这里。每天每小时的值应该不同,并且只有一个扫描列,因此表中将显示不同的值。

我使用数据透视表将工作日的名称从行转换为单个列。

然后问题出现在ssrs报告中。如何在ssrs报告中执行此操作,其中行每小时一次,列显示所选周的日期。我怎样才能在ssrs中实现这一目标?我目前只有24小时,但我希望报告在所有24小时内运行7天,并且应该在每个星期日列中每小时并排显示该值。

谢谢。

2 个答案:

答案 0 :(得分:1)

将一个参数传入您的存储过程@StartDate。

在SQL中,像这样创建@EndDate

DECLARE @EndDate DATETIME
SET @EndDate = DATEADD("d",7,@StartDate)

在一小时和一天的列中返回您的日期信息。然后使用ssrs中的分组功能显示数据。

我希望这可以帮助您进一步解决问题。

巴比

答案 1 :(得分:1)

使用Date Dimension表和PIVOT运算符可以非常轻松地完成此操作。试一试。