2017-08-03 76 views
1

enter image description here方式来搜索值SSRS参数的一长串

问题: 我一起工作的报告有200多个唯一值大厦参数。我试图找出一种方法来允许用户尽可能快地搜索和查找他们感兴趣的值(而不是逐个滚动和选择)。

到目前为止,我正在使用另一个提示,您可以在其中传递一个字符串值,该值通过拆分函数生成Building提示。如果你没有通过任何事情,它会默认选择全部。

它可以工作,但它仍然不够理想,因为它会包含其他您可能不感兴趣的值。例如:我只想要:20500,20700,21400。

问题: 有没有更好的方法来解决这个问题?
有没有办法保存选择?然后允许用户选择他们的“最常用的十大”选择?

我认为它只是更容易转储它在Excel中,然后使用其过滤能力,但用户不同意:)。

+1

我喜欢你最后一个句子,个人... – scsimon

+1

这是通常的做法,使用过滤器参数(取决于你是如何智能地使用它)来进一步过滤下拉列表。所以你在正确的轨道上。对于其他选项,您需要注意SSRS域。 – ViKiNG

回答

1

同意,有时快速导出到Excel可解决报告中复杂的问题。话虽这么说...

十大观念:考虑到报告所有执行存储在Report Server数据库作为log table,你有哪些参数是用户的首选,如果你有机会获得此信息数据库(我理解,并非每个人都可以在他们的组织中访问)。在过去,我使用SSAS数据模型构建了这些信息,以便我们可以分析信息并将其作为报告参数提供给像这样的情况。您将查询执行日志或数据模型,创建一个可选参数,其中包含排名前10的参数,然后在用户选择一个值时对其进行筛选。

筛选参数:你的这个已经很明显的概念,应该能够添加更复杂的逻辑(最好是在一个存储过程中分离),以满足您的要求。在匹配'205'到'20500'的情况下,您需要在右侧填充每个参数值最多5个字符为零,并将其与建筑物值左侧的5个字符匹配。

保存选择:我可能会批评这一个,因为我相信报告应该是一个读,不会写的过程,但是这一点是我在一个场景,SSRS HAD实现使用和我被推动寻找解决方案。从存储过程中提取主数据集,您将明显地将您的过滤参数传入并为执行查询的用户添加另一个参数。在返回结果之前,在存储过程中,执行一个upsert插入新的UserLastParameter表以记录用户的最后一个值,然后使用此表填充将来的参数值。

+0

我想我会尝试查看自动填充特定用户的最后输入。我不介意完成这项工作,但我并没有真正看到“节省时间”的好处,试图复制Excel/BusinessObjects中的功能。 – NonProgrammer

+0

我认为你有正确的想法,但有时支付账单的人会覆盖最佳实践或常识吗? :) – Daniel

0

通过允许选择多个值,我可以简单地通过将关键字提示从文本框转换为LOV来满足用户需求。通过这样做,用户可以简单地复制和粘贴电子邮件或Excel电子表格中的数据。它也会自动添加逗号!谁会知道!