预验证 Essbase 大纲以确保应用程序与混合 Essbase 版本兼容。
为了将所有环境升级到支持混合块存储选项 (BSO) 多维数据集的 Oracle Essbase 版本,Oracle 添加了预验证Essbase 大纲的过程,以确保在将环境升级到混合 Essbase 版本时顺利完成转换。
Note:
有关 Essbase 版本的信息,请参阅《管理员入门指南》中的“关于云 EPM 中的 Essbase”。
为了确保您的应用程序与混合 Essbase 版本兼容,我们实施了一个新的实用程序来验证环境中的成员公式,并提供报表以便您可以修复存在的问题。
可以手动启动该实用程序,并且在数据库刷新期间,它将自动运行:
有关手动启动该实用程序的信息,请参阅“手动启动预验证流程”。
有关在数据库刷新期间自动启动的信息,请参阅“在数据库刷新期间自动进行预验证”。
如果在该实用程序完成对成员公式的验证后发现错误,您可以查看大纲预验证报表并修复发现的错误。如果未发现错误,则无需额外操作。
有关预验证错误示例和建议的解决方案的列表,请参阅以下各节:
手动启动预验证流程
要手动启动预验证流程,请从应用程序概览页面上操作菜单中的 Essbase 大纲验证菜单选项下的以下选项进行选择:
预验证大纲:对应用程序执行验证
大纲预验证报表:显示需要修复的成员公式列表,以便与混合 Essbase 版本兼容
Note:
仅当环境使用非混合 Essbase 版本时,Essbase 大纲验证菜单选项才会显示。如果环境使用的是混合 Essbase 版本,则 Essbase 大纲验证菜单选项不再可用。
另一种检查环境使用的是混合还是非混合 Essbase 版本的方式是查看活动报表中的 Essbase 版本支持混合块存储选项值。如果值为是,则表示环境使用的是混合 Essbase 版本。如果值为否,则表示环境使用的是非混合 Essbase 版本。
要验证环境中的 Essbase 大纲并修复在成员公式中发现的错误:
在主页上,依次单击应用程序和概览。
单击操作,选择 Essbase 大纲验证,然后从以下选项中选择:
要执行验证,请选择预验证大纲。
要查看并下载包含在验证期间发现的错误的报表,请选择大纲预验证报表。
修复了成员公式后,可以再次使用预验证大纲选项来确保所有问题都已解决。
Note:
修复成员公式后,请确保先刷新数据库,然后再重新查看预验证报表,否则报表将不会显示所有错误都已解决。
在数据库刷新期间自动进行预验证
如果系统检测到您的环境使用非混合 Oracle Essbase 版本,并且需要升级到混合 Essbase,则验证实用程序将在刷新数据库过程结束时自动启动。
如果在验证过程中发现成员公式错误,您将看到警告,告知您查看报表并解决所有错误。单击查看大纲预验证报表以查看完整报表并解决所有错误。
解决验证错误
验证大纲可能会显示如下所列的错误。使用提供的建议解决这些问题并重新运行验证过程,直到解决所有错误。
错误类别 | 建议 |
---|---|
ELSE 或 ENDIF(无 IF) | 成员公式使用 if、elseif、else、 和 endif 构造,但是 endif 标记比 if 标记多,或者 else 和 if 标记不匹配。if 标记数量应与 endif 或 else 标记数量对应,以确保正确分组。通过解决语法问题来更正公式。 |
数据类型无效,或需要类型 NUMBER,但找到的是 STRING | 成员公式引用不存在的成员。检查公式并从中删除不存在的成员。 |
表达式返回类型无效 | 成员公式引用不存在的成员。检查公式并从中删除不存在的成员。 |
找不到匹配引号 | 公式包含不匹配的引号。确保左引号和右引号的数量相等并且正确分组。通过解决语法错误来更正公式。 |
不执行任何操作 | 成员的成员公式因使用 /* 和 */ 被注释掉。由于成员是动态的,因此它必须具有有效公式。为成员设置有效成员公式或更改成员属性。 |
括号错误 | 公式中的括号不匹配。确保左括号和右括号的数量平衡并且正确分组。通过解决语法错误来更正公式。 |
替代变量不存在 | 成员公式引用了不存在的替代变量。创建具有适当值的替代变量以确保公式验证成功。 |
MDX 查询中的语法错误 | 要修复语法错误,请参阅“MDX 语法规则”。 |
缺少分号
或 表达式意外结束 |
成员公式未以分号结尾。
公式可能返回值,但是缺少终止分号是语法错误。检查并更正公式。 |
函数中使用了未知成员名称 | 成员公式引用了不存在的成员。检查并更新公式以删除对不存在成员的引用。 |
环境变量不存在 | 公式引用了环境变量。您无法在 Oracle Fusion Cloud Enterprise Performance Management 应用程序中创建环境变量。创建与环境变量具有相同名称和值的替代变量,然后在公式中使用该变量。 |
公式解析错误 | 成员公式引用了未加引号的成员名称,或者公式未以分号结尾。此处,成员公式可能包含公式中不允许使用的关键字或函数名称,例如 for、year 和 sum。
确保成员名称正确地加了引号并且公式以分号结尾。此外,确认具有该名称的成员存在于系统中。 |
查询中使用了未知成员 | 对于 ASO 多维数据集,成员公式引用了 MDX 查询中不存在的成员。此外,确保维、成员和属性维的名称不包含 /(斜杠)字符。 |
成员名称重复 | 成员公式引用不存在的成员。检查公式并从中删除不存在的成员。 |
赋值无效 | 赋值无效:等号左侧的值必须是成员或变量。
在成员公式中,使用等号 (=) 的赋值运算的左侧应该是现有成员的名称。确保赋值的左侧是有效成员名称。 |
运算符错误 | 成员公式包含嵌套不正确的 if、elseif 或 endif 构造,导致嵌套不正确且不平衡。检查并更正公式来解决这些语法问题。 |
函数错误 | 成员公式使用函数,但传递了额外的参数。如果函数涉及 Planning 的替代变量,请确保这些变量可用且具有值,这些值不应以和号字符 (&) 开头。此外,检查公式以删除替代变量前的任何额外 & 符号。确保公式中的每个替代变量在其名称前都有一个 &,以便正确解析。 |
缺少表达式 | 检查并修复公式以消除与表达式相关的语法错误。 |
验证错误示例
在这些示例中,[MEMBER_NAME] 指示验证失败的成员的名称。
公式验证错误示例:成员名称、未知成员、缺少分号、表达式结束等:
公式验证错误示例:替代变量示例:
Formula verification failed for member [MEMBER_NAME].Substitution variable [[MEMBER_NAME]] doesn't exist
公式验证错误示例:括号:Formula verification failed for member [MEMBER_NAME].Error compiling formula for [] (line 1): [)] without [(]
公式验证错误示例:无效数据类型、返回类型和赋值: