我正试图弄清楚如何通过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)
答案 0 :(得分:3)
您可以使用
SELECT {}
ON COLUMNS,
[DimFileStatuses].[FileStatusID].[FileStatusID].Members
*
[DimFileStatuses].[FileStatusName].[FileStatusName].Members
ON ROWS
FROM [status]
使用名称与属性名称相同的级别将排除all成员,Analysis Services的“自动存在”功能应注意交叉连接返回的FileStatusID
和FileStatusName
的所有组合实际上都存在在维度表中。这避免了像(1, Updated)
这样的对。