0

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

4

1 回答 1

0

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

看起来这些查询中的名称是我们 SSAS 数据库中的数据源、数据源视图和多维数据集的名称[Data Warehouse][Some Cube]

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

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

于 2010-02-17T17:49:21.663 回答