我想做的是;用户可以从下拉列表中选择区域的值(Region1,Region2,Region3)。 @Region应该在mdx查询中获取该值。 例如。如果用户选择Region2,它应该如下所示:[Region]。 [Region2] .children。我写的查询显示存在语法错误。
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 :(得分: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