有没有办法列出维度成员而不为每个成员提取默认度量?
答案 0 :(得分:27)
您可以在相反的轴上选择任何内容:
SELECT
{ } on 0,
{ DESCENDANTS([Dimension].[Hierarchy]) } on 1
FROM [Cube]
选择空集可防止SSAS在相反的轴上添加默认度量。
答案 1 :(得分:1)
您可以使用以下SQL语法而不是MDX从SQL Server 2008访问Magnus提到的目录视图(顺便提一下are documented here):
SELECT *
FROM $system.MDSCHEMA_MEMBERS
WHERE ...
Analysis Services理解的SQL是有限的:没有可能的连接,WHERE
条件可能只包含通过AND连接的[HIERARCHY_UNIQUE_NAME] = '[Date].[Order Date]'
等子句。不支持GROUP BY和ORDER BY。但是,您可以查询多维数据集元数据。
根据您用于访问Analysis Services的接口,可能存在一些问题,因为这些元数据以结果集格式返回,而不是以cellset格式返回。
答案 2 :(得分:1)
我以前没有数据查询的方式是:
WITH MEMBER Measures.Amount AS 0
SELECT {
[-dimensionName-].[-hierachyName-].Members
} ON COLUMNS
FROM [-cubeName-]
但是在看了BIDS在SQL Profiler中的工作后,我了解了
SELECT {
[-dimensionName-].[-hierachyName-].Members
} ON COLUMNS
FROM [$-dimensionName-]
e.g。
SELECT { Organization.Organization.Members } ON COLUMNS FROM [$Organization]
不确定此路线是否存在意外的副作用,但如果您只是想将内容转储到层次结构而不用担心数据,那么这是另一种选择。
答案 3 :(得分:0)
您可以使用ADOMD Catalog
对象查询多维数据集,并找出它具有的度量/维度等。这根本不涉及MDX。