1.1、epm-创建应用程序

创建应用程序

首先登陆到http://localhost:28080/workspace/ ,在左上角菜单中选择【导航】>【管理】>【应用程序库】。

 

应用程序库是EPMA的一部分,通过它可以管理EPM和Essbase应用程序,所有创建的planning和合并应用程序库都在这。

 

打开应用程序库后,在Workspace菜单中选【文件】>【新建】>【应用程序】,接着会出现应用程序创建向导。

在应用程序创建向导的第一步,选择应用程序类型为【Essbase (块存储BSO)】,选中【Unicode】以支持中文,然后给应用程序和数据库命名。

创建一个名为“Test_APP”的应用程序,数据库起名APP。下一步,

 

第二步需要选择数据库中包含的维度类型,按下表创建4个维度,维度名称同时也是1代成员名称,在Essbase中,Time和Account是两个比较特殊的维度。Time维度可使用时间相关的函数和动态时间序列;Account可使用时间平衡和开支报告属性。每个数据库中仅能有一个Time和一个Account维度。

点击Account 的选择按钮,输入名称,同理输入其他维度,这里我们只创建简单的3个维度来测试。

下面是具体类型的说明

维度名称类型其他类型
AccountAccountAccount
TimeYearTimePeriod
EntityEntityEntityCountry

 

下一步是定义元数据,包括维度结构、计算方法、成员属性等。在部署后,EPMA中定义的元数据会成为Essbase的大纲。此步骤的界面分成三个部分,左面列出的是树型的维度结构,右面显示维度成员的属性,下面显示的是系统显示控制台。

 

 

 

 

在树型维度结构部分,最顶级的节点代表数据库;其下一级是各维度的1代成员,同时也代表整个维度;1代成员下是维度的成员。选择树型结构中的节点,右方会显示相关属性,修改属性后别忘了点击上方的保存键。

 

在树型结构中,选择各维度的1代成员,如下表修改维度的Dimension Storage Type和Dimension Sort Order两个属性。Dimension Storage Type定义为存储类型是稀疏(Sparse)还是密集(Dense);Dimension Sort Order定义部署后维度在大纲中排序顺序。这两个属性会决定数据库的物理结构和计算顺序,后面会讨论到。

 

然后在树型结构中,右击维度成员显示菜单,菜单中可以进行删除、重命名、添加成员、排序等操作。

 

鼠标拖动某个成员可改变其在维度中的位置。

 

 

在完成数据模型编辑后,点击【验证】,下方的消息框内会显示验证信息。若没有出现任何错误或警告信息,点击【完成】结束应用程序编辑。

输入essbase将要创建的信息,点击部署。

 

 

然后在应用程序库中就可看到多出一个名为“Test_APP”的应用程序图标。

 

至此,已经介绍了EPMA应用程序库和维度库的使用。EPMA是从EPM 9.3版开始引入的模块,它包括应用程序库、维库、数据同步、库控制作业台等多个工具,以实现对EPM各产品应用程序进行集中式的管理。通过EPMA创建的应用程序称为EPMA应用程序,而使用传统方法创建的应用程序称为标准应用程序。EPMA中提供了将标准应用程序转换为EPMA应用程序的工具,在Workspace菜单中可找到,转换的过程是不可逆的。EPMA应用程序的部署过程中用的的工具如下图。

https://images0.cnblogs.com/blog/20714/201503/021121006913516.png

加载元数据

现在,我们已经通过EPMA的应用程序库创建了一个Essbase应用程序。不同于EAS Console直接在Essbase Server中创建标准应用程序,EPMA应用程序仅仅是保存在EPMA中的元数据而已,它还没有部署到Essbase Server中。下面会通过完善并部署此应用程序,来介绍EPMA的几个重要工具。

回顾上一节创建的HomeFinancial数据模型,Time维度并没有包含所有的日期项,一年365天都需要手工添加会是很大的工作量,我们需要通过关系型数据库中批量的导入维度成员。现实应用中从外部系统导入维度和数据是常有的情况,例如从会计系统导入会计科目。为此,EPMA提供了接口表,配合ETL工具可方便的将外部数据导入。

https://images0.cnblogs.com/blog/20714/201503/021122434415325.png

接口表是由EPMA在关系型数据库中自动创建的一组数据表,支持Oracle Database、Microsoft SQL Server、IBM DB2等主流数据库。首先,连接到安装EPM是用到的Oracle数据库,执行下面语句创建一个新帐户,用于存储接口表。

CREATE USER EPMA_INTERFACE IDENTIFIED BY Admin123;

GRANT "RESOURCE" TO EPMA_INTERFACE;

GRANT "CONNECT" TO EPMA_INTERFACE;

GRANT UNLIMITED TABLESPACE TO EPMA_INTERFACE;

GRANT DBA TO EPMA_INTERFACE;

然后在Workspace菜单中选择【导航】>【管理】>【配置接口数据源】,会报一个信息 找不到接口数据源,请新建数据源。打开接口数据源后,在菜单中选【文件】>【新建】>【接口数据源】。

输入数据源信息,

 

在下一步中,给接口数据源命名,并选中【Create Tables】,点击【完成】。EPMA会在给定的数据库帐户中建立接口表。

 

在数据接口出现我们创建的数据源。

连接到数据库,会发现EPMA_INTERFACE账户下创建了若干的数据表。仔细观察这些表的命名规则,以HS开头的表分为4类,这些数据表都是需要写入维度信息,然后导入到EPMA维库里;而以IM开头的数据表是系统表。数据表的用途如下表,具体表结构和每个字段的定义,参考EPMA文档。

 

表名

用途

HS_Dimension_Member

维度成员和成员属性

HS_Dimension_Hierarchy

维度父子层次结构

HS_Dimension_PropertyArray

维度成员属性

HS_Dimension_Property

维度属性

IM_Dimension

登记接口表,自建的接口表需在此表中登记

IM_Load_Info

通过Load ID可筛选导入的数据批次

IM_Dimension_Association

定义维度表间的关联关系

 

 

 

 

 

 

 

 

接口表中,并非每个表和每个字段都是必须,例如可用HS_Dimension_Hierarchy和HS_Dimension_PropertyArray取代HS_Dimension_Member定义维度成员和属性。而大部分使用默认值的属性,对应字段可为空值。所以,在Test_APP应用中,要导入Time维度成员,只需将成员写入到HS_TIME_HIERARCHY表中即可。

在数据库中执行以下SQL语句,将维度成员数据写入到接口表HS_TIME_HIERARCHY中。

 

create or replace 
package app as 
  v_date date := to_date('20130101','YYYYMMDD');
 v_order number := 0;
 v_month_str varchar(3 char);
 v_date_str varchar(6 char);
 procedure createdata ;
 end app ;

create or replace 
package  body app is 
 procedure createdata is 
 begin 
--   vsql :='delete   from HS_TIME_HIERARCHY';
-- execute immediate vsql;
-- commit ;
execute immediate 'delete   from HS_TIME_HIERARCHY';
commit;
 for indx in 1..4 loop
 v_order := v_order + 1;
 insert into HS_TIME_HIERARCHY(parent,child,isprimary,sortorder)
 values('Year','Q' || to_char(indx),1,v_order);
 end loop;
 for indx in 1..12 loop
 v_order := v_order + 1;
 insert into   HS_TIME_HIERARCHY(parent,child,isprimary,sortorder)
 values('Q' || to_char(ceil(indx / 3)),to_char(indx) || '月',1,v_order);
 end loop;
 for indx in 1..365 loop
 v_order := v_order + 1;
 v_month_str := ltrim(to_char(v_date,'MM'),'0') || '月';
 v_date_str := v_month_str || ltrim(to_char(v_date,'DD'),'0') || '日';
 insert into   HS_TIME_HIERARCHY(parent,child,isprimary,sortorder)
 values(v_month_str, v_date_str, 1,v_order);
 v_date := v_date + 1;
 end loop;
 commit;
end createdata;
end app;

 

执行PL/SQL后,HS_TIME_HIERARCHY表里应该有如下数据。

 

接口表数据准备好后,打开EPMA维库。打开的方法有两种,一种是在应用程序库中双击应用程序图标;另一种方法是通过Workspace菜单【导航】>【管理】>【维库】,因为默认的应用维度可能不是Test_APP, 我们需要在菜单【文件】>【编辑应用程序】中选择应用程序。

 

维库从左到右分成三栏,最左边是共享维度库,中间是应用程序维度结构,右边是所选成员的属性。

 

维库界面类似于在应用程序创建向导中维度编辑界面,唯一不同的是多出了共享维度库。共享维度顾名思义是可以由多个应用程序共享使用的,企业中一些常用维度,如组织架构、会计科目等会被多个应用程序使用,使用共享维首先避免了重复创建维度的工作量,其次避免应用程序间出现的数据不一致问题。这一概念与主数据管理系统相似,事实上Hyperion在2005年通过收购Razza获得了一套主数据管理系统Hyperion Data Relationship Management(简称DRM),现在已成为Oracle主数据管理解决方案的一部分。EPMA也支持从DRM导入维度。

与共享为对应的是本地维,本地维是只属于某个应用程序的维度。应用程序的本地维可以复制到共享维度库,也可以将共享维复制到应用程序。共享维度库是EPMA应用程序相对标准应用程序的主要优势之一。

在维库中,点击Workspace菜单【文件】>【导入】>【创建配置文件】,选择由本地接口库导入到HomeFinancial应用程序,并给配置文件命名。从导入类型选项可知,除了接口表外,还支持从平面文件和DRM导入。EPMA还提供了生成平面文件的桌面客户端工具File Generator,安装EPM后可以在开始菜单中找到。

 

在维度映射配置中,选择只导入Time维度,处理类型选择【合并为主要成员】,重新排列类型选择【合并至底层】,选上重新排列现有成员选择框。

 

 

 

 

将导入配置文件保存后,在菜单中选【文件】>【导入】>【导入维】,选中刚创建的导入配置文件。

此处,若在IM_Load_Info接口表中定义了Load ID,可选择若干接口加载ID,以筛选导入的维度成员,

不选择Load ID则导入接口表中所有的成员。

https://images0.cnblogs.com/blog/20714/201503/021138558792672.png

点击【导入】按键后,EPMA会创建作业在后台执行导入工作,界面上会显示对话框提示作业已提交。

 

对话框上给出了作业链接,点击可打开作业控制台显示作业执行状态。作业控制台是EPMA的工具之一,使用它可查看EPMA各种作业的历史记录。作业控制台可通过Workspace菜单【导航】>【管理】>【作业控制台】打开。

 

作业执行成功后,在维库中刷新应用程序结构,查看Time维度成员是否正确导入。顺便说一句,除了通过EPMA接口表,Oracle Data Integrator、Essbase Studio、Essbase SQL Interface都可以直接向Essbase加载数据。

部署应用程序

在部署HomeFinancial应用程序前,打开Essbase Administration Services Console(EAS Console),确认Essbase Sever是否开启对Unicode的支持。EAS Console可通过链接http://<epm_server>:9000/easconsole打开,或从下载的EPM客户端压缩包中安装。打开EAS Console首先显示登陆信息,输入EAS地址和账号后登陆。

 

登陆后在左侧的企业视图中,右击【Essbase服务器】,在菜单中选【添加Essbase服务器】。在对话框中,添加EAS本地Essbase Server加入。

 

 

在企业视图中,展开添加的Essbase Server节点,可以看到其中已有几个安装时自带的样例应用程序。每个应用程序下都含有一个或多个多维数据库,数据库下是大纲、规则文件、分区、报表脚本等。在EAS Console中可以进行应用程序管理、大纲编辑、维度和数据导入、计算脚本编写等操作,可以说EAS Console是功能最全、最经典的Essbase管理和开发工具。使用EPMA创建的数据库部署到Essbase Server后,也可以用EAS Console编辑。但EAS Console是直接修改Essbase Server中的数据库,所有的修改都不会同步到EPMA中,所以EAS Console适用于编辑标准应用程序,最好不要修改EPMA应用程序。

 

鼠标右键点击Essbase Server,菜单中选择【编辑】>【属性】,在安全性属性里,确保【创建Unicode模式的应用程序所需的权限】被选中,然后点击【应用】。

回到EPMA中,打开【导航】/【管理】】/【应用程序库】。右击Test_APP应用程序图标,菜单中选【验证】,然后在作业控制台中查看验证作业执行状态。

若验证无问题,右击应用程序选择【部署】。部署过程同样可通过作业控制台监控。

 

部署结束后,在EAS Console中可看到Test_APP已加入到Essbase Server中。

 

Essbase Database Administrator's Guide, 11.1.2.2.100 Copyright © 1996, 2013, Oracle and/or its affiliates. All rights reserved. Authors: EPM Information Development Team Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government. This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications. This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蜜蜂love

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值