我正在尝试将连接到 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 中编辑它们。