【问题标题】:SSRS: Create chartSSRS:创建图表
【发布时间】:2017-07-29 12:28:52
【问题描述】:

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

我有一个包含三个主要列的表:

  • 身份证,
  • TrackingID 和
  • 跟踪时间

对于每个 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 的总和随时间显示。从这个图表中,用户可以看到 TrackingIDs 随时间的变化。

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

【问题讨论】:

  • 这是 SSRS 中的一项常见任务,互联网上有很多资源 [1] [2],自己尝试一下,如果您在此过程中遇到困难,请编辑您的问题以包含您的问题以及复制它的必要信息。

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


【解决方案1】:

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

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

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

CDate(Fields!TrackingTime.Value)

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

运算符: > 或

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

CDate(Parameters!(YOUR PARAMETER NAME).Value)

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

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

如果 CDate 不起作用,请尝试使用此功能: FormatDateTime(Fields!TrackingTime.Value, DateFormat.ShortDate)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多