2017-03-08 53 views
0

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

我有有三个主要的表:

  • ID,
  • TrackingID和
  • TrackingTime

对于每个IDTrackingID与其对应的保存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的总和中。

+0

这是SSRS的一项常见任务,并且有很多资源[[1](http://www.tutorialgateway.org/multiple-parameters-in-ssrs/)] [[2](http:// knowlton -group.com/ssrs-reports-with-date-parameters/)],自己尝试一下,如果你在这个过程中遇到困难,请编辑你的问题,以包括你的问题和必要的信息来重现它。 –

回答

0

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

然后转到您的表格属性和过滤器选项卡。添加一个新的过滤器。

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

CDATE(!字段TrackingTime.Value)

这应该DataSet中的日期/时间转换成VBnet CDATE

运营商:>或<根据我们正在比较哪个参数(每个添加一个)

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

CDATE(参数(您的参数名称).value的!)

这将用户输入转换为VBnet CDATE

你的过滤器应该然后能成功比较两个CDate并确定它们是否大于或小于。添加一个开始和结束日期,你会得到你的过滤范围。

如果CDATE不起作用给这个功能的尝试: 的FormatDateTime(!字段TrackingTime.Value,DateFormat.ShortDate)

编辑:如果你这样做了图表,你可以将其添加为过滤器在你的数据元素中。