我是ssrs世界的新人。我只想在一个水平轴标签中使用两个间隔。例如我在X轴上使用Date字段(sample_date),1月间隔为31,2月间隔为28,Dec间隔为31等。间隔类型为Day。 任何人都可以帮助我。
答案 0 :(得分:0)
当然,如果我相信我理解您的问题,您希望显示月末日期而不是日期日期。你需要做一些事情来做到这一点:
您需要查看数据集中一个月内的天数。这是一个示例数据集:
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
您现在有日期和值以及列表,告诉您当月的天数。创建一个像往常一样的图表或任何其他图表。在示例中将'values'设置为'val',将'Category Groups'设置为'dt'。
创建图表时,单击水平网格,直到该部分(x轴)周围有一个虚线矩形。单击“水平图表属性”。
将轴类型更改为“Scalar”单选按钮。选择如下:
一个。将最小值更改为[Min(dt)] 湾将最大值更改为[Max(dt)] C。将Interval更改为此表达式:
=(Fields!DaysInMonth.Value - 1)
d。将间隔类型更改为“天”而不是
运行您的报告,它应该按天分组,但使用您找到的数据是运行时动态的一个月内的天数。由于您要从此数字中减去一个,因此它应显示第一天的分组,然后每次显示最后一天。如果你发现这不是真的,我会略微改变表达,就像我测试它一样,它在我给出的持续时间内工作。
如果失败,您可以将标签设置为从sql语句获得的月份的最后一天,并将其作为类别组的“标签”。