逻辑脚本:基于条件的运行分配

2020-09-19 06:30发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好大师,

我有一个必须根据数据确定成员范围的要求。

详细信息:

BPC版本:10.1 NW经典版

EPM版本:28

环境:开发人员

型号:计划

尺寸:6

帐户,部门,时间,版本,实体,数据源

1。

2。 我收到验证错误" MATH"未知。

3。 密码:EXP

4。 我将通过DM程序包运行它

5。 计算逻辑:Version1 = Version2

6。 用户未在DM中输入任何内容

7,8,9,10。 要开发的脚本。

首先,我有一个输入表单,将数据保存到某些部门和客户中。

部门10000和部门20000是父级。 我在部门维度中还有另一组成员,即11000、21000等。部门父级存储在维度成员11000中的属性中。21000

EX:

输入表单的过程是这样的。 用户将在数据源中输入值10:Indicator_datasource和

版本:Indicator_version。

然后,逻辑将读取值10,并找到部门" 11000",如上图所示。 从部门" 11000"中找到属性" paren t"并检索值:10000。现在以" 10000"作为部门值,它将找到" 10000"的基本成员。 找到基本成员后,它将在Version成员Version1中搜索数据,并将其放入Version2中。

我已经通过runallocation尝试过此操作。

* XDIM_MEMBERSET数据源=指示器数据源,输入

* XDIM_MEMBERSET VERSION =版本1,指标版本,版本2//

* SELECT(%COI%,[Parent],Department,[ID] = 11000)

* XDIM_MEMBERSET部门AS%CO%= BAS(%COI%)

* RUNALLOCATION

* FACTOR = 1

* DIM VERSION WHAT =版本1; WHERE = Version2;

* DIM部门什么=%CO%; WHERE =%CO%;-不确定是否需要

* ENDALLOCATION

问题来自于语句

* SELECT(%COI%,[Parent],Department,[ID] = 11000)

我应该使用一个变量而不是11000。

* SELECT(%COI%,[Parent],Department,[ID] =%COO%)

但是我无法弄清楚如何将部门号放入变量%COO%。

scn.jpg (116.5 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好大师,

我有一个必须根据数据确定成员范围的要求。

详细信息:

BPC版本:10.1 NW经典版

EPM版本:28

环境:开发人员

型号:计划

尺寸:6

帐户,部门,时间,版本,实体,数据源

1。

2。 我收到验证错误" MATH"未知。

3。 密码:EXP

4。 我将通过DM程序包运行它

5。 计算逻辑:Version1 = Version2

6。 用户未在DM中输入任何内容

7,8,9,10。 要开发的脚本。

首先,我有一个输入表单,将数据保存到某些部门和客户中。

部门10000和部门20000是父级。 我在部门维度中还有另一组成员,即11000、21000等。部门父级存储在维度成员11000中的属性中。21000

EX:

输入表单的过程是这样的。 用户将在数据源中输入值10:Indicator_datasource和

版本:Indicator_version。

然后,逻辑将读取值10,并找到部门" 11000",如上图所示。 从部门" 11000"中找到属性" paren t"并检索值:10000。现在以" 10000"作为部门值,它将找到" 10000"的基本成员。 找到基本成员后,它将在Version成员Version1中搜索数据,并将其放入Version2中。

我已经通过runallocation尝试过此操作。

* XDIM_MEMBERSET数据源=指示器数据源,输入

* XDIM_MEMBERSET VERSION =版本1,指标版本,版本2//

* SELECT(%COI%,[Parent],Department,[ID] = 11000)

* XDIM_MEMBERSET部门AS%CO%= BAS(%COI%)

* RUNALLOCATION

* FACTOR = 1

* DIM VERSION WHAT =版本1; WHERE = Version2;

* DIM部门什么=%CO%; WHERE =%CO%;-不确定是否需要

* ENDALLOCATION

问题来自于语句

* SELECT(%COI%,[Parent],Department,[ID] = 11000)

我应该使用一个变量而不是11000。

* SELECT(%COI%,[Parent],Department,[ID] =%COO%)

但是我无法弄清楚如何将部门号放入变量%COO%。

scn.jpg (116.5 kB)
付费偷看设置
发送
5条回答
Alawn_Xu
1楼-- · 2020-09-19 07:00

RUNALLOCATION对您的要求没有用。 使用时间/结束时间。

但是逻辑很奇怪。

木偶小白
2楼-- · 2020-09-19 07:11

我已经使用When/Endwhen语句尝试过。 我仍然无法捕获正在写入值的部门。 如何获得%COO%来吸引部门? * SELECT(%COI%,[Parent],Department,[ID] =%COO%)

 * XDIM_MEMBERSET VERSION =版本1,版本2,指标_版本
 * XDIM_MEMBERSET数据源=输入,指示器数据源
 * SELECT(%COI%,[Parent],Department,[ID] =%COO%)
 * XDIM_MEMBERSET部门AS%CO%= BAS(%COI%)


 *当数据源
 * IS Indicator_datasource
 *版本时
 * IS Indicator_Version


 *当帐户
 *是*
 *在部门


 * FOR%COU%=%CO%

 * IS%COU%

 * REC(表达式=(%VALUE%== 10?[版本]。[版本1]:[版本]。[版本2]),部门=%CO%,版本=版本2,数据源=输入)
 *结束
 *下一个
 *结束

 *结束

 *结束
 *承诺



 
N-Moskvin
3楼-- · 2020-09-19 07:20

您必须基于成员的属性定义查找(值为10)。然后,查找将从上级部门获取值。 简单。 没有变量!

三十六小时_GS
4楼-- · 2020-09-19 07:21

嗨,

是的。 我将" 10"保存到第一个基本成员,即11000。将读取该数字并找到11000的父对象。 一旦找到,所有值将从父级的基本成员的版本1复制到版本2。 还有其他父级,可以为其指定" 10"的固定基础成员。 例如,20000有21000作为基本成员。

spaceman01
5楼-- · 2020-09-19 06:59

推荐方法:

更改基本成员的"父代"属性的值-用可能的10个成员的成员ID填充它:

ID ....... PARENT属性

11000 11000

11001 11000

11002 11000

...

21000 21000

21001 21000

...

定义LOOKUP以获得10:

 *查找计划
 * DIM PAR:DATASOURCE =" INDICATOR_DATASOURCE"
 * DIM PAR:VERSION =" INDICATOR_VERSION"
 * DIM PAR:DEPARTMENT = DEPARTMENT.PARENT//从11000,21000 ...
 * ENDLOOKUP 

循环所有基本成员:

 * XDIM_MEMBERSET VERSION =版本1//源数据
 * XDIM_MEMBERSET DataSource = INPUT//源数据
 *当帐户
 *是*
 * REC(EXPRESSION = LOOKUP(PAR)== 10?%VALUE%:[VERSION]。[Version2],VERSION = Version2)
 * ENDWHEN 

没有FOR/NEXT循环!

一周热门 更多>