本文介绍 Microsoft Excel 中 CUBESET 函数的公式语法和用法。
定义成员或元组的计算集。方法是向服务器上的多维数据集发送一个集合表达式,此表达式创建集合,并随后将该集合返回到 Microsoft Excel。
CUBESET(connection, set_expression, [caption], [sort_order], [sort_by])
CUBESET 函数语法具有以下参数:
Connection 必需。 一个表示多维数据集的连接名称的文本字符串。
Set_expression 必需。 产生一组成员或元组的集合表达式的文本字符串。 Set_expression 也可以是对 Excel 区域的单元格引用,该区域包含一个或多个成员、元组或包含在集合中的集合。
Caption 可选。 显示在多维数据集的单元格(而不是标题)中的文本字符串(如果定义了一个文本字符串)。
Sort_order 可选。 要执行的排序类型(如果有),可以为下列类型之一:
整型 |
枚举常量 |
说明 |
Sort_by 参数 |
0 |
SortNone |
按当前顺序保留集合。 |
忽略 |
1 |
SortAscending |
使用 sort_by 按升序对集合进行排序。 |
必选 |
2 |
SortDescending |
使用 sort_by 按降序对集合进行排序。 |
必选 |
3 |
SortAlphaAscending |
按字母升序对集合进行排序。 |
忽略 |
4 |
Sort_Alpha_Descending |
按字母降序对集合进行排序。 |
忽略 |
5 |
Sort_Natural_Ascending |
按自然升序对集合进行排序。 |
忽略 |
6 |
Sort_Natural_Descending |
按自然降序对集合进行排序。 |
忽略 |
默认值为 0。 对一组元组进行字母排序是以每个元组中最后一个元素为排序依据的。 有关这些不同的排序顺序的详细信息,请参阅 Microsoft Office SQL Analysis Services 帮助系统。
Sort_by 可选。 排序所依据的值的文本字符串。 例如,要获得销售量最高的城市,则 set_expression 为一组城市,sort_by 为销售量。 或者,要获得人口最多的城市,则 set_expression 为一组城市,sort_by 为人口量。 如果 sort_order 需要 sort_by,而 sort_by 被忽略,则 CUBESET 函数返回 #VALUE! 错误消息。
当 CUBESET 函数求值时,它会在检索到所有数据之前在单元格中暂时显示“#GETTING_DATA…”消息。
如果连接名称不是存储在工作簿中的有效工作簿连接,则 CUBESET 函数返回 #NAME? 错误值。 如果联机分析处理 (OLAP) 服务器未运行、不可用或返回错误消息,则 CUBESET 函数返回 #NAME? 错误值。
如果 set_expression 语法不正确,或集合至少包含一个其维数与其他成员都不同的成员,CUBESET 函数返回错误值 #N/A。
如果 set_expression 的长度大于 255 个字符(这是函数参数的长度限制),则 CUBESET 函数将返回 #VALUE! 错误值。 要使用长度大于 255 个字符的文本字符串,请在单元格中输入该文本字符串(对于单元格而言,该限制是 32,767 个字符),然后使用单元格引用作为参数。
CUBESET 在以下情况下可能返回错误值 #N/A:如果您在共享连接时引用数据透视表中的基于会话的对象,如计算成员或命名集,而该数据透视表已被删除或者您已将该数据透视表转换为公式 (在“选项”选项卡的“工具”组中,单击“OLAP 工具”,然后单击“转换为公式”)。
=CUBESET("Finance","Order([Product].[Product].[Product Category].Members,[Measures].[Unit Sales],ASC)","Products")
=CUBESET("Sales","[Product].[All Products].Children","Products",1,"[Measures].[Sales Amount]")