SSRS:创建图表

时间:2017-03-08 19:04:00

标签: sql tsql reporting-services charts ssrs-2008

我想在SSRS中创建一个图表,用户可以输入一个时间范围,也可以选择想要的 TrackingIDs 进行显示。

我有一张表有三个主要栏目:

  • ID
  • TrackingID和
  • TrackingTime

对于每个 ID TrackingIDs 与相应的 TrackingTime 一起保存。这意味着有多个行具有相同的ID但具有不同的TrackingID。

|   ID   |   TrackingID   |      TrackingTime     |....
|--------|----------------|-----------------------|
|   001  |       10       |2017-03-08 10:12:20.240|
|   003  |       50       |2017-03-08 12:30:23.240|
|   001  |       10       |2017-03-03 09:10:23.240|
|   002  |       10       |2017-03-06 10:12:23.240|
|   001  |       15       |2017-03-05 10:12:23.240|
|   001  |       20       |2017-03-08 17:12:23.240|
|   002  |       15       |2017-03-04 00:12:23.240|
|   003  |       10       |2017-03-06 01:18:23.240|
....

用户接收的图表随着时间的推移显示每个TrackingID的总和。在此图表之外,用户可以随时间读取TrackingID的变化。

重要的是,只有最后一个ID的TrackingID被添加到一种TrackingID的总和中。

1 个答案:

答案 0 :(得分:0)

您可以在报告中添加两个允许用户输入的文本框参数。在这种情况下,我将假设我们只是在日期范围而不是时间之间进行过滤。

然后转到表格属性和“过滤器”标签。添加新的过滤器。

表达式按fx按钮添加表达式。 试试这个:

  

CDATE(字段!TrackingTime.Value)

这应该将您的DataSet日期/时间转换为VBnet CDate

运营商:>或者<取决于我们要比较的参数(每个参数添加一个)

值:按fx按钮添加表达式。 试试这个:

  

CDate(参数!(您的参数名称).Value)

这会将用户输入转换为VBnet CDate

您的过滤器应该能够成功比较两个CDates并确定它们是否大于或小于。为开始日期和结束日期添加一个,您将获得过滤范围。

如果CDate没有工作,请试试这个功能: FormatDateTime(Fields!TrackingTime.Value,DateFormat.ShortDate)

编辑:如果您为图表执行此操作,则可以将其添加为数据元素中的过滤器。