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
页:
[1]