最近项目中需要用户添加自定义的维度属性、层次结构。操作用户自定义完成,后台由AMO处理实现,发现一个很棘手的问题。不知各位同行是否遇到过类似问题,在此寻求帮助。
举例说明我的问题,时间维度,提供用户自定义划分时间段的功能,比如自定义划分白天和晚上的时间段。在后台只需数据源视图时间表上增加一个对应的计算列,时间维度上增加一个对应的属性就可以了,这在BIDS环境下很容易实现,但是利用AMO模拟这个操作过程总是不到“alter没有完全展开”的错误,我们尝试update,refresh了多个相关的对象都宣告失败,以至开始怀疑是不是ms的bug。
最终我们选择了一个很费事,但也算能解决问题的办法,只是这个办法的代价太高了。首先把引用时间维度的所有cube都drop掉,再drop掉该维度,然后再重新创建包含了自定义属性的该维度,其次需要引用该维度的cube再次添加引用,最后处理维度、cube。
我们有过这样的思考,是不是AMO对维度的任何更改都要重新处理这么多的事项?BIDS也是利用AMO实现的,它是怎么做到只更新需要的属性的的?
陈国安
杭州三汇数字信息技术有限公司
杭州市文二路385#汽轮大厦7楼,310012
杭州三汇数字信息技术有限公司
杭州市文二路385#汽轮大厦7楼,310012