Я работаю с двухзвездочными хранилищами данных схемы, каждое хранилище данных содержит таблицу фактов, а таблицы измерений расположены в отдельных базах данных (одна база данных используется обоими хранилищами данных) .
Я создал проект многомерного анализа для каждого хранилища данных:
- В первом проекте я определил измерения и развернул базу данных Analysis, и я могу без проблем просматривать куб в Management Studio.
- Во втором проекте я определил связанные измерения и использовал развернутые измерения из первой базы данных анализа.
При попытке просмотра второго куба все работает нормально, но когда я пытался просмотреть измерение или добавить фильтр при просмотре куба, студия управления не отвечает. Через много часов возвращается следующее сообщение об ошибке:
Произошла ошибка при получении дочерних узлов: элемент Messages в строке (urn пространства имен: schemas-microsoft-com: xml-analysis: исключение) не может отображаться в Envelope / Body / ExecuteResponse / return / SubCube)
При поиске этой проблемы я обнаружил, что в некоторых статьях упоминается, что использование связанных измерений не рекомендуется, когда базы данных анализа расположены на разных серверах. Но в моем случае хранилища данных и базы данных анализа находятся на одном сервере.
Также я попытался запустить ту же логику фильтра, используя MDX-запрос, используя FILTER()
, но безуспешно. Синтаксис запроса MDX похож на:
SELECT ([Dimension2].[---].[---], [MeasureGroup].[Measure]) ON COLUMNS,
FILTER([Dimension1].[---].[---],[Dimension1].[---].[---].CurrentMember.Name = "FilterValue") ON ROWS
FROM [AnalysisCube]
Обратите внимание, что: размеры содержат более 4 ГБ, а CompatibilityLevel
установлено на 1100
.
Есть предложения?