BIEE 11g 11.1.1.7.1跨事实指标不使用full outer join问题解决办法
来源:互联网 发布:ubuntu运行apk 编辑:程序博客网 时间:2024/05/29 19:41
当我们把环境升级到11.1.1.7.1之后,发现部分报表在特定情况下会出现没有数据的情况,通过检查生成的sql发现,在特定场合原本应该使用
full outer join的却变成了left outer join,导致最终数据的缺失。
下面以SampleApp V309为例,描述问题现象,并给出解决办法
如下图所示报表
1-Revenue来自F0 Sales Base Measures逻辑事实表
9- Full Time Empl (Beg Period)来自F4 Headcount Base Measures逻辑事实表
Time为公共维度,另外Products只与F0 Sales Base Measures关联,不与F4 Headcount Base Measures关联
上面的报表没有什么问题,能够正确显示,如下图:
下面我们在对1-Revenue在Products维表上添加过滤
结果如下图所示:
我们会看到由于非公共维度(Products)的引入,会使得9- Full Time Empl (Beg Period)显示为空,怎么解决这个问题?
其实可以把9- Full Time Empl (Beg Period)在Products的聚合级别设置为Total即可
然后在查看结果
可以看到,缺少了2009 Q4的那条记录(虽然2009 Q4的Revenue为空,但是Full Time Empl却是有数的,这个时候也应该显示出来才符合逻辑)
查看SQL可以发现,是由于使用了left out join导致的
通过联系oracle support知道,这是由于7.1的调整造成的,可以通过将会话变量 FOJ_GRAND_TOTAL_LBM的值设置为1来解决,
或者升级到11.1.1.7.140415来解决
方法如下:
在rpd中新建FOJ_GRAND_TOTAL_LBM会话变量,并设置默认初始值为1,由于会话变量必须和初始化块绑定,随便新建一个初始化块并将其禁用即可!
然后注销、重新登录,清除相关缓存,重新查看报表,显示正常:
另外:如果你想针对单个分析来进行测试,你还可以在分析的高级选项页里下方的前缀里填上
set variable FOJ_GRAND_TOTAL_LBM=1;
如下图所示:
- BIEE 11g 11.1.1.7.1跨事实指标不使用full outer join问题解决办法
- OCP-1Z0-051 第126题 LEFT OUTER JOIN,FULL OUTER JOIN,JOIN的使用
- Oracle full outer join
- SQL FULL OUTER JOIN
- 使用FULL OUTER JOIN拼接多表数据
- SQL FULL OUTER JOIN 关键字
- OCP-1Z0-051 第132题 LEFT OUTER JOIN,RIGHT OUTER JOIN,FULL OUTER JOIN的用法
- cross join & natural join & inner join & left outer join & right outer join & full outer join
- Linq语句实现(INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN、CROSS JOIN)
- left join , right join , full outer join , inner join
- SQL中 inner join、 left outer join 、right outer join、 full outer join之间的区别
- SAS 中的Full Outer Join:Merge 语句
- Mysql实现全连接FULL OUTER JOIN
- Mysql实现全连接FULL OUTER JOIN
- 笛卡儿积 及 full outer join
- MySQL之Full Outer Join用法
- inner join,full outer join,left join,right jion
- SQL中的各种JOIN(inner join,cross join,full outer)
- 腾讯2014实习生招聘一道附加题 DP和分治两种解法
- Android NDK编译常见错误及解决方案
- poj 2385 Apple Catching 简单DP
- Unsupported compiler 'com.apple.compilers.llvmgcc42' selected for architectu
- SQL JOIN方法整理
- BIEE 11g 11.1.1.7.1跨事实指标不使用full outer join问题解决办法
- C++ 指针基本用法总结
- 兼容Firefox和IE的禁用Tab键JS代码
- 解决Nginx+Tomcat下客户端https请求跳转成http的问题
- Effective Objective C------ 1不要忘本
- 那一天
- 学习日志4.16--servlet_JSP
- STl总体概念
- Windows学习心得【在状态报告上使用计时器】