我正在为我的客户构建一个 BI 仪表板。我们的数据存储在分析服务器立方体中。总的来说一切都很好,但是一个 smartalec 测试人员决定创建一个名称为 `~!@#$%^&*()_+-=[]{}|;':"<>?,./ 的商家作为查询结果的一部分显示得很好,但是如果用户尝试深入了解商家,我们当然会炸毁 b/c \ { ; [ " 都是 MDX 的一部分。有没有办法逃脱这些字符?我试过在前面放一个\,或者把字符加倍。我已经搜索了所有内容,但没有找到任何东西。
TIA
您必须为您的姓名使用 [] 符号并(仅)转义右括号。下面是一个示例,声明了一个名为要转义的计算度量(注意 ]] ):
with member [`~!@#$%^&*()_+-=[]]{}|;':"<>?,./] as 42
select [`~!@#$%^&*()_+-=[]]{}|;':"<>?,./] on 0 from [cube]
您可以尝试使用 [ ] 括号吗?我认为它应该有所帮助。但是你也应该“逃避”你自己的括号。
如果标识符的主体只包含一个左括号 ([),则不需要额外的处理。如果标识符的主体包含右括号 (]),则必须指定两个右括号 (]])。