BIEE 11.1.1.7回写配置和使用
从BIEE 10.1.3.4以来,BIEE都提供了回写功能,用于在展现端修改显示的数据,并将其写回到数据仓库(数据库)。但随着版本的升级,关于回写的一些相关配置也有所变化,这里将根据BIEE 11.1.1.7的回写配置和使用以及碰到的相关问题,做一些记录和说明。
回写配置的主体步骤:
-
整理需要回写的物理表格和字段。
-
在BI Administrator Tool的物理层,找到需要回写的表格所在的”数据库配置”,勾选”在默认情况下允许直接数据库请求”
-
在BI Administrator Tool中,开启列的回写属性
首先在物理层将回写表格的缓存关闭:取消勾选”可高速缓存”
在逻辑层找到逻辑表的需要回写的字段,打开属性设置,勾选”可写”
在表示层,找到需要回写的字段,打开属性设置,配置权限,给相应的用户对字段的读/写权限,如下图:
-
创建回写的模版文件,模版文件保存在OBIEE_HOME\instances\instance1\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\analyticsRes\customMessages目录中,文件名称可自定义。
回写模版文件为xml文件,大体结构如下:
<?xml version=”1.0″ encoding=”utf-8″ ?>
SetQuotaUseID“>
Supplier“>
INSERT INTO regiontypequota VALUES(@{c0},@{c1},’@{c2}’,'@{c3}’,'@{c4}’)
UPDATE regiontypequota SET Dollars=’@{c4}’ WHERE YR=@{c0} AND Quarter=@{c1} AND Region=’@{c2}’ AND ItemType=’@{c3}’
说明:
SetQuotaUseID为前台回写时,调用回写的模版名称
Supplier为连接池的名称
Regiontypequota为实体物理表名
黄色部分为回写时需要引用的BIEE展现列的columnID,可从answer的高级页中的xml里获得,模版中引用BIEE展现列的方法为@{columnID};当然也可使用列位置来引用,但不建议这种做法,因为在answer中列顺序随时可能调整
此处模版文件的使用比较容易出问题:
问题1:
注意如果只需要update,不需要insert,那么 element仍然要写入xml,写法为:
> </insert>
注意> <中间必须填入空格符
问题2:
如果要使用insert回写,那么原始物理表中必须保留一个空行,所有字段都为空。展现时需insert即从此空行写入。
问题3:
对于update,如果字段的原始值为空,那么在展现时须将空值转换成其它字符。
如使用ifnull将空值转换成’–’,同时修改模版xml中的update SQL为:
UPDATE regiontypequota SET Dollars=decode(‘@{c4}’,'–’,”,’@{c4}’) WHERE YR=@{c0} AND Quarter=@{c1} AND Region=’@{c2}’ AND ItemType=’@{c3}’
因为回写时读取的是展现数据,所以如果字段的原始值为空,还是需要将其转换成其他字符展现出来。
同理,因为回写时读取展现数据,所以作为where条件的字段都需在answer的结果页中,放入结果表格,但如果不需要展现的话,可在结果表格中将字段设为隐藏。
-
修改instanceconfig.xml文件,文件位于OBIEE_HOME\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1
在此文件中相应位置加入element,打开回写
true
保存后,需重启BIEE。
-
在BIEE上,给相应用户赋予回写的相关权限
在BIEE的管理页中,打开管理权限,给相应用户”回写到数据库”、”管理回写”的权限,如下图:
-
在BIEE answer”标准”页中,打开字段的回写属性
在answer的标准页中,选择需要回写的字段,打开列属性,勾选启用回写
-
在BIEE answer”结果”页中,配置表格的回写属性
在answer的结果页中,选择结果表格,打开表属性,配置回写属性如下:
注意SetQuotaUseID为模版文件中定义的名称
回写效果展示:
注意BIEE 11.1.1.7中回写时需点击”更新”按钮,相应字段才会出现回写框,回写完成后点击”应用”,然后点击”完成”即可。
—————————–
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10009036/viewspace-1066043/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10009036/viewspace-1066043/