0

在 SSRS 2016 中,我正在针对表格实例编写一些报告。我们使用 MDX 作为查询语言。我在报告中手动指定默认唯一名称时遇到问题。 有任何想法吗?它是一个错误吗?逃避问题?

我们有许多参数,我们将像这样的维度属性作为可用值:

WITH MEMBER [Measures].[Label] AS [Dimension].[Dimension Attribute].CURRENTMEMBER.MEMBER_CAPTION
     MEMBER [Measures].[UniqueName] AS [Dimension].[Dimension Attribute].CURRENTMEMBER.UniqueName
SELECT {[Measures].[Label], [Measures].[UniqueName] ON 0,
    [Dimension].[Dimension Attribute].Members ON 1
FROM [CubeName]

如果我尝试手动设置默认值,Visual Studio 似乎可以识别该值,但 SSRS 服务器没有。我将其设置为:

[Line of Business].[Line of Business].[All]

SSRS 似乎逃脱了这一点

\[Line of Business\].\[Line of Business\].\[All\]

这也是尝试在报告之间传递选择的问题。值得注意的是,如果我通过查询设置默认值,服务器上的 SSRS 很乐意选择默认值:

WITH MEMBER [Measures].[UniqueName] AS AS [Dimension].[Dimension Attribute].CURRENTMEMBER.UniqueName
SELECT [Measures].[UniqueName]
FROM [CubeName]
WHERE [Dimension].[Dimension Attribute].[All]
4

1 回答 1

0

在 SSRS 中,默认值应该是一个具有唯一名称的维度成员的字符串,在这种情况下:

="[Line of Business].[Line of Business].[All]"

现在,在您的数据集中,您必须使用 MDX STRTOSET 函数,目的是将参数中的字符串值解释为一组有效的[Line Of Business]维度成员。

SELECT 
  StrToSet
  (@BusinessLineParam
   ,CONSTRAINED
  ) ON ROWS
 ,[Measures].[Sales Amount] ON COLUMNS
FROM [Sales Cube];

检查我最近发布的类似答案。也可以帮助你。

让我知道这是否有帮助。

于 2016-09-19T18:53:36.547 回答