如何从给定的MDX查询获取多维数据集名称

时间:2018-06-26 04:47:38

标签: c# ssas mdx

如何从给定的cube name查询中获取MDX

例如:我有一个如下查询,

SELECT [Date].[Calendar Year].MEMBERS on 0 , TOPCOUNT( [Product].[Product].MEMBERS , 10 , [Measures].[Sales Amount] ) ON 1 FROM [Adventure Works]

如何从上述查询中获得cube name 冒险作品

1 个答案:

答案 0 :(得分:1)

您需要解析MDX。解析器的复杂程度取决于您可以投入的精力,对潜在错误的容忍度以及潜在的构建解析器的经验。

只是一个轮廓:

您应该搜索关键字FROM。在MDX语法中,只能在多维数据集名称或子选择之后。可以通过在括号后加上关键字SELECT来识别子选择。 并且关键字可以被识别,因为它们不包含在注释,字符串或方括号中。

由于应该正确嵌套子选择,所以我认为您甚至可以只搜索最后一个关键字FROM。应始终在方括号后或方括号中,或作为有效的标识符作为多维数据集名称。