SAP BPC330教程学习(二)

从技术上讲,拷贝应用(Application),修改应用,优化应用以及拷贝AppSet都是通过处理链实现的,并且都是运行在后台模式.可以使用Tcode:SM37查看日志.

 

 

 

 可以在非Report类型的应用上做Report,但是这样就不能为数据分配工作状态代码了,也无法定义Bussiness Rule了.

 随着应用中数据量的增加,需要定期运行优化程序.

轻量级优化:关闭开着的请求,压缩并索引CUBE,并更新BI CUBE数据库中的统计信息.

完全优化:不但会执行轻量级的优化,还会检查BI的数据模型.如果数据模型可以优化性能的话,完全优化会进行优化,这会需要很长时间.

 

 

 

 

                            创建一个应用时BPC所执行的步骤

 

LOGIC

BPC中有四种不同的逻辑(Logic):工作表逻辑,维度成员公式,脚本逻辑,业务规则.

工作表逻辑存在与EXCEL中.

维度成员公式定义在AppSet这一层上,所有的应用都可以应用这些公式,这些公式是用微软的MDX语言编写.

每一个应用都可以定义脚本逻辑,它只能针对层次结构中最底层的节点进行计算.

业务规则是一些基于规则的表,只能用在管理和合并中,包含账户转换,货币转换,关联公司抵消,亏损预报,验证,自动调整等.

 

要使用维度成员公式,需先在Application的属性中增加自定义属性Formula,长度要大于60,推荐大于等于255,最好等于编写的最长公式的长度.公式的检查是在处理维度时.

上图中由于Account3的优先级高,所以先算出了(Account3,product1)和(Account3,product2)的值,然后再去计算(account3,product3)的值,所以product3,Account3等于50.

 

SOLVE_ORDER=0具有最高的优先级,Members默认是5,Measures默认是3.

在ApShell这个AppSet中,开发人员为我们提供了一个MDX库,用来简化维度成员公式的编写.

使用Tcode:UJFS,可以在应用目录下的systemlibrary/logiclibrary/找到mdxlib.lgf文件,这个库提供了基本的财务公式,比如算平均值和增长率;流动性分析比,比如Current Ratio,Quick ratio等.

在维度公式中使用这个库提供的函数,需要首先引入库,引入的方法如下:

 

脚本逻辑的结构:

 

 

 

实现A+B=C的两种方式:

 

 

*XDIM_MEMBERSET与*REC,*XDIM_MEMBERSET是用来定义计算范围,而*REC是用来写入计算后的数据:

 

*WHEN语句:

 

*COMMIT语句应当使用的尽可能的少,因为它对性能有很大的冲击.

*LOOKUP语句:

*LOOKUP最典型的使用方法,查找不同的汇率以用来进行货币转换:

*LOOKUP RATE
*DIM RATESRC=“RATECALC”
*DIM RATE=ACCOUNT.RATETYPE
*DIM SOURCECURR:INPUTCURRENCY=ENTITY.CURRENCY
*DIM USD:INPUTCURRENCY=“USD”
*DIM EURO:INPUTCURRENCY=“EURO”
*ENDLOOKUP

 

UJK_SCRIPT_LOGIC_TESTER使用方法:

Spliter是参数分隔符,EQU是向参数赋值的符号

点击VALIDATE,如果代码有误,会在右下方的框中显示出错误信息,若无错误,则会拷贝输入的代码到右下方框中.然后再点击EXECUTE(SIMULATE),测试运行.输出如下:

 

关于如何向Script Logic传递动态参数,请参考这篇文章.

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d01ce779-f1b2-2b10-07ba-da3734013245

 

 

posted on 2011-05-10 17:07  imgogogo  阅读(1565)  评论(0编辑  收藏  举报

导航