Есть ли способ для перечисления элементов измерения без выборки по умолчанию. Измерение для каждого члена?
Список элементов измерения с запросом MDX
Ответ 1
Вы не можете выбрать ничего на противоположной оси:
SELECT
{ } on 0,
{ DESCENDANTS([Dimension].[Hierarchy]) } on 1
FROM [Cube]
ВЫБОР пустого набора не позволяет SSAS добавлять меру по умолчанию на противоположную ось.
Ответ 2
Вы можете получить доступ к представлениям каталога, которые упоминает Magnus (которые, кстати, описаны здесь), из SQL Server 2008 с использованием следующего синтаксиса SQL вместо MDX:
SELECT *
FROM $system.MDSCHEMA_MEMBERS
WHERE ...
SQL, понимаемый службами Analysis Services, ограничен: не существует объединений, и условие WHERE
может содержать только такие предложения, как [HIERARCHY_UNIQUE_NAME] = '[Date].[Order Date]'
, подключенные через AND. GROUP BY и ORDER BY не поддерживаются. Но, тем не менее, вы можете запросить метаданные куба.
В зависимости от интерфейса, который вы используете для доступа к Analysis Services, могут возникнуть некоторые проблемы, так как эти метаданные возвращаются в формате набора результатов, а не в формате сотового набора.
Ответ 3
Я использовал запрос без данных:
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-]
например.
SELECT { Organization.Organization.Members } ON COLUMNS FROM [$Organization]
Не уверен, что есть непредвиденные побочные эффекты этого маршрута, но если вы просто хотите сбросить содержимое иерархии, не беспокоясь о данных, это еще один вариант.
Ответ 4
Вы можете использовать объект ADOMD Catalog
для опроса куба и выяснить, какие меры/измерения он имеет и т.д. Это вообще не связано с MDX.