问题: 我正在使用的报告包含具有 200 多个唯一值的构建参数。我正在尝试找出一种方法,让用户能够尽快搜索和找到他们感兴趣的值(而不是滚动并逐个选择)。
到目前为止,我正在使用另一个提示,您可以在其中传递一个字符串值,该字符串值通过 split 函数来生成构建提示。如果您不传递任何内容,它将默认选择所有内容。
它可以工作,但它仍然不理想,因为它会包含您可能不感兴趣的其他值。示例:我只想要:20500,20700,21400。
问题:
有没有更好的方法来解决这个问题?
有没有办法保存选择?然后允许用户选择“最常用的 10 个”选项?
我认为将其转储到 Excel 中然后使用其过滤功能更容易,但用户不同意:)。
最佳答案
同意,有时快速导出到 Excel 可以解决报表中的复杂问题。话虽这么说...
十大想法:考虑到报表的所有执行都以log table的形式存储在ReportServer数据库中。 ,如果您有权访问此数据库,您将获得有关哪些参数是用户首选的信息(我了解并非每个人都可以在其组织中访问)。过去,我已经根据这些信息构建了 SSAS 数据模型,以便我们可以分析这些信息并将其输入到类似情况的报告参数中。您可以查询执行日志或数据模型,创建一个包含前 10 个参数的可选参数,然后在用户选择其中的值时按该参数进行过滤。
过滤参数:您已经清楚地了解了这一点,并且应该能够添加更复杂的逻辑(最好在存储过程中隔离)来满足您的要求。在将“205”与“20500”匹配的情况下,您需要在每个参数值的右侧用零填充最多 5 个字符,并将其与建筑物值的左侧 5 个字符进行匹配。
保存选择:我可能会因此受到批评,因为我认为报告应该是一个读取而不是写入的过程,但这是我在 SSRS HAD< 的场景中实现的东西/strong> 被使用,我被迫寻找解决方案。从存储过程中提取主数据集,您显然会将过滤器参数传递到该存储过程中,并为执行查询的用户添加另一个参数。在返回结果之前,在存储过程中,对新的 UserLastParameter 表进行更新插入以记录用户的最后一个值,然后使用该表填充 future 的参数值。
关于reporting-services - 搜索 SSRS 参数长值列表的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45493720/