2011-11-03 30 views
2

我正在为我的客户端构建BI仪表板。我们的数据存储在分析服务器多维数据集中。总体而言,事情很好,但是smartalec测试人员决定创建一个名字为'〜!@#$%^ & *()_ + - = [] {} |;':“<> ?,。/作为查询结果的一部分显示出来很好,但如果用户试图钻入商家,我们当然会炸毁B/C,\ {; [“都是MDX的一部分。有没有办法逃避这些角色?我试着在前面放一个\,或者把角色加倍。我搜遍了所有东西,但没有发现任何东西。转义MDX查询中的特殊字符

TIA

回答

5

您必须对您的名称使用[]符号,并且只转义右括号。这里是一个例子,声明一个计算出的度量名称以逃避(注意)]:):

with member [`[email protected]#$%^&*()_+-=[]]{}|;':"<>?,./] as 42 
select [`[email protected]#$%^&*()_+-=[]]{}|;':"<>?,./] on 0 from [cube] 
0

您可以尝试使用[]方括号吗?我认为这应该有所帮助。但是你也应该“跳过”你自己的括号。

MSDN

如果标识符的主体仅包含左括号([),则不需要 额外的处理。如果标识符 的主体包含右括号(]),则必须指定两个右括号 (]])。