在SSRS 2016中,如何将MDX唯一名称指定为报告参数默认值?

时间:2016-09-19 17:46:42

标签: reporting-services ssas ssrs-2016

在SSRS 2016中,我正在编写一些针对Tabular实例的报告。我们使用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]

1 个答案:

答案 0 :(得分: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];

检查我最近发布的类似answerthis也可以帮到你。

如果有帮助,请告诉我。