返回由多维表达式(MDX)格式字符串指定的集合。
Syntax
StrToSet(Set_Specification [,CONSTRAINED] )
Arguments
Set_Specification
一个有效的字符串表达式,直接或间接指定一个集合。
Remarks
StrToSet 函数返回字符串表达式中指定的集合。 StrToSet 函数通常与用户自定义函数一起使用,用于将外部函数的集合规范返回到 MDX 语句,或在 MDX 查询参数化时返回。
当使用限制标志时,集合规范必须包含合格或非限定成员名,或一组包含合格或非限定成员名的元组,并用大括 {}号包住。 该标志用于降低通过指定字符串发生注入攻击的风险。 如果提供的字符串无法直接解析到合格或不限定成员名,则会出现以下错误:“STRTOSET函数中CONSTRAINED flag所施加的限制已被违反。”
当未使用CONSTRAIND标志时,指定的集合规范可以解析为有效的多维表达式(MDX)表达式返回集合。
为了更好地理解集合和成员之间的区别,请参见《使用集合表达式》和《使用成员表达式》。
示例
以下示例使用 StrToSet 函数返回 State-Province 属性层级成员的集合。 集合规范提供了一个有效的MDX集合表达式。
SELECT StrToSet ('[Geography].[State-Province].Members')
ON 0
FROM [Adventure Works]
以下示例返回因CONSTRAIND标志而出现的错误。 虽然集合规范提供了有效的MDX集合表达式,但CONSTRAINED flag要求集合规范中必须有限定或非限定的成员名称。
SELECT StrToSet ('[Geography].[State-Province].Members', CONSTRAINED)
ON 0
FROM [Adventure Works]
以下示例返回德国和加拿大的经销商销售额度量。 指定字符串中提供的集合规范包含符合CONSTRAIND标志要求的合格成员名称。
SELECT StrToSet ('{[Geography].[Geography].[Country].[Germany],[Geography].[Geography].[Country].[Canada]}', CONSTRAINED)
ON 0
FROM [Adventure Works]