CUBEVALUE 函数

注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。

本文介绍 Microsoft Excel 中 CUBEVALUE 函数的公式语法和用法。

说明

从多维数据集中返回汇总值。

语法

CUBEVALUE(connection, [member_expression1], [member_expression2], …)

CUBEVALUE 函数语法具有以下参数:

  • Connection    必需。 一个表示多维数据集的连接名称的文本字符串。

  • Member_expression    可选。 多维表达式 (MDX) 的文本字符串,用来计算出多维数据集内的成员或元组。 另外,member_expression 可以是由 CUBESET 函数定义的集合。 使用 member_expression 作为切片器来定义要返回其汇总值的多维数据集部分。 如果 member_expression 中未指定度量值,则使用该多维数据集的默认度量值。

备注

  • 当 CUBEVALUE 函数求值时,它会在检索到所有数据之前在单元格中暂时显示“#GETTING_DATA…”消息。

  • 如果 member_expression 使用单元格引用,并且该单元格引用包含 CUBE 函数,则 member_expression 使用引用的单元格中的项目的 MDX 表达式,而不是显示在该引用的单元格中的值。

  • 如果连接名称不是存储在工作簿中的有效工作簿连接,则 CUBEVALUE 函数返回 #NAME? 错误值。 如果联机分析处理 (OLAP) 服务器未运行、不可用或返回错误消息,则 CUBEVALUE 函数返回 #NAME? 错误值。

  • 如果元组中至少有一个元素是无效的,则 CUBEVALUE 函数返回 #VALUE! 错误值。

  • 当遇到以下情况时,CUBEVALUE 函数返回错误值 #N/A:

    • member_expression 语法不正确。

    • member_expression 所指定的成员在多维数据集中不存在。

    • 元组无效, 因为指定的值没有交集。 (这可能会与同一层次结构中的多个元素一起出现。)

    • 集合至少包含一个其维数与其他成员都不同的成员。

    • 如果在共享连接时, 在数据透视表中引用基于会话的对象 (如计算成员或命名集), 并且数据透视表已被删除或将数据透视表转换为公式, CUBEVALUE 可能会返回 #N/A 错误值。 (在 "选项" 选项卡上的 "工具" 组中, 单击 " OLAP 工具", 然后单击 "转换为公式"。)

问题:Null 值转换为零长度字符串

在 Excel 中,如果某个单元格没有数据(由于您从未更改它或已删除其内容),该单元格将包含一个空值。 在许多数据库系统中,空值被称为 Null 值。 空值或 Null 值的字面意思就是“没有值”。 但是,公式始终不会返回空字符串或 Null 值。 公式通常返回以下三种值中的一种:数值、文本值(可能是零长度字符串)或者错误值(如 #NUM! 或 #VALUE)。

如果公式中包含连接到联机分析处理 (OLAP) 数据库的 CUBEVALUE 函数,并且对此数据库的查询的结果为 Null 值,Excel 会将此 Null 值转换成一个零长度字符串,即使该公式本来将返回一个数值也是如此。 这会造成这样的情况:某个单元格区域中既包含数字又包含零长度字符串值,而这种情况会影响其他引用该单元格区域的公式的结果。 例如,如果 A1 和 A3 包含数值,而 A2 包含带有返回零长度字符串的 CUBEVALUE 函数的公式,则以下公式会返回 #VALUE! 错误:

=A1+A2+A3

为了防止发生这种情况,可以使用 ISTEXT 函数来测试是否存在零长度字符串,并使用 IF 函数将零长度字符串替换成 0(零),如下面的示例所示:

=IF(ISTEXT(A1),0,A1)+IF(ISTEXT(A2),0,A2)+IF(ISTEXT(A3),0,A3)

或者,如果 CUBEVALUE 函数计算结果为零长度字符串,则您还可以在返回 0 值的 IF 条件中嵌套 CUBEVALUE 函数,如下面的示例所示:

=IF (CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]")="", 0, CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]"))

请注意,SUM 函数不需要进行这样的零长度字符串测试,因为它在计算返回值时将自动忽略零长度字符串。

示例

=CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]")

=CUBEVALUE($A$1,"[Measures].[Profit]",D$12,$A23)

=CUBEVALUE("Sales",$B$7,D$12,$A23)

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×