2

我需要你的帮助!!

我想使用 SSRS 创建具有多值参数的报告。

所以,我写了这个 mdx 脚本:

WITH 
-- Geography metadata

MEMBER [Measures].[Geographie]
   AS StrToValue ( @SelectionGeographie + ".Hierarchy.Currentmember.Uniquename" )
MEMBER [Measures].[Geographie_Label]
   AS StrToValue( @SelectionGeographie + ".Hierarchy.CurrentMember.Member_Caption" )

-- Activity metadata

MEMBER [Measures].[Activite]
   AS StrToValue( @SelectionActivite + ".Hierarchy.Currentmember.Uniquename" )
MEMBER [Measures].[Activite_Label]
   AS StrToValue( @SelectionActivite + ".Hierarchy.CurrentMember.Member_Caption" )

-- Date metadata

MEMBER [Measures].[Temps]
   AS StrToValue( @Annee + ".Hierarchy.Currentmember.Uniquename" )
MEMBER [Measures].[Temps_Label]
   AS StrToValue( @Annee + ".Hierarchy.CurrentMember.Member_Caption" )

-- Perimetre metadata
MEMBER [Measures].[Perimetre]
   AS StrToValue( @Perimetre + ".Hierarchy.Currentmember.Uniquename" )
MEMBER [Measures].[Perimetre_Label]
   AS StrToValue( @Perimetre + ".Hierarchy.CurrentMember.Member_Caption" )


SELECT NON EMPTY {
 -- display the parameters  attributes on columns

 [Measures].[Geographie],
 [Measures].[Geographie_Label],


 [Measures].[Activite],
 [Measures].[Activite_Label],

 [Measures].[Temps],
 [Measures].[Temps_Label],

 [Measures].[Perimetre],
 [Measures].[Perimetre_Label],


 [Measures].[11 VA]


} ON COLUMNS, 

      ( STRTOSET ( "{" + @SelectionGeographie + "}") ,


        STRTOSET   ("{" + @SelectionActivite + "}" ))


ON ROWS

FROM [MyCube]

WHERE STRTOTUPLE ( "(" +@Annee + "," + @Perimetre + ")" )

但它适用于参数中的一个值,而不适用于多值参数。当我有多个值时,我的元数据成员中的结果为空。

任何想法 ?

感谢你

4

1 回答 1

1

WITH -- 地理元数据成员 [Measures].[Geographie] AS "[Geographie]."+ @NiveauGeographie +".Currentmember.Uniquename"

成员 [Measures].[Geographie_Label] AS "[Geographie]."+ @NiveauGeographie +".CurrentMember.Member_Caption"

SELECT NON EMPTY { [Measures].[Geographie], [Measures].[Geographie_Label], [Measures].[11 VA]

} 在列上,

( STRTOSET ("{" + @SelectionGeographie + "}") ,

STRTOSET   ("{" + @SelectionActivite + "}" ))

在行

来自 [MyCube]

WHERE STRTOTUPLE ("(" +@Annee + "," + @Perimetre + ")"

于 2013-03-04T10:48:42.963 回答