大部分微软SSAS开发者在Cube应用开发过程中,经常需要做如下3个操作:
- 编写MDX语句以实现某个需求
- 发现某个Measure有数据问题,编写该Measure在数据仓库中对应的SQL语句,然后进一步troubleshooting
- 对MDX语句进行性能优化
从SSAS Cube开发者的角度看,微软SSMS对上面三个点还存在一些不理想:
编写MDX语句以实现某个需求:
由于没有MDX语法自动提示功能(至少目前还没发现),当需要写MDX查询一个名称比较难记的Measure,开发者需要通过SSMS(SQL Server Management Studio)连接SSAS 中的Cube, 然后点击查询中的Measure树形菜单去找,若某个Cube中存在上千个Measure(产品化了的Cube会存在上千个Measure),而又不知道放在哪个Measure文件夹下时,查找是个问题,另外当一个MDX语句很长时,SSMS也还不能对它自动格式化。发现某个Measure有数据问题,需要查找对应的计算公式,然后可能要编写对应的Measure在数据仓库中的SQL语句以作进一步校验:
开发者设计完Cube后,Process Cube,然后验证新添加的Measure查询出来的值是否和预期一样,若不一样,就需要打开BIDS(Business Intelligence Development Studio),然后可能需要找到MDX Calculation,然后可能在上千行MDX中找到你定义的那个Measure,如果存在重写