Reporting services SSRS共享数据源到SSAS和MDX查询

Reporting services SSRS共享数据源到SSAS和MDX查询,reporting-services,datasource,ssas,mdx,rdl,Reporting Services,Datasource,Ssas,Mdx,Rdl,我正在尝试部署连接到SSAS多维数据集作为共享数据源的报表。我遇到的问题是,即使我更改了SSAS连接字符串中的初始目录,rdl文件中的所有MDX查询仍按名称引用旧的SSAS多维数据集 这是一个特别的问题,因为这些多维数据集名称会经常更改(对于我们为其安装软件的几乎每个客户端来说都会有所不同)。如果开发人员编写报告时使用的多维数据集的名称在查询中是硬编码的,那么在尝试部署之前在rdl文件中进行搜索/替换是最好的方法吗 以下是一个MDX simpler查询的示例: WITH MEMBER [Meas

我正在尝试部署连接到SSAS多维数据集作为共享数据源的报表。我遇到的问题是,即使我更改了SSAS连接字符串中的初始目录,rdl文件中的所有MDX查询仍按名称引用旧的SSAS多维数据集

这是一个特别的问题,因为这些多维数据集名称会经常更改(对于我们为其安装软件的几乎每个客户端来说都会有所不同)。如果开发人员编写报告时使用的多维数据集的名称在查询中是硬编码的,那么在尝试部署之前在rdl文件中进行搜索/替换是最好的方法吗

以下是一个MDX simpler查询的示例:

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中编辑它们。

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

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

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

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