在SSRS中使用User!UserID访问SSAS多维数据集中的数据

时间:2018-10-11 14:25:44

标签: reporting-services ssas ssrs-2012

我正在运行SQL 2012,并且我有一个SSAS多维多维数据集,其中包含我们零售业务的指标。我创建了一个SSRS报告,该报告从SSAS多维数据集中提取数据。我希望用户能够运行该报表,并且仅在他们正在查看的SSRS报表上传递用户特定的商店收入,客户数等。 我已经从多维数据集创建了一个参数。在根据我在默认值(特定值)下输入的多维数据集创建的报表参数下,该表达式的值为=“ [DimUserTable]。[Username]。[UserID]。&[” + User!UserID +“]” ,报告将不会运行。它给出了错误;

有关此错误的更多信息,请导航到本地服务器计算机上的报表服务器,或启用远程错误

数据集“收入”的查询执行失败。 (rsErrorExecutingCommand)

有人知道我如何才能只让用户存储信息以显示在他们正在查看的报表上吗?

1 个答案:

答案 0 :(得分:0)

您只需要将用户ID传递给参数。.您的查询应注意使用参数进行过滤。

where [DimUserTable].[Username] = @userid

我将使用以下内容作为userid参数的默认值

=User!UserID.Substring(User!UserID.LastIndexOf("\")+1)

当然,这取决于您的多维数据集为userid值保留的内容。如果不包含域名或计算机名称,请使用上面的名称。否则请使用= user!userid