(本文档仅供参考)
问题
请问下使用多维查询,在多维查询里面有一个“使用MDX查询”,勾选和未勾选的区别以及差异在哪里?据客户反馈目前客户使用多维查询比客户在客户端执行慢很多,有同事推荐勾选这个就可以提高效率,能否给下这个的说明,以及如果客户已经基于为勾选的多维查询开发了报表,如果现在再勾选这个会有什么影响吗?该选项是针对报表设置的,是否有全局选项。
解决方案
该选项勾选和不勾选的说明如下:
1、不勾选:一般应用于需由smartbi层面来控制多维数据权限的场景,这样在查询时需要发出多个xmla请求以获取维度,级别,成员等信息,以便生成带权限的mdx来执行获取数据,会相对勾选的效率要慢;
2、勾选:一般应用于通过多维数据库本身来控制数据权限的场景,如像蒙牛项目,权限都是通过bw本身去控制的,由于bw在获取维度,级别,成员等信息时比较慢(每次可能需要10秒左右的时间),因此可以勾选这个选项,smartbi将不再需要拼接带权限的mdx,这样就只需要给多维数据库发送一次请求,且可直接使用上次记录执行的mdx语句,可相对不勾选时查询速度要快;
如果是基于多维查询已经做好的报表,再去勾选这个选项,由于查询设置保存后会导致查询定义的改变(如输出字段会发生变化),所以基于该查询的已做好的报表需要重新拖拽制作;
如果设置全局选项,由于查询定义的改变,只有在查询保存的时候才会生效,所以就算设置了全局选项去改变了此项配置,那还得一个个查询打开去手动做一次保存,然后已做好的报表还需要重新制作,此操作不太现实,因此也不建议作为全局选项设置;