Получение взаимосвязей между измерениями и группами мер

В Excel есть функция "Показать поля, связанные с:": < img src="https://i.stack.imgur.com/7wyrC.png" alt="введите здесь описание изображения"> Я хочу что-то вроде этого, но вернуть в следующем виде:

MeasureGroup1: Dimension1, Dimension2, Dimesion3
MeasureGroup2: Dimension2, Dimesion3
...

Не могу понять, как Excel извлекает эти данные. Мне нужно написать скрипт, который будет автоматически генерировать данные о взаимосвязях для выбранного куба. Это может быть MDX или XMLA. ADO.NET в крайнем случае (в конце концов, это должен быть переносимый скрипт).

Надеюсь, вы можете помочь.


person Danylo Korostil    schedule 13.04.2017    source источник
comment
действительно не уверен, как это сделать - функция mdx EXISTS использует группу мер в качестве третьего аргумента - поможет ли эта функция?   -  person whytheq    schedule 14.04.2017
comment
Не совсем, он работает с наборами, а запросы огромных размеров тяжелы. Существует также MeasureGroupMeasures('MeasureGroup1').Item(0), однако он не работает с мерами Visible = False.   -  person Danylo Korostil    schedule 14.04.2017


Ответы (2)


Следующее возвращает набор записей, который Excel использует для определения того, какие измерения связаны с какими группами мер:

select *
from $system.MDSCHEMA_MEASUREGROUP_DIMENSIONS
person GregGalloway    schedule 15.04.2017
comment
Именно то, что я хочу! Позор мне: не удалось найти его раньше. Спасибо, Грег! - person Danylo Korostil; 15.04.2017
comment
Для этих целей можно использовать xmla, что даже более естественно для таких клиентов, как Excel! Я разместил код в качестве дополнительного ответа. - person Danylo Korostil; 15.04.2017

Плюс решение xmla:

<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
    <RequestType>MDSCHEMA_MEASUREGROUP_DIMENSIONS</RequestType>
    <Restrictions />
    <Properties />
</Discover>
person Danylo Korostil    schedule 15.04.2017