我是BusinessObjects Deski的新手。我参考了一些旧的报告,以了解它实际上是如何工作的。有一个报告,其中创建了多个数据提供程序,并且在报告主体中有一个表,该表使用多个数据提供程序中的几个字段。我能够看到每个DP背后的确切SQL,但在单独运行它们时,我无法在BO级别获得与每个报告相同的数据。我也试着加入他们,仍然无法得到完全匹配。所以,我这里的问题是,我想捕获从报告级别触发的精确SQL,以便当我直接在数据库上运行它时,我得到完全相同的数据。先谢谢你了!
wbrvyc0a1#
在BO中有两个报告生成过程。第1遍包括创建一个SQL语句,发送到数据库,并检索结果集。在BO术语中,检索到的数据集被称为“微立方体”。您可以在“查看数据”面板中查看微立方体的内容。在通道2中,来自一个或多个微立方体的数据被呈现为报表的可视形式。这不是用SQL完成的,而是使用BO自己的内部计算引擎--报告/文档级过滤器、公式、变量、聚合等,所有这些都在此过程中执行。因此,您在数据提供程序中看到的SQL(大部分)与实际发送到底层数据库的SQL相同(如果查询包含提示,则提示文本将被替换为静态值)。如果您直接在Oracle中从数据提供程序运行SQL,那么您在那里获得的结果应该与 * 微立方 * 匹配,但它不会与报告中显示的数据匹配,因为第2遍不是用SQL执行的。
1条答案
按热度按时间wbrvyc0a1#
在BO中有两个报告生成过程。
第1遍包括创建一个SQL语句,发送到数据库,并检索结果集。在BO术语中,检索到的数据集被称为“微立方体”。您可以在“查看数据”面板中查看微立方体的内容。
在通道2中,来自一个或多个微立方体的数据被呈现为报表的可视形式。这不是用SQL完成的,而是使用BO自己的内部计算引擎--报告/文档级过滤器、公式、变量、聚合等,所有这些都在此过程中执行。
因此,您在数据提供程序中看到的SQL(大部分)与实际发送到底层数据库的SQL相同(如果查询包含提示,则提示文本将被替换为静态值)。
如果您直接在Oracle中从数据提供程序运行SQL,那么您在那里获得的结果应该与 * 微立方 * 匹配,但它不会与报告中显示的数据匹配,因为第2遍不是用SQL执行的。