2010-02-17 60 views
0

我試圖將連接到SSAS多維數據集的報告部署爲共享數據源。我所關心的問題是即使我更改SSAS連接字符串中的初始目錄,rdl文件中的所有MDX查詢仍按名稱引用舊的SSAS多維數據集。SSRS將數據源共享到SSAS和MDX查詢

這是一個特殊的問題,因爲這些立方體名稱會經常改變(對於我們安裝我們的軟件的每個客戶端來說都會有所不同)。如果開發人員在報表中編寫報表的多維數據集的名稱在查詢中是硬編碼的,那麼在嘗試部署之前,是否需要使用此方法在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中編輯它們。

回答

0

所以我不完全肯定這個答案,其他人可以證實這是否屬實。

看起來像這些查詢中的名稱(如[Data Warehouse][Some Cube])是我們的SSAS數據庫中數據源,數據源視圖和多維數據集的名稱。

我擔心的原因是因爲我們的應用程序需要多租戶,多個租戶擁有幾乎相同的多維數據集,這些多租戶都託管在同一個SSAS服務器中。然後我想,立方體的名稱需要對每個SSAS數據庫都是唯一的,但事實並非如此,只有數據庫名稱必須是唯一的。

因此,如果XMLA文件用於部署的數據庫,該數據庫名和ID的變化,但多維數據集,數據源的名稱和ID,以及數據源視圖保持不變,則報表可以在各種不同的立方體工作依賴在他們的共享數據源上。