【问题标题】:SSRS report multi select parameter does not select values automaticallySSRS 报告多选参数不自动选择值
【发布时间】:2018-12-25 17:37:57
【问题描述】:

在 SSRS 报告中,我有 2 个参数 ClassName 和 StudentName 都允许选择多个值。 StudentName 参数根据 ClassName 参数的值做出反应。这两个参数都有默认值。当我运行在 ClassName 下拉列表中选择的报告默认值时,并按照下图所示在 StudentName 下拉列表中默认选择的 ClassName 值 StudentName 值。

现在,当我根据下图从 ClassName 中选择多个值时,我可以在 StudentName 下拉列表中检索正确的学生姓名,但默认情况下不选择值。

预期结果如下:

这是 SSRS 限制吗?或者有什么解决办法吗?

【问题讨论】:

  • 如何为学生参数选择默认值?您应该使用与可用值相同的值,因为您想要它们。您的查询应引用 Class 参数 - Select Student from STUDENTS WHERE CLASS IN (@CLASS)
  • 似乎这是 SSRS 级联参数的默认行为。它仅在第一次获取 ClassName 参数的值时自动选择所有 StudentName 值。每次用户都必须全选。看看在没有默认值的情况下保留 ClassName 参数是否更好。
  • @HannoverFist 我使用相同的数据集(从 Table_3 中选择学生名,其中类名在 (@ClassName) 中)作为默认值和可用值。

标签: reporting-services


【解决方案1】:

此问题的解决方案是每次更改默认选项(学生姓名),并以某种方式依赖于更改的参数(类名)。 就像在您的报告中一样,学生姓名是默认选项,并且对于任何班级输入和未选择的新选项都保持不变(史密斯或杰克)。 早些时候我的价值观是 Student1 result on first change of date 稍后我向我的学生添加日期,例如 Student1_2124(2124 是 Julian Date 并且取决于 Date 参数)它会每次都更改 Student 所以结果是所有选定的值new all selected parameter

只有当您可以将学生姓名设为 Jack_className 并且仅在下划线之前使用以在报告中打印时,才会选择所有选项。 它对我有用。

【讨论】:

    【解决方案2】:

    修改StudentName数据集如下:

    SELECT S.StudentName + '_' + CAST(ROW_NUMBER() OVER (ORDER BY S.StudentName ASC) AS VARCHAR(50)) AS studentname1,
           S.StudentName
    FROM
    (SELECT StudentName FROM Table_3 WHERE ClassName IN ( @ClassName )) S;
    

    并将可用值和默认值中@StudentName 参数的值字段修改为studentname1。

    【讨论】:

    • 干得好。我忘记了默认值不刷新问题。
    • 嗨,Jay,我也有同样的问题。我不确定你是如何修复它的。你能解释一下吗?
    猜你喜欢
    • 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
    相关资源
    最近更新 更多