Вывести список элементов измерения с помощью запроса MDX - PullRequest
14 голосов
/ 07 июня 2011

Есть ли способ отобразить элементы измерения без выборки меры по умолчанию для каждого элемента?

Ответы [ 4 ]

28 голосов
/ 08 июня 2011

Вы не можете выбрать ничего на противоположной оси:

SELECT
  { } on 0,
  { DESCENDANTS([Dimension].[Hierarchy]) } on 1
FROM [Cube]

ВЫБОР пустого набора не позволяет SSAS добавить меру по умолчанию на противоположной оси.

1 голос
/ 10 мая 2015

Я использовал для запроса без данных:

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]

Не уверен, есть ли непреднамеренные побочные эффекты этого маршрута, но если вы просто хотите вывести содержимое в иерархию, не беспокоясь о данных, это еще один вариант.

1 голос
/ 30 июля 2013

Вы можете получить доступ к представлениям каталога, которые упоминает Магнус (которые, кстати, описаны здесь ), из 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, могут возникнуть некоторые проблемы, поскольку эти метаданные возвращаются в формате набора результатов, а не в формате набора ячеек.

0 голосов
/ 27 июня 2011

Вы можете использовать объект ADOMD Catalog, чтобы опросить куб и выяснить, какие у него измерения / измерения и т. Д. Это вообще не касается MDX.

...