尝试使用 Oracle 的 Brio 构建仪表板。我必须访问 6 个不同的数据库来获取相同类型的数据,聚合并显示它。除了当我这样做时,Brio 从第一个来源获取数据就好了。当我从第二个数据源抓取数据时,Brio 用第二组数据替换原始数据。所以我无法汇总数据。谁能帮我弄清楚如何在 Brio 中做到这一点?
Murat
问问题
782 次
2 回答
1
您需要使用UNION语句,而不是运行 6 次查询。
例如:
不要这样做
SELECT * FROM DATABASE_1..TABLE_1
GO
SELECT * FROM DATABASE_2..TABLE_1
GO
SELECT * FROM DATABASE_3..TABLE_1
GO
改为这样做
SELECT * FROM DATABASE_1..TABLE_1
UNION
SELECT * FROM DATABASE_2..TABLE_1
UNION
SELECT * FROM DATABASE_3..TABLE_1
GO
于 2009-02-03T18:37:06.317 回答
1
如果您对每个源使用不同的 OCE 文件(您可能是这样),那么就没有简单的方法可以做到这一点。您需要为每个 OCE 文件单独查询
如果可以在一个 OCE 文件下找到所有数据库,则可以使用 UNION 技巧;更要指出的是,在 Brio 中,它被发现为“附加查询”。只需确保您构建的查询与第一个查询的返回内容相同即可;所有的列标题都来自它。
如果您需要将不同的查询合并到一个结果部分中,我发现仅使用标准 Brio 函数的最简单(嗯,唯一)方法是通过每个字段上的完全外部连接来连接每个集合然后将每个字段合并在一起......但这非常低效,并且无法完成更大的文件。您可能最好对文件进行排序并编写一个 javascript 例程来将它们一起解析,或者首先在 Brio 之外完成整个事情。
于 2010-11-09T16:32:07.047 回答