【发布时间】:2016-02-18 01:20:43
【问题描述】:
我在 SSRS 2012 中使用 Lookup 通过在另一个数据集中查找 ID 值来从一个数据集中获取人名。一个允许跨数据集查询的“加入”功能会更好,但我会采取我现在能得到的。无论如何,我有许多条目没有分配给他们,所以它们显示为空白,因为根据文档查找返回“无”。是否有一种更简单的方法可以将值(即“未分配”)替换为不匹配的项目,例如:
=IIF(IsNothing(long Lookup function),"Unassigned",long Lookup function))
我需要在两个单元格中执行此操作,并且我必须相信 Lookup 函数必须运行两次才能满足该公式。它已经大大减慢了我的报告速度,如果我将查找次数加倍,它可能会使渲染时间加倍。如果有人有更优雅的解决方案,我很乐意看到它......
非常感谢任何帮助。
【问题讨论】:
-
我能想到的唯一方法是使用数据集 sql 查询来返回值,因此您不必使用查找。
-
问题是有两个数据源(SQL和Oracle)和两个对应的数据集,每个都有自己的查询。我看不出有任何方法可以拥有一个可以查询两个不同数据源的数据集......
-
链接服务器可能不是最好的选择,但如果它比你拥有的更好,它可能会考虑Linked SQL Server with Oracle
-
链接服务器是最初的考虑因素,但我无法以任何方式修改 Oracle 数据库,因此禁止我在两个数据库之间使用链接服务器。我正在认真考虑使用 SSIS 从 Oracle 中提取数据并定期将其加载到 SQL DB 中,以简化查询和报告。我不需要实时数据,每小时就足够了。
-
从 Oracle 加载数据到 SQL 的选项是另一个选项,根据您的信息
not needing real time data,这取决于数据量可能比链接服务器更好