Excel - CUBEMEMBER 函数
CUBEMEMBER 函数
CUBEMEMBER 函数将从多维数据集中检索元组或特定成员。您可以利用此函数来验证成员或元组是否显示在定义的多维数据集中。例如,假设您希望显示不同地区的各种电子设备的生产情况。
语法
CUBEMEMBER 函数的语法如下 −
CUBEMEMBER (connection, member_expression, [caption])
兼容性
此高级 Excel 函数与以下版本的 MS-Excel 兼容 −
- Excel for Microsoft 365
- Excel for Microsoft 365 for Mac
- Excel for the web
- Excel 2021
- Excel 2021 for Mac
- Excel 2019
- Excel 2019 for Mac
- Excel 2016
- Excel for iPad
- Excel Web App
- Excel for iPhone
- Excel for Android tablets
- Excel for Android 手机
参数
您可以将以下参数与 CUBEMEMBER 函数 − 一起使用
参数 | 描述 | 必需/可选 |
---|---|---|
connection | 它指定表示与多维数据集的连接名称的文本。 | 必需 |
member_expression | 它指定一个文本,该文本可以是多维表达式 (MDX) 或表示指定单元格范围的元组或数组常量。 | 必需 |
Caption | 它表示在单元格中显示的文本,与立方体中的标题相反。如果检索到元组,则使用的标题是元组中最后一个成员的标题。 | 可选 |
要记住的要点
- 如果您在所需单元格中输入 CUBEMEMBER 函数,它会在获取结果之前暂时显示"#GETTING_DATA…"消息。
- 如果连接名称是无效的工作簿,则 CUBEMEMBER 函数将返回 #NAME 错误。如果 Excel 中没有可用的联机分析处理 (OLAP) 服务器、无法运行或显示意外错误,则 CUBEMEMBER 函数将检索到 #NAME 错误。
- 如果元组中至少有一个元素无效,则 CUBEMEMBER 将返回 #VALUE!错误。
- 如果 member_expression 很长,超过 255 个字符,CUBEMEMBER 将返回 #VALUE!错误。您可以使用写入文本字符串的单元格引用来获取较长的字符串。
- 要使用长度超过 255 个字符的文本字符串,请在单元格中输入文本字符串(限制为 32,767 个字符),然后使用单元格引用作为参数。
- 在各种情况下,CUBEMEMBER 都将检索 #N/A 错误值
- 成员表达式的语法无效。
- 多维数据集中未显示 MDX 文本字符串中定义的成员。
- 无效元组中的给定值没有交集。
- 如果引用基于会话的对象(如计算成员)或删除数据透视表,CUBEMEMBER 函数将返回 #N/A 错误。
CUBEMEMBER 函数示例
练习以下示例以了解 Excel 中 CUBEMEMBER 函数的用法。
示例 1
步骤 1 −考虑包含三列的示例表:区域、产品名称和生产。

步骤 2 − 您可以导航到 插入 选项卡,展开 数据透视表 图块,然后从列表中选择来自表/范围选项。

步骤 3 − 将出现另一个对话框"来自表或范围的数据透视表"。在"选择表格或范围"部分下写入"Table1"。在下一部分中,选择现有工作表以将数据透视表放置在活动工作表中。您可以指定将插入数据透视表的指定单元格引用范围。您必须选中"将此数据添加到数据模型"复选框。之后,单击确定按钮。

步骤 4 −此外,将"Region"字段拖放到Rows部分,并以类似的方式将"Production"字段拖放到"Values"部分,如下所示:

步骤 5 − 最后,在指定的单元格范围内创建数据透视表。现在,单击"PivotTable Analyze"并展开 OLAP Tools 图块,然后从下拉菜单中选择"Convert to Formulas"选项。

步骤 6 −一旦您选择第一列"行标签"的成员(例如 East),您就可以自动查看该成员的 CUBEMEMBER 函数。
在此示例中,E4 单元格的 CUBEMEMBER 公式为
= CUBEMEMBER("ThisWorkbookDataModel","[Table1].[Region].&[East]")
这意味着"Region"列中的"East"成员是从具有连接名称"ThisWorkbookDataModel"的 Table1 中检索的。


同样,您可以查看其余区域(如北部、南部和西部)的 CUBEMEMBER 函数。
步骤 7 −此外,您可以在 E11 单元格中输入公式 =CUBEMEMBER("ThisWorkbookDataModel","[Table1].[Name of Product].&[TV]"),然后按 Enter 键从"产品名称"列中获取产品名称。


示例 2
如果成员表达式的语法无效,则 CUBEMEMBER 将检索 #N/A 错误值,并且无效的给定值不会有交集元组。
解决方案
在 E11 单元格中写入表达式 =CUBEMEMBER("ThisWorkbookDataModel","[Table1].[Product].&[TV]"),然后按 Enter 键。

在此示例中,引用列名"Product"的成员表达式(第二个参数)未在 Table 1 中定义。因此,结果值是 #N/A 错误。

如果您正在使用元组,请确保给定值之间必须存在交集;否则,将出现 #N/A 错误。