BO中深坑陷阱的处理

目的:处理UNIVERSE中深坑陷阱
问题:深坑陷进是一个常见问题在关系数据库中,链接数据返回比预期更多的数据。UNIVERSE中以下连接会导致,典型的深坑陷阱。
bb
当以下3个条件同时出现时,你将不会得到正确的结果
1.many to one to many的关系出现在UNIVERSE结构中(3个表之间)
2.构建的查询基于两个many 方的表
3.对于一个单独的维度数据值,有多行数据被返回
深坑陷阱都做了些什么事呢?
假设有下面3张表:
bb
有以下一些相关对象:
bb
此时UNIVERSE参数选项设置:
bb
测试报表生成数据的结果:
bb
为什么第3个查询就出错了呢?
bb

这就是深坑陷阱。。。

处理办法:
1.可用的办法有:修改UNIVERSE参数,让你能够生成独立的查询对每一个度量,(这个方法不推荐),更改方式如下图:
bb

2.为每个事实表建立上下文,以下的例子中就需要为sale,rental表分别建立上下文。
bb
使用上下文处理深坑陷阱的一般步骤为:
1.识别潜在深坑陷阱,通过分析schema中many-to-one-to-many的链接关系
2.在universe窗口中选择:tools---automated detection---detect contexts
3.在弹出对话窗口中选择add---ok
4.选择file---parameters,在弹出框中选择sql tab,不选中multiple sql for each context选项--ok

fj.png深坑.jpg

fj.png深坑2.jpg

fj.png深坑3.jpg

fj.png深坑4.jpg

fj.png深坑5.jpg

fj.png深坑6.jpg

fj.png深坑7.jpg

fj.png深坑8.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15720542/viewspace-677980/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15720542/viewspace-677980/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值