- Advanced Excel Functions Tutorial
- Advanced Excel Functions - Home
- Compatibility Functions
- Advanced Excel Functions - Cube
- Database Functions
- Date & Time Functions
- Engineering Functions
- Financial Functions
- Information Functions
- Advanced Excel Functions - Logical
- Lookup & Reference Functions
- Math & Trignometric Functions
- Statistical Functions
- Useful Resources
- Quick Guide
- Useful Resources
- Discussion
Cube - CUBEVALUE Function
Description
The CUBEVALUE function returns an aggregated value from the cube.
Syntax
CUBEVALUE (connection, [member_expression1], [member_expression2], …)
Arguments
Argument | Description | Required/ Optional |
---|---|---|
connection | The name of the connection to the cube. - A text string | Required |
member_expression | A text string of a multidimensional expression (MDX) that evaluates to a member or tuple within the cube. OR A set defined with the CUBESET function. |
Optional |
Use the Argument member_expression as a slicer to define the portion of the cube for which the aggregated value is returned.
If no measure is specified in member_expression, the default measure for that cube is used.
Notes
When the CUBEVALUE function evaluates, it temporarily displays a "#GETTING_DATA…" message in the cell before all of the data is retrieved.
If a cell reference is used for member_expression, and that cell reference contains a CUBE function, then member_expression uses the MDX expression for the item in the referenced cell, and not the value displayed in that referenced cell.
If the connection name is not a valid workbook connection stored in the workbook, CUBEVALUE returns a #NAME? Error value. If the Online Analytical Processing (OLAP) server is not running, not available, or returns an error message, CUBEVALUE returns a #NAME? Error value.
If at least one element within the tuple is invalid, CUBEVALUE returns a #VALUE! Error value.
CUBEVALUE returns a #N/A error value when
The member_expression syntax is incorrect
The member specified by member_expression doesn't exist in the cube
The tuple is invalid because there is no intersection for the specified values. (This can occur with multiple elements from the same hierarchy).
The set contains at least one member with a different dimension than the other members.
CUBEVALUE may return a #N/A error value if you reference a session-based object, such as a calculated member or named set, in a PivotTable when sharing a connection. The PivotTable is deleted or you convert the PivotTable to formulas. (On the Options tab, in the Tools group, click OLAP Tools, and then clickConvert to Formulas.)
Issue: Null values are converted to zero-length strings
In Excel, if a cell has no data because you never changed it or you deleted the contents, the cell contains an empty value. In many database systems, an empty value is called a Null value. An empty or Null value literally means "No value." However, a formula can never return an empty string or Null value. A formula always returns one of three values −
- A number value
- A text value, which may be a zero-length string
- An error value, such as #NUM! or #VALUE
If a formula contains a CUBEVALUE function connected to an Online Analytical Processing (OLAP) database and a query to this database results in a Null value, Excel converts this Null value to a zero-length string, even if the formula would otherwise return a number value. This can lead to a situation where a range of cells contain a combination of numeric and zero-length string values, and this situation can affect the results of other formulas that reference that range of cells.
For example, if A1 and A3 contain numbers, and A2 contains a formula with a CUBEVALUE function that returns a zero-length string, the following formula would return a #VALUE! Error −
=A1+A2+A3
To prevent this, you can test for a zero-length string by using the ISTEXT function. You can use the IF function to replace the zero-length with a 0 (zero) as follows −
=IF(ISTEXT(A1),0,A1)+IF(ISTEXT(A2),0,A2)+IF(ISTEXT(A3),0,A3)
Alternatively, you can nest the CUBEVALUE function in an IF condition that returns a 0 value if the CUBEVALUE function evaluates to a zero-length string as follows −
=IF (CUBEVALUE ("Sales","[Measures].[Profit]","[Time].[2004]", "[All Product].[Beverages]")="", 0, CUBEVALUE("Sales", "[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]"))
Applicability
Excel 2007, Excel 2010, Excel 2013, Excel 2016