点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好专家。
系统版本:
CPMBPC8010018SAPK-80118INCPMBPCCPM业务计划和合并
SAP_BW7310013SAPKW73113SAP业务仓库
当前引擎为JAVASCRIPT。
使用以下参数调用DM软件包:MYPHASE = LA10/MYYEAR = 2019/MANAGERIAL = UK2010
在我们的BUDGET模型中,我们有12个维度,在本期中,我们只需要了解PRODUCT 1(屏幕截图)的层次结构即可。 我们的需要是(在预测过程中,预测在这里称为" LA10")对" BRANDTYPE_I"产品(_I表示"输入"以允许对假"父母"进行输入)的存储量分配。
下一级产品(CPL_I)的分配键是BUDGET版本中可用产品(帐户T1100)的重量。
我们确实有一段有效的代码,但是性能却很差。 我很确定这是由于* FOR循环造成的。
我尝试使用* DIM_NONAGGR关键字设置某些内容,但在这种情况下,WHAT和WHERE的成员数量不同。
请告知。 预先感谢。
(也许使用WHEN/ENDWHEN语法进行逐步处理,在技术帐户上计算和存储分配百分比,依此类推...?)
//从品牌类型分配到CPL * SELECT(%PROD_BTI%,ID,PRODUCT,LEVEL = BRANDTYPE_I) * SELECT(%PROD_BT%,ID,PRODUCT,LEVEL = BRANDTYPE) * SELECT(%PROD_CPLI%,ID,PRODUCT,LEVEL = CPL_I) *选择(%COUNTRYSET%,ID,COUNTRY,CALC = N) * XDIM_MEMBERSET AUDITTRAIL =输入 * XDIM_MEMBERSET货币= EUROGROUP * XDIM_MEMBERSET MANAGERIAL =%MANAGERIAL_SET% * XDIM_MEMBERSET METRICS =值 * XDIM_MEMBERSET PHASE = $ MYPHASE $ * XDIM_MEMBERSET TIME = $ MYYEAR $ .01,$ MYYEAR $ .02,$ MYYEAR $ .03,$ MYYEAR $ .04,$ MYYEAR $ .05,$ MYYEAR $ .06,$ MYYEAR $ .07,$ MYYEAR $。 08,$ MYYEAR $ .09,$ MYYEAR $ .10,$ MYYEAR $ .11,$ MYYEAR $ .12 * XDIM_MEMBERSET SOURCING = SOURCINGND * XDIM_MEMBERSET ENTITY = E999 * XDIM_MEMBERSET FLOW =关闭 * XDIM_MEMBERSET ACCOUNT = BAS(R3000)//R2450 * XDIM_MEMBERSET COUNTRY =%COUNTRYSET%//GB * FOR%loop_BT%=%PROD_BT%//000LABA *分配 *因素=使用/总计 * DIM_NONAGGR帐户= BAS(R3000); WHERE = <<<; 使用= T1100; 总计= T1100 * DIM AUDITTRAIL WHAT = INPUT; 哪里=计算; 使用=已上传; 总计= <<< * DIM PHASE WHAT = $ MYPHASE $; WHERE = <<<; 使用= <<<; 总计= <<< * DIM产品=%loop_BT%_I; 在哪里= BAS(%loop_BT%); 使用= <<<; 总计= <<< * DIM货币= EUROGROUP; WHERE = <<<; 使用= LC; 总计= <<< *分配 *下一个 *承诺
(16.2 kB)
好的,CPL_I无效!
通常,您具有:
1。 级别为:BRANDTYPE的父级成员数,以及每个父级下的一些基本成员。 像000LABA-父级,基数:000LABA0A_I,000LABA0L_I ...
2。 对于具有LEVEL:BRANDTYPE的每个父级,您都有对应的基本成员XXXXX_I,该值存储要分配给父级下的基本成员的值。 对于000LABA,此成员为000LABA_I
在这种情况下,代码为:
绝对正确,您无法改进! * DIM_NONAGGR不适用于这种情况。
WHEN/ENDWHEN的速度将大大降低。
提高性能的唯一方法是编写自定义逻辑标记...
试图了解您在做什么!
首先从代码中删除了无用的行(如果在RUNALLOCATION中定义了尺寸-那么没有XDIM_MEMBERSET等)
产品级别(CPL_I)-未在代码中使用?
不清楚产品尺寸的结构
等
你好瓦迪姆。
产品级别(CPL_I)-代码中未使用??
由于仅在CPL_I产品上有用于计算分发密钥的帐户(USING和TOTAL中为T1100)的记录,BAS(%loop_BT%)仅将记录发布到CPL_I产品中。
这在代码中没有明确定义。
请找到维度PRODUCT结构的其他屏幕截图:
(在此分配中,不使用级别属性为SPECIFICITY的成员。)
对于运行分配块中的PRODUCT行,我希望我的WHAT成为所有product.level = BRANDTYPE_I,而我的WHERE成为每种brandtype的后代(一个接一个,就像做一个* DIM_NONAGR)
还有其他不清楚的地方吗?
谢谢与问候。
我能理解您的问题!
1K BRANDTYPE_I会生成一个巨大的lgx文件,并且运行速度非常慢....
如果可以通过某种方式选择1 brandtype_i = 1cpl_i并对其进行单独处理,则可以提高性能
非常感谢您的高效和快速解答。
(我们拥有超过1K的BRANDTYPE_I和近2K的CPL_I,我们通常有1个brandtype_i = 1cpl_i)
我会尝试从算盘中获取一些帮助,以使用BADI制作东西。
问候。
一周热门 更多>