SSRS共享SSAS和MDX查询的数据源

时间:2010-02-17 02:12:20

标签: reporting-services datasource ssas mdx rdl

我正在尝试将连接到SSAS多维数据集的报表部署为共享数据源。我正在解决的问题是,即使我在SSAS连接字符串中更改初始目录,rdl文件中的所有MDX查询仍然按名称引用旧的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 :(得分:0)

所以我不完全确定这个答案,其他人可以确认这是否属实。

这些查询中的[Data Warehouse][Some Cube]等名称似乎是SSAS数据库中数据源,数据源视图和多维数据集的名称。

我担心的原因是因为我们的应用程序需要是多租户,多个租户具有几乎相同的多维数据集,所有多维数据集都托管在同一个SSAS服务器中。我当时认为多维数据集的名称需要对每个SSAS数据库都是唯一的,但事实并非如此,只有数据库名称必须是唯一的。

因此,如果在用于部署AS数据库的xmla文件中,数据库名称和ID发生更改,但多维数据集,数据源和数据源视图的名称和ID保持不变,则报表可以在各种不同的多维数据集上工作,具体取决于他们的共享数据源。