我一直在尝试学习 SSAS Cubes 和 MDX。到目前为止,我已经设法创建了一个多维数据集,该多维数据集在通过多维数据集浏览器查看时返回正确的数据/计算。
查询生成器用于在报告服务中构建查询以查询多维数据集,我查看了生成的 MDX 并提取了似乎对实际结果没有影响的内容。查询如下所示:
SELECT NON EMPTY { [Measures].[AverageConnectedSeconds] } ON COLUMNS,
NON EMPTY { ([Operator].[ACCESS DEF].[ACCESS DEF].ALLMEMBERS * [Calls].[Notification Time Bands].[Notification Time Bands].ALLMEMBERS) } ON ROWS
FROM ( SELECT ( -{ [Calls].[Notification Time Bands].&[0] } ) ON COLUMNS
FROM ( SELECT ( { [Calls].[Incoming YN].[N] } ) ON COLUMNS
FROM ( SELECT ( -{ [Calls].[Entity Type].&[6] } ) ON COLUMNS
FROM ( SELECT ( -{ [Calls].[Reason Text].&[Background Call] } ) ON COLUMNS
FROM ( SELECT ( { STRTOMEMBER(@OperatorId) } ) ON COLUMNS
FROM [PNC5data] )))))
我已经阅读了语法,我认为我理解为什么查询会进行嵌套选择。我是否理解嵌套的 SELECT FROM 充当 SQL 中的 WHERE 子句?
如果是这样:MDX 中使用的 WHERE 子句是什么?何时/为什么要使用它?
如果有人能够给我详细说明此查询中实际发生的情况,我将不胜感激!或者,如果您能够将我引导到可以进一步了解 MDX 的资源,我将非常感激!
谢谢,
詹姆士