reporting-services - 搜索 SSRS 参数长值列表的方法

标签 reporting-services sql-server-2012 ssrs-2012

enter image description here

问题: 我正在使用的报告包含具有 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/

相关文章:

visual-studio-2010 - 预览 : "The size necessary to buffer the XML content exceeded the buffer quota" hides original error 上的 SSRS 错误

reporting-services - SSRS 计数 IF 多个值

sql-server - 如何使用Visual Studio 2012 创建SQL Server Reporting Service 2012 项目?

reporting-services - 使用列和行分组在 Tablix 中进行交互式排序

sql - 在 SQL Server 中将日期格式转换为 DD/MMM/YYYY 格式

sql - 获取 SQL Server 中 datetimeoffset 的偏移量

reporting-services - SSRS使Tablix适合导出的pdf页面

reporting-services - 表中的 SSRS 行号,不包括隐藏行

sql-server - SQL Server : datediff function resulted in an overflow when using MILLISECOND

visual-studio-2010 - 我可以在没有 Visual Studio 的情况下将报表部署到报表服务器 (SSRS) 吗?