首页 > 代码库 > MDX StrtoMember 和 Strtoset 区别
MDX StrtoMember 和 Strtoset 区别
StrtoMember : string to memeber ,返回字符串表达式中指定的成员,
Strtoset: string to set 返回字符串表达式中指定的集
下面是几个例子的写法
1.1、{strtomember(‘[组织架构维度].[上级组织].&[2]‘)}
1.2、{strtoset(‘{[组织架构维度].[上级组织].&[2]}‘)}
1.1 和 1.2 加入到完整的MDX中,执行出来的结果是一致的,1.1和1.2也是这两个函数最原始的用法。
--------------------------------------分割----------------------------------
2.1、strtoset(‘{[组织架构维度].[上级组织].&[2].children}‘)
2.2、{strtomember(‘[组织架构维度].[上级组织].&[2]‘).children}
基于上述取子集,在完整的MDX 中,以上两个执行出来的结果是也是一致的。
-------------------------------------------------------------------------
1.1 和1.2
2.2.1、strtoset(‘{[组织架构维度].[上级组织].&[2],[组织架构维度].[上级组织].&[4]}‘)
2.2.2、strtoset(‘{[组织架构维度].[上级组织].&[2].children,[组织架构维度].[上级组织].&[4].children}‘)
2.2.1 和 2.2.2 strtomember是不支持上面的写法,
-----------------------------------------------------------
对参数的操作:
Strtomember 可以直接作用到@StrParas,@StrPara 是个字符串,@Paras 是个集合{0,1,2} 最少包含一个,StrtoSet 对参数 @Paras 取子成员是不能直接操作的,类似 Strtoset(@Paras).Children 的写法是错误。
3.1、StrtoMember(@StrPara)
3.2、StrtoMember(@StrPara).children
3.3、 Strtoset(@Paras)
关于这两个函数的性能,没有过多研究,这方面的资料本身不多,只能一点点在学习中,将自己疑惑的地方都写出来分享下。