【问题标题】:Allocation among 3 dimensions3维之间的分配
【发布时间】:2019-12-22 10:09:45
【问题描述】:

使用 PBCS 中的计算管理器进行分配。 尺寸:
-帐户
-人
-项目

分配来源:
Account001 -> 没有人 -> 没有项目 = 100;
收件人:
Account001 -> 人员 A -> 项目 I = 20;
Account001 -> 人员 B -> 项目 II = 80;
由司机:
司机 -> 人 A -> 项目 I = 2;
司机 -> 人 B -> 项目 II = 8;

有没有比下面的代码更好的方法?

我尝试了标准分配功能,但分配的数据没有人员维度信息。
结果是 Account001 -> 没有人员 -> 项目 I
而不是 Account001 -> 人员 A -> 项目 I

FIX ({Entity},/*DIM:Year*/"FY19",/*DIM:Version*/"Working",/*DIM:Customer*/"No Customer",/*DIM:Period*/"Jun",/*DIM:HSP_View*/"BaseData",/*DIM:Scenario*/"Actual")                                            
  FIX (  /*DIM:Person*/@RELATIVE("Total Person",0))                                         
    FIX (    /*DIM:Project*/@RELATIVE("Total Project", 0))                                          
      /*STARTCOMPONENT:SCRIPT*/                                         
        SET CREATENONMISSINGBLK ON;                                     
      /*ENDCOMPONENT*/                                          
      /*STARTCOMPONENT:FORMULA*/                                            
      "A534001" = "534001"->"P000"->"No Project" * 100 / 100 * "Man-hour" / "Man-hour"->"Total Person"->"Total Project";                                            
      /*Project expense for one person = Total entity Expense * manhour of that person of that project / manhour of total person of total project */                                            
      /*ENDCOMPONENT*/                                          
    ENDFIX                                          
  ENDFIX                                                                                    
ENDFIX

想知道是否有更好的方法来实现这一点。非常感谢。

【问题讨论】:

  • 我认为@allocate 函数将满足您的需求,但请检查它对您的计算性能的影响。

标签: calc essbase


【解决方案1】:

使用 Essbase 函数 @MDALLOCATE。您需要花费一些时间来研究文档并使其按要求运行,因为这是一个复杂的功能,并且所有的观点都需要设置正确。

我建议你也这样做:

  1. 使用您的测试设置创建 SmartView 工作表(选项卡:分配来源、驱动程序、结果)
  2. 有一个明确的块所有脚本,以确保@MDALLOCATE 真的在创建块
  3. 创建一个非常小的数据集,您可以在其上设置 FIX
  4. 遍历计算脚本/业务规则以使其正常工作

过程是:

  • 运行#2,从#1发送数据,运行#3,检查#1中的结果

尽量避免“SET CREATEONMISSINGBLK ON;”越多越好。我已经看到分配中的这种结构导致计算时间为 6 小时(!),@MDALLOCATE 它缩短到大约 6 分钟。

【讨论】:

    猜你喜欢
    • 2017-06-03
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多