【问题标题】:Creating SSRS Chart when record active falls between two dates当记录活动介于两个日期之间时创建 SSRS 图表
【发布时间】:2014-02-07 12:02:56
【问题描述】:

我在尝试找出如何在 SSRS 图表 (2008) 中表示某些日期确定的数据时遇到了一些问题

在我的查询中,每个人都有一个开始日期、一个结束日期和一个职位类型 = 永久或临时。职位记录在职位开始日期和结束日期之间或之间处于活动状态。我已经过滤了我的查询,只包括在两个参数日期之间有活跃职位的人。

我希望折线图显示在任何给定月份的活动职位中具有 PositionId 的 CountDistinct 的人数,其中一条线代表永久,一条线代表临时。

Field names: 
PeopleId
PositionId
PositionStartDate
PositionEndDate
PositionType

参数命名为 StartDate 和 EndDate

我被困住了!

感谢所有帮助,谢谢 厄尔斯

【问题讨论】:

    标签: sql date reporting-services charts


    【解决方案1】:

    我使用SQLCommon Table Expressions (CTEs)生成我需要的时间表,然后根据需要加入或子查询其他表:

    ;
    WITH    MonthsCTE
              AS (
                   SELECT
                    1 AS MonthID ,
                    DATEADD(MONTH, DATEDIFF(month, 0, @StartDate), 0) AS MonthStart ,
                    DATEADD(MONTH, DATEDIFF(month, 0, @StartDate) + 1, 0) AS NextMonthStart
                   UNION ALL
                   SELECT
                    MonthId + 1 ,
                    DATEADD(MONTH, 1, MonthStart) ,
                    DATEADD(MONTH, 1, NextMonthStart)
                   FROM
                    MonthsCTE
                   WHERE
                    NextMonthStart < @EndDate
                 ),
            PositionTypes
              AS (
                   SELECT DISTINCT
                    PositionType
                   FROM
                    PeopleTable
                 )
        SELECT
            MonthStart ,
            PositionType ,
            (
              SELECT
                COUNT(*)
              FROM
                PeopleTable
              WHERE
                PeopleTable.PositionType = pType.PositionType
                AND PositionStartDate < MonthsCTE.NextMonthStart
                AND PositionEndDate >= MonthsCTE.MonthStart
            ) AS PersonCount
        FROM
            MonthsCTE
            CROSS JOIN PositionTypes AS PType
    

    您应该能够很容易地在 SSRS 图表中使用此查询的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      • 2021-07-26
      • 1970-01-01
      • 2019-09-13
      • 2021-08-23
      • 1970-01-01
      相关资源
      最近更新 更多