集表达式可以是冗长而复杂的声明,因此很难遵循或理解。 或者,固定表达可能会被如此频繁地使用,以至于反复重新定义它变得繁琐。 为了帮助简化使用冗长、复杂或常用的表达式,多维表达式(MDX)使你可以将表达式作为 命名集。
基本上,命名集是已向其分配别名的集表达式。 命名集合可以包含通常可以加入集合的任何成员或函数。 由于 MDX 将命名集别名视为集表达式,因此可以在接受集表达式的任何位置使用该别名。
可以定义一个命名集,以便具有以下上下文之一:
查询范围 若要创建一个命名集,该集定义为 MDX 查询的一部分,因此其范围仅限于查询,请使用 WITH 关键字。 然后,可以在 MDX SELECT 语句中使用命名集。 使用此方法,可以使用 WITH 关键字创建的命名集可以更改,而不会干扰 SELECT 语句。
有关如何使用 WITH 关键字创建命名集的详细信息,请参阅创建 Query-Scoped 命名集(MDX)。
会话范围 若要创建范围大于查询上下文的命名集,即其范围是 MDX 会话的生存期,请使用 CREATE SET 语句。 使用 CREATE SET 语句定义的命名集可用于该会话中的所有 MDX 查询。 例如,在客户端应用程序中,CREATE SET 语句是合理的,因为它可以在多种查询中一致地重复使用一个集。
有关如何使用 CREATE SET 语句在会话中创建命名集的详细信息,请参阅创建 Session-Scoped 命名集(MDX)。