如何从给定的MDX查询中获取多维数据集名称.
例如:我有一个如下查询,
SELECT [Date].[Calendar Year].MEMBERS on 0 , TOPCOUNT( [Product].[Product].MEMBERS , 10 , [Measures].[Sales Amount] ) ON 1 FROM [Adventure Works]
如何从上面的查询中获取多维数据集名称Adventure Works?
最佳答案 您需要解析MDX.解析器需要的复杂程度取决于您可以投入的精力,对潜在错误的容忍度,以及您构建解析器的体验.
只是一个大纲:
您应该搜索关键字FROM.在MDX语法中,只能跟一个多维数据集名称或子选择.子选择可以通过括号后跟关键字SELECT来识别.
并且可以识别关键字,因为它们不包含在注释,字符串或方括号中.
由于子选择应该正确嵌套,我认为你甚至可能只搜索最后一个关键字FROM.这应始终后跟多维数据集名称,方括号或有效标识符.