下钻至细节(DrillThrough)数据源是Oracle的时候

仓库系统是微软的Analysis Service,数据源是oracle的数据库。钻取细节,DrillThrough的时候有局限性,返回结果集超过1000(或者是某个值maxrows)就会出问题,而且不是很稳定,我一直设想应该超过1000才报错,但是有时候不到1000条记录也报错,多次试验都没能达到理想的效果。我就怀疑是不是自己试验、测试不够仔细,或者每次都修改了某个没有预知的属性?又或者是微软跟甲骨文公司存在竞争,于是其中一方制作了这个局限性?或者这是可以解决的,只是我还没找到解决的办法而已?虽然带着疑惑, 我还是把这个任务搁置了,没有再去仔细研究试验,而去完善我的MSChart去了。
       
月初,我的系统反映实在太慢,格盘重新安装了操作系统。因为没有安装配置Oracle的缘故, 我用同事的机器做测试,我发现在他的机器上完全没有上诉问题,试验测试很顺利,返回结果集也跟直接在Analysis中浏览钻取分毫无差。这是怎么回事,是我原先的机器没有配置好吗?多测几个,在同事的机器上还是没有问题。

我尝试着找原因。数据源没有问题,也启用赚取选项了,为什么在我的机器上不可以,同事的机器上就可以呢。再次经过多次的测试试验,我总结问题可能所在的地方,顺便介绍一下能正确取得预期钻取结果的操作步骤:    

l         DrillThrough函数需要允许钻取的支持,所以必须在编辑多维数据集的时候启用钻取,并选择希望在钻取细节结果中看到的字段,保存并处理。

1)        在“工具栏”里选择选择“钻取选项”

2)        选中“启用钻取”,并选中希望在钻取细节中展示的的字段

3)        切换到筛选(Filter),输入筛选条件,如果没有筛选条件则为空

4)        点击“OK”会提示:“仅当多维数据集保存后,对钻取选项的更改才能生效”

这是导致我原先测试失败的间接原因,我的问题就是受到这句话的误导,仅保存编辑结果而没有去处理多维数据集。其实这个提示也没有错,只是这个提示针对的是数据源也是SQL Server的情况,接下来的步骤中无需处理多维数据集也能正确取得钻取结果。但是Oracle数据源的情况就不一样,必须要编辑完后立即处理(建议用完整处理),才能在正确钻取预期结果集。

5)        接下来了就是处理多为数据集(我就是没有这一步才导致错误),建议使用完整处理。

 

l         至此,我的问题是解决了。非常感谢William Pearson,他的文章Drilling Through to Details给了我很大的帮助,上述图片也均来自他的文章,因为我截图不好,上传图片也繁琐,就直接连接他的图片。闲话几句:其实在平时工作或者生活中,上述那种细节导致的错误应该力求去避免,办法就是细心。
 

l         补充:我的试验是在程序中使用mdx函数Drillthrough,通过拼写并执行mdx语句来实现钻取,Thrillthrough函数的执行结果不像一般的mdx语句,一般的mdx执行结果是CellsetADOMDNET的东西),而DrillThrough函数的执行结果比较简单,可以用DataSet装载,展示比较简单。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值