我想在SSRS中创建一个图表,用户可以输入一个时间范围,也可以选择想要的 TrackingIDs 进行显示。
我有一张表有三个主要栏目:
对于每个 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的总和中。
答案 0 :(得分:0)
您可以在报告中添加两个允许用户输入的文本框参数。在这种情况下,我将假设我们只是在日期范围而不是时间之间进行过滤。
然后转到表格属性和“过滤器”标签。添加新的过滤器。
表达式按fx按钮添加表达式。 试试这个:
CDATE(字段!TrackingTime.Value)
这应该将您的DataSet日期/时间转换为VBnet CDate
运营商:>或者<取决于我们要比较的参数(每个参数添加一个)
值:按fx按钮添加表达式。 试试这个:
CDate(参数!(您的参数名称).Value)
这会将用户输入转换为VBnet CDate
您的过滤器应该能够成功比较两个CDates并确定它们是否大于或小于。为开始日期和结束日期添加一个,您将获得过滤范围。
如果CDate没有工作,请试试这个功能: FormatDateTime(Fields!TrackingTime.Value,DateFormat.ShortDate)
编辑:如果您为图表执行此操作,则可以将其添加为数据元素中的过滤器。