2010-02-17 12 views
0

Je tente de déployer des rapports qui se connectent à un cube SSAS en tant que source de données partagée. Le problème que j'ai est centré sur ce fait que même si je change le catalogue initial dans la chaîne de connexion SSAS, toutes les requêtes MDX dans les fichiers rdl font toujours référence à l'ancien cube SSAS par son nom.Source de données partagée SSRS pour la requête SSAS et MDX

Ceci est un problème particulier car ces noms de cubes changeront souvent (ce serait différent pour à peu près tous les clients pour lesquels nous installons notre logiciel). Si le nom du cube dans lequel un développeur a écrit le rapport est codé en dur dans la requête, est-ce la meilleure façon de faire ceci pour faire une recherche/un remplacement dans les fichiers rdl avant d'essayer de déployer?

Voici un exemple de l'une des requêtes MDX simples:

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] 

dire donc que « Data Warehouse » était le nom de la base de données stockant les données du cube SSAS sur la machine du dev. Mais en production, ça s'appelle "Prod DW". Même si je change la source de données pour pointer vers le nouveau cube, les requêtes regardent toujours l'ancienne. Le seul moyen que j'ai trouvé pour le changer est de modifier les fichiers rdl manuellement ou de les éditer dans Visual Studio.

Répondre

0

Donc, je ne suis pas entièrement sûr de cette réponse et d'autres personnes peuvent confirmer si c'est vrai. Il semble que les noms tels que [Data Warehouse] ou [Some Cube] qui étaient dans ces requêtes sont les noms des sources de données, des vues de sources de données et des cubes dans notre base de données SSAS.

La raison pour laquelle je suis concerné est parce que notre application doit être multi-locataire avec plusieurs locataires ayant des cubes presque identiques tous hébergés dans le même serveur SSAS. Je pensais alors que le nom du cube devait être unique pour chaque base de données SSAS mais ce n'est pas le cas, seuls les noms de bases de données doivent être uniques. Donc, si dans le fichier xmla utilisé pour déployer la base de données AS, le nom et l'ID de la base de données changent, mais les noms et ID des cubes, des sources de données et des sources de données restent identiques. sur leur source de données partagée.