SSRS 2008计算图表X轴间隔

时间:2015-06-03 12:49:43

标签: ssrs-2008

我正在尝试创建一个图表,其中X轴上的间隔将根据我为报告设置的2个时间参数重新定义自己;我有一个@StartTime和一个@StopTime。如果日期之间的差异是一天,我希望图形轴在那一天的每个整个小时显示一个标记。但是超过一天,间隔可以由程序自动确定。

我手动将2个参数之间的差异设置为1天,并将间隔和间隔类型分别设置为“24”和“小时”,这样可以得到所需的结果。

我已经尝试了以下函数:

=IIf(DateDiff("d",Parameters!StartTime.Value,Parameters!StopTime.Value)=1, "24", "Auto")

我已经为区间类型尝试了以下函数:

=IIf(DateDiff("d",Parameters!StartTime.Value,Parameters!StopTime.Value)=1, "Hours", "Auto")

我创建了2个随机文本框,我在其中插入这些函数来测试函数是否实际工作,它们是。所以我无法弄清楚为什么函数在插入区间属性字段时不能正确执行。

为什么这没有显示出预期的结果?

2 个答案:

答案 0 :(得分:1)

使用"Auto"代表自动,而不是使用文字Nothing

例如:

=IIf(DateDiff("d",Parameters!StartTime.Value,Parameters!StopTime.Value)=1, 24, Nothing)

答案 1 :(得分:0)

如果我没记错,你不能在渲染时改变轴类型,这似乎是你想要做的。老实说,我认为这可能是作弊的情况,使图表两次,每个轴类型一个你想要的,然后根据与上面的类似的Iif语句有条件地隐藏它们。

其他想法,24不是你想要的间隔,间隔是多少x轴显示为tic标记。 1表示每1个值1个tic,2个表示每隔1个值,24个表示如果工作则显示每24个值(未尝试过)。您希望数字间隔的小时类型和间隔为1,因为您希望每小时显示一次。您还必须将x轴更改为:

=datepart(hour, Fields!YourDateTime.Value)

否则数字轴类型将不起作用。您可以使用类似的表达式来创建日常时间比较。祝你好运!