目录
- 一、环境
- 二、问题描述与分析
- 三、解决方案
- 1、确认HANA MDX是否启用
- 2、确认BPC前端的TIME维是否正常维护
- 3. 在SPRO中设置模型参数
- 4、使用SE38执行程序UJHANA_REFRESH_VIR_CUBE刷新模型
一、环境
产品 | 版本 |
---|---|
BW | SAP BW/4HANA 2021 |
BPC | SAP BPC 2021 Version for SAP BW/4 HANA |
EPM | 10.0 SP 37 Patch 1 .NET 4.7.2 X86 |
二、问题描述与分析
描述:
在BPC后台系统中,BPC模型的HCPR中挂载了BW自定义模型,使用EPM创建报表时,如果只使用子节点则数值与金额正常,如果使用父节点则数值与金额无数据
分析:
在BPC10.1 标准/典型与BPC11.1标准/典型环境中,默认情况下 BPC 通过 HANA MDX 从 BPC 模型的高级数据存储对象(aDSO)读取事务数据,但是,在某些业务场景中,需要从 BPC 模型的 HANA 复合提供者 (HCPR) 读取数据。
三、解决方案
1、确认HANA MDX是否启用
在SE38中输入UJHANA_ENABLE_HANA_MDX_CHECKER
,点击执行
输入环境名称与模型名称,勾选标准检查 ENABLE_HANA_MDX,执行
出现以下界面表示HANA_MDX正常
2、确认BPC前端的TIME维是否正常维护
BPC 合并相关程序仅允许在同一年内针对叶成员运行。基本成员的四个属性 TIMEID、YEAR、PERIOD 和 MONTHNUM 对这些程序产生影响。
- 父节点的属性对这些程序没有影响。
- “TIMEID”属性的值对于每个叶成员应该是唯一的。
- 对于每个叶成员,“YEAR”属性的值应为 4 位数字。
- “PERIOD”属性的值对于同一“YEAR”中的每个叶成员应该是唯一的。建议 将 ‘JAN’、‘FEB’ 等用于月成员,将 ‘week01’ 或 ‘W01’ 用于周成员。
- 对于同一 ‘YEAR’ 中的每个叶成员,‘MONTHNUM’ 属性的值应唯一。它应该是代表同一年内按时间顺序排列的数字。
DAY 成员示例:
ID | PERIOD | TIMEID | MONTHNUM | PARENTH1 |
---|---|---|---|---|
2010.TOTAL | TOTAL | 365 | ||
2010.Q1 | Q1 | 090 | 2010.TOTAL | |
2010.JAN | JAN | 031 | 2010.Q1 | |
2010.08.01 | 0801 | 20100801 | 213 | 2010.AUG |
2010.08.20 | 0820 | 20100820 | 232 | 2010.AUG |
其他示例:
参考SAP帮助文档-Time Dimension Properties (Standard only)
3. 在SPRO中设置模型参数
SPRO 进入参数配置界面
找到设置模型参数
输入环境名称与模型名称
点击新建
如果在1中HANA_MDX不为X,则新建以下配置
字段 | 值 |
---|---|
ENABLE_HANA_MDX | X、Y |
否则新增
字段 | 值 |
---|---|
ENABLE_MDX_ON_HCPR | X、NLS、 |
值 | 描述 |
---|---|
<空> | 在高级数据存储对象上执行 BPC HANA MDX 查询。与之前相同的行为。 |
NLS | BPC HANA MDX 查询正在从 HCPR 读取数据,并用作 HCPR 上的 NLS 配置。 |
X | BPC HANA MDX 查询正在从 HCPR 中读取数据,但未检查 NLS 配置。性能高于 ‘NLS’ 值的情况。 |
如图:
点击保存
结果如下图:
4、使用SE38执行程序UJHANA_REFRESH_VIR_CUBE刷新模型
问题解决!!!
PS:
- 1、若是BPC10.X版本则关闭HANA_MDX即可!
- 2、查看HCPR的名称为表 UJA_APPL 的列 MULTIPROV