StrToSet (MDX)

返回由多维表达式(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]