转义MDX查询中的特殊字符

时间:2011-11-03 15:48:55

标签: mdx msas

我正在为我的客户构建BI仪表板。我们的数据存储在分析服务器多维数据集中。整体情况很好,但是smartalec测试人员决定创建一个名为“〜!@#$%^& *()_ + - = [] {} |;':”<>?,...的商家。 /该名称作为查询结果的一部分显示得很好,但如果用户试图钻进商家,我们当然会爆炸b / c \ {; [“都是MDX的一部分。有没有办法逃脱这些角色?我试过把一个\放在前面,或者加倍角色。我一直在搜索,但没有找到任何东西。

TIA

2 个答案:

答案 0 :(得分:5)

您必须使用[]符号表示您的姓名,并且(仅)转义右侧括号。下面是一个声明计算度量的示例,其名称为escape(请注意]]:

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

答案 1 :(得分:0)

你可以尝试使用[]括号吗?我认为它应该有所帮助。但你也应该“逃避”你自己的括号。

MSDN

  

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