Advanced-excel-functions-advanced-excel-cube-cubevalue-function

提供:Dev Guides
移動先:案内検索

キューブ-CUBEVALUE関数

説明

CUBEVALUE関数は、キューブから集計値を返します。

構文

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

引数

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

CUBESET関数で定義されたセット。

Optional
  • 引数のmember_expressionをスライサーとして使用して、集計値が返されるキューブの部分を定義します。
  • member_expressionにメジャーが指定されていない場合、そのキューブのデフォルトのメジャーが使用されます。

ノート

  • CUBEVALUE関数が評価されると、すべてのデータが取得される前に、セルに「#GETTING_DATA…」メッセージが一時的に表示されます。
  • member_expressionにセル参照が使用され、そのセル参照にCUBE関数が含まれている場合、member_expressionは、参照セルに表示される値ではなく、参照セルのアイテムにMDX式を使用します。
  • 接続名がワークブックに保存されている有効なワークブック接続でない場合、CUBEVALUEは#NAME? エラー値。 オンライン分析処理(OLAP)サーバーが実行されていない、利用できない、またはエラーメッセージを返す場合、CUBEVALUEは#NAME?を返します。 エラー値。
  • タプル内の少なくとも1つの要素が無効な場合、CUBEVALUEは#VALUE!を返します。 エラー値。
  • CUBEVALUEは、次の場合に#N/Aエラー値を返します。
  • member_expressionの構文が正しくありません
  • member_expressionで指定されたメンバーがキューブに存在しません
  • 指定された値に共通部分がないため、タプルは無効です。 (これは、同じ階層の複数の要素で発生する可能性があります)。
  • セットには、他のメンバーとは異なる次元を持つ少なくとも1つのメンバーが含まれます。
  • 接続を共有するときにピボットテーブルで計算メンバーや名前付きセットなどのセッションベースのオブジェクトを参照すると、CUBEVALUEは#N/Aエラー値を返す場合があります。 ピボットテーブルが削除されるか、ピボットテーブルを数式に変換します。 ([オプション]タブの[ツール]グループで、[OLAPツール]をクリックし、[式に変換]をクリックします。)

問題:null値は長さゼロの文字列に変換されます

  • Excelでは、セルを変更したことがないか、コンテンツを削除したためにセルにデータがない場合、セルには空の値が含まれます。 多くのデータベースシステムでは、空の値は Null 値と呼ばれます。 *空*または*ヌル*値は、文字通り「値なし」を意味します。ただし、式が空の文字列またはNull値を返すことはありません。 式は常に3つの値のいずれかを返します-
  • 数値
  • 長さがゼロの文字列の可能性があるテキスト値
  • #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]"))

適用範囲

Excel 2007、Excel 2010、Excel 2013、Excel 2016

CUBEVALUE関数