如何从给定的 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
。这应该始终跟在方括号中或作为有效标识符的多维数据集名称之后。
关于c# - 如何从给定的 MDX 查询中获取多维数据集名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51035062/