从SSAS中选择​​维度表

时间:2014-03-11 17:43:53

标签: ssas mdx

我正试图弄清楚如何通过SSAS / MDX获取维度中的数据。例如:

DIMFileStatus
--------------
FileStatusID, FileStatusName
1             New
2             Updated
3             Deleted

如果我运行一个简单的查询,如:

SELECT [DimFileStatuses].[FileStatusName].members ON 0
FROM [status]

我得到以下内容:

All  New  Updated  Deleted
--------------------------
1      1       1        1

我想要的是:

FileStatusID  FileStatusName
          1    New
          2    Updated
          3    Deleted

如何构建查询以获得我想要的格式的结果? 谢谢!


更多信息:

如果我尝试创建自定义度量:

WITH MEMBER Measures.[custom] AS [DimFileStatuses].[FileStatusID].CURRENTMEMBER.MEMBERVALUE
SELECT [DimFileStatuses].[FileStatusName].members on 1,
[Measures].[custom] ON 0  
FROM [status]

我明白了:

        custom
--------------
all     (null)
New     (null)
Updated (null)
Deleted (null)

1 个答案:

答案 0 :(得分:3)

您可以使用

SELECT {}
       ON COLUMNS,
       [DimFileStatuses].[FileStatusID].[FileStatusID].Members
        *
       [DimFileStatuses].[FileStatusName].[FileStatusName].Members
       ON ROWS
  FROM [status]

使用名称与属性名称相同的级别将排除all成员,Analysis Services的“自动存在”功能应注意交叉连接返回的FileStatusIDFileStatusName的所有组合实际上都存在在维度表中。这避免了像(1, Updated)这样的对。