2016-12-14 85 views
0

我想要做的是;用戶將從下拉列表中選擇區域的值(區域1,區域2,區域3)。 @Region應該在mdx查詢中使用該值。例如 。如果用戶選擇Region2,它應該如下所示:[Region]。 [Region2] .children。我寫的查詢顯示有語法錯誤。在mdx查詢中傳遞參數

WITH 
    MEMBER [measures].[region] AS 
    StrToMember("[Region].[" + @Region + "]").CurrentMember.Name 
    MEMBER [measures].[product] AS 
    [Product Line].[product Line L2].CurrentMember.Name 
SELECT 
    NonEmpty 
    (
     StrToMember("[Region].[" + @Region + "]").Children 
    * 
     [Product Line].[Product Line L2].Children 
    ,[Measures].[Total Clients] 
) ON ROWS 
,{ 
    [measures].[region] 
    ,[measures].[product] 
    ,[Measures].[Total Clients] 
    } ON COLUMNS 
FROM [EQ Coverage]; 

回答

0

你也有可用的功能strToSet所以這個:

StrToMember("[Region].[" + @Region + "]").Children 

可以寫成:

StrToSet("[Region].[" + @Region + "].Children", CONSTRAINED) 

,但我不確定自己的這部分代碼的目的?

MEMBER [measures].[region] AS 
    StrToMember("[Region].[" + @Region + "]").CurrentMember.Name 

我沒有看到使用參數的目的 - 你可以做這樣的事情?

MEMBER [measures].[region] AS 
    [Region].[Region].CurrentMember.member_caption