ナレッジベース

キューブ データ ソースを持つディメンションを使って計算フィールドを作成する


発行: 17 May 2013
最終修正日: 07 Jun 2023

ご質問

多次元 (キューブ) データ ソースからディメンションを使用して計算フィールドを作成する方法。

環境

  • Tableau Desktop
  • 多次元 (キューブ) データ ソース

回答

オプション 1: 表関数の使用

キューブ データ ソースの Tableau 計算フィールドではディメンションを直接参照することはできませんが、表計算ではビューのディメンション メンバーを参照できます。たとえば、INDEX() を使用して、ビューのディメンション値の列/行を参照できます。または、WINDOW_SUM(SUM(1)) を使用して、ビューのディメンション メンバーをカウントできます。

注: この方法では、計算で間接的に参照されるすべてのディメンションをビューに含める必要がありますが、ビューをさらに変更してこれらのディメンションを非表示にすることができます。「ビューに存在しないディメンションによる表計算の実行」を参照してください。

次の手順は、2019 年売上の列、2018 年売上の列、およびこれら 2 年間の差の割合の列を含むクロス集計ビューを作成する方法を示しています。これらの操作手順を確認するには (また、この方法が機能する理由に関する詳細を参照するには)、この記事の右側のペインからワークブックをダウンロードしてください。
  1. "Order Date (発注日)" を [列] シェルフまでドラッグします。
  2. [列] シェルフの [YEAR(Order Date) (年 (注文日))] を右クリックし、[並べ替え…] を選択します。
  3. [並べ替え] ダイアログで、次の手順を実行してからダイアログを閉じます。
    1. [並べ替え順] で [手動] を選択します。
    2. 2016 を一番下に移動します。
  4. ビューで 2017 ヘッダーを右クリックして、[除外] を選択します。
  5. [分析] > [計算フィールドの作成] を選択します。
  6. 開いた [計算フィールド] ダイアログ ボックスで次の操作を行い、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算フィールドに「Index (インデックス)」という名前が付けられています。
    2. 式フィールドで、次のような計算を作成します。

      INDEX()
  7. [Index (インデックス)] を [マーク] カードの [テキスト] にドラッグします。
  8. 「2018 Sales (cube) (2018 年の売上 (キューブ))」などの名前を付けて、次のような計算の計算フィールドを作成します。

    IF INDEX() = 1
    THEN SUM([Sales])
    END

     
  9. 「2019 Sales (cube) (2019 年の売上 (キューブ))」などの名前を付けて、次のような計算の計算フィールドを作成します。

    IF INDEX() = 2
    THEN SUM([Sales])
    END

     
  10. 「% Difference (cube) (% 相違 (キューブ))」などの名前を付けて、次のような計算の計算フィールドを作成します。

    IF INDEX() = 3
    THEN
    (WINDOW_SUM([2018 Sales (cube)])-WINDOW_SUM([2019 Sales (cube)]))
    /
    WINDOW_SUM([2018 Sales (cube)])
    END

     
  11. 「Headers (ヘッダー)」などの名前を付けて、次のような計算の計算フィールドを作成します。

    IF INDEX() = 2
    THEN '2019 Sales'

    ELSEIF INDEX() = 1
    THEN '2018 Sales'

    ELSEIF INDEX() = 3
    THEN '% Diff'

    END

     
  12. [Headers (ヘッダー)] を [列] シェルフまでドラッグします。
  13. [列] シェルフの [YEAR(Order Date) (年 (注文日))] を右クリックし、[ヘッダーの表示] をオフにします。
  14. ビューで [注文日]/[ヘッダー] を右クリックし、[列のフィールド ラベルの非表示] を選択します。
  15. [2018 Sales (cube) (2018 売上 (キューブ))]、[2019 Sales (cube) (2019 売上 (キューブ))]、[% Difference (cube) (% 相違 (キューブ))] を、[マーク] カードの [テキスト] にドラッグします。
  16. [マーク] カードの [テキスト] をクリックしてから、[…] ボタンをクリックします。
  17. [ラベルの編集] ダイアログで、[AGG(2018 Sales (cube))]、[AGG(2019 Sales (cube))]、[AGG(% Difference (cube))] 間の改行を削除します。
 

オプション 2: 計算されたメンバーの使用

回避策として、代わりに計算されたメンバーを作成します。詳細については、「計算されたメンバーの作成方法」を参照してください。

詳細情報

キューブ データ ソースでは、データを Tableau Desktop にインポートする前に、指定したディメンションのメジャー バリューが事前に集計されます。そのため、計算でディメンションを使用すると、不正確な結果が作成される可能性があります。

今後の製品リリースで、この拡張機能を含めることを支持する場合は、次のコミュニティ アイデアに投票してください。

この記事についてディスカッションする... フィードバック フォーラム
この記事で問題は解決しましたか?