全部文档
文档中心财务模型多维表达式MDXMDX函数成员函数StrToMember函数

StrToMember函数

StrToMember 函数返回字符串表达式中指定的成员。 StrToMember 函数通常与变量一起使用,用于将从变量中获取的维度成员字符串转换成维度成员类型返回给 MDX 语句。

StrToMember(Dimension_Member_Str)
StrToMember(Dimension_Name_Str, Member_Name_Str)

Dimension_Member_Str -> 数据类型:String 指定维度成员的有效字符串。

Dimension_Name_Str -> 数据类型:String 指定维度名的有效字符串,注意在财务模型中,这里实际使用的是字段名。 Member_Name_Str -> 数据类型:String 指定维度成员名的有效字符串。

返回值数据类型:Member

一个strToMember函数使用示例如下:

Use cube_test;
Scope(StrToMember($scenario), [Version].[V1], [Year].[2022], Descendants(StrToMember($period)), Leaves([Product].[TotalProduct]), Leaves([Entity].[TotalEntity]));
    [Account].[Total_Sales] = [Account].[Volume]*[Account].[Price]->[Period].[Begbalance];
End Scope;

在上例中,我们定义了两个字符串的变量scenario和period,随后,通过函数StrToMember的转换,将其类型转换成成员类型,随后被Descendants函数以及scope语句所使用。

如果需要在参数中拼接维度名,则可以使用StrToMember(Dimension_Name_Str, Member_Name_Str)的写法,如下:

Use cube_test;
Scope(StrToMember('Scenario',$scenario), [Version].[V1], [Year].[2022],Descendants(StrToMember('Period',$period)),Leaves([Product].[TotalProduct]),Leaves([Entity].[TotalEntity]));
    [Account].[Total_Sales] = [Account].[Volume]*[Account].[Price]->[Period].[Begbalance];
End Scope;

这里,假设$scenario会返回一个变量值“Actual”,则StrToMember(‘Scenario’,$scenario)会实际上返回[Scenario].[Actual]这个成员。

关于变量的使用,可以参考《MDX中使用变量》。

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send