SSRS общий источник данных для запросов SSAS и MDX - PullRequest
0 голосов
/ 17 февраля 2010

Я пытаюсь развернуть отчеты, которые подключаются к кубу SSAS в качестве общего источника данных. Проблема, с которой я столкнулся, связана с тем фактом, что даже если я изменю исходный каталог в строке подключения SSAS, все запросы MDX в файлах rdl по-прежнему ссылаются на старый куб SSAS по имени.

Это особая проблема, потому что названия этих кубов часто меняются (будут отличаться практически для каждого клиента, для которого мы устанавливаем наше программное обеспечение). Если имя куба, с которым разработчик написал отчет, жестко закодировано в запросе, то лучший ли способ сделать это, чтобы выполнить поиск / замену в файлах rdl перед попыткой развертывания?

Вот пример одного из простых запросов MDX:

WITH MEMBER [Measures].[ParameterCaption] 
AS [Time Dim].[Year].CURRENTMEMBER.MEMBER_CAPTION MEMBER [Measures].[ParameterValue] 
AS [Time Dim].[Year].CURRENTMEMBER.UNIQUENAME MEMBER [Measures].[ParameterLevel] 
AS [Time Dim].[Year].CURRENTMEMBER.LEVEL.ORDINAL 
SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} 
ON COLUMNS , [Time Dim].[Year].ALLMEMBERS ON ROWS FROM [Data Warehouse]

Итак, скажем, что «Хранилище данных» - это имя базы данных, в которой хранятся данные для куба SSAS на компьютере разработчика. Но в производстве он называется «Prod DW». Несмотря на то, что я меняю источник данных, чтобы он указывал на новый куб, запросы все равно смотрят на старый. Единственный способ изменить его - вручную редактировать файлы rdl или редактировать их в Visual Studio.

1 Ответ

0 голосов
/ 17 февраля 2010

Так что я не совсем уверен в этом ответе, и другие люди могут подтвердить, что это правда.

Похоже, имена, такие как [Data Warehouse] или [Some Cube], которые были в этих запросах, являются именами источников данных, представлений источников данных и кубов в нашей базе данных SSAS.

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

Таким образом, если в файле xmla, используемом для развертывания базы данных AS, имя и идентификатор базы данных изменятся, но имена и идентификаторы кубов, источников данных и представлений источников данных останутся прежними, тогда отчеты могут работать на различных кубах в зависимости от их общий источник данных.

...