SSRS2008R2:我们如何使用两个'Interval'是一个折线图X轴标签?

时间:2013-01-21 05:23:44

标签: ssrs-2008-r2

我是ssrs世界的新人。我只想在一个水平轴标签中使用两个间隔。例如我在X轴上使用Date字段(sample_date),1月间隔为31,2月间隔为28,Dec间隔为31等。间隔类型为Day。 任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

当然,如果我相信我理解您的问题,您希望显示月末日期而不是日期日期。你需要做一些事情来做到这一点:

  1. 您需要查看数据集中一个月内的天数。这是一个示例数据集:

    declare @Dates table ( dt date, val int)
    
    insert into @Dates values('1-1-12', 10),('1-10-12',20),('1-30-12',14),('2-1-12', 11),('2-11-12', 19),('2-20-12', 20),('3-10-12',10)
    
    select *,  datediff(day,
    Dateadd(month, datediff(month, 0, dt), 0),
    Dateadd(day, -1, Dateadd(month, datediff(month, 0, dt) + 1, 0))
    ) as DaysInMonth
    from @Dates
    
  2. 您现在有日期和值以及列表,告诉您当月的天数。创建一个像往常一样的图表或任何其他图表。在示例中将'values'设置为'val',将'Category Groups'设置为'dt'。

  3. 创建图表时,单击水平网格,直到该部分(x轴)周围有一个虚线矩形。单击“水平图表属性”。

  4. 将轴类型更改为“Scalar”单选按钮。选择如下:

    一个。将最小值更改为[Min(dt)] 湾将最大值更改为[Max(dt)] C。将Interval更改为此表达式:

    =(Fields!DaysInMonth.Value - 1)
    

    d。将间隔类型更改为“天”而不是

  5. 运行您的报告,它应该按天分组,但使用您找到的数据是运行时动态的一个月内的天数。由于您要从此数字中减去一个,因此它应显示第一天的分组,然后每次显示最后一天。如果你发现这不是真的,我会略微改变表达,就像我测试它一样,它在我给出的持续时间内工作。

  6. 如果失败,您可以将标签设置为从sql语句获得的月份的最后一天,并将其作为类别组的“标签”。