分析返回错误时如何在OBIEE的日志中看到生成的物理查询进行分析?

Posted

技术标签:

【中文标题】分析返回错误时如何在OBIEE的日志中看到生成的物理查询进行分析?【英文标题】:How to see the physical query generated for analysis in the logs of OBIEE when analysis returned an error? 【发布时间】:2019-01-30 05:56:59 【问题描述】:

我在 OBIEE 中做了一个简单的分析,包括 3 个 dim 和 1 个事实表。所有暗表都连接到这个事实表。但是,在结果选项卡中,我看到以下错误:

Internal Error: could not find level detailed enough for GROUP BY clause:

我在 rpd 中再次检查,所有维度表都加入了事实表,更有趣的是,在另一个主题中使用相同的表进行分析是可行的。 我想查看它的日志,但由于分析生成时出错,所以我只看到表示级别的查询,而不是物理查询。

有什么方法可以得到吗?如果我们能看到实际的物理查询是什么,这将有助于更快地找到问题的原因。

这是日志的内容

    SELECT
   0 s_0,
   "WRH"."Calendar"."Date" s_1,
   "WRH"."Account"."Account Number" s_2,
   "WRH"."Department"."Department Code" s_3,
   "WRH"."Balances"."Account balance" s_4
FROM "WRH"
WHERE
("Calendar"."Date" = date '2016-02-05')
ORDER BY 2 ASC NULLS LAST, 4 ASC NULLS LAST, 3 ASC NULLS LAST
FETCH FIRST 65001 ROWS ONLY

【问题讨论】:

【参考方案1】:

如果您的查询在逻辑级别已经失败,您将永远不会看到任何物理查询日志,因为查询永远不会到达物理层。

如果您将日志级别设置为 7,那么您将获得查询的完整调试信息 - 就其获得的信息而言。

要么更改 RPD 中的日志级别,要么将此代码添加到分析 SQL 前缀中:

SET VARIABLE LOG_LEVEL=7;

【讨论】:

谢谢,克里斯,我试过了,但它没有让我找到新的东西。所以如果逻辑查询失败,那么我们唯一能得到的信息就是答案中的错误信息,对吧? 是的。您必须解决您的逻辑 (RPD) 问题。如果它在那里失败,它将永远不会进入数据库。

以上是关于分析返回错误时如何在OBIEE的日志中看到生成的物理查询进行分析?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决这个弹出的 OBIEE 配置错误

如何在 OBIEE 11g 分析中获取前 2 年的数据

OBIEE:通过 Direct Query 分析执行的过程运行两次。为啥

在 OBIEE 中使用计算项目时如何获得正确的百分比值?

如何在通过 OBIEE 中的代理发送报告时编辑电子邮件名称?

如何过滤 obiee 分析但小计值?