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

标签 c# ssas mdx

如何从给定的 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/

相关文章:

c# - 在Visual Studio中制作Entity Framework 6模型会关闭向导并断开MYSQL连接数据库的连接

c# - 不安全和安全的 HTTP

c# - 为了避免 SQL Server 中的 SQL 注入(inject)攻击,应从字符串中转义哪些字符?

ssas - 使用 MDX 查询仅从 SSAS 多维数据集返回叶节点

mdx - 大多数人如何使用 MDX 查询?我应该使用 MDX 结果来驱动 Web UI 吗?

C# FormatException double.parse(),为什么 0.89 不解析?

SSAS测量值聚合误差

ssas - 使用 C# 对 SQL Server OLAP 多维数据集进行单元测试

ssas - 过滤维度值

ssas - MDX/SSAS - 需要父度量的灵活百分比