Tableau

Tableauのリレーションシップを理解して過剰結合を防ぐ

リレーションシップとは

Tableau Desktop 2020.2の新機能で、ザックリいうと「これまで1から結合を定義していたものを、Tableauが自動で調整してくれる」という機能です。

ユーザーにとって嬉しいポイントとしては「粒度の異なるデータをくっつけて分析できる」という点で、これにより中間テーブルを定義せずに済み、レコード増加によるパフォーマンスの悪影響を抑えることができます。

リレーションシップ自体は大変便利な機能で、一般的な「結合」の上位互換となるのですが、データ量が膨大になる時には注意しなければなりません。
合言葉は「カーディナリティ(濃度)」です。

カーディナリティ「1対多」「多対多」の使い分け

リレーションシップで「パフォーマンスオプション」を開くと、カーディナリティの項目が現れます。
※デフォルトでは「多対多」で設定されています。

この「多対多」はデータの粒度を細かく扱うことを表しています。
実際にTableau Desktopでの挙動から、カーディナリティが何を指すのか見ていきましょう。

まず、「注文」と「売上目標」という2つのテーブルを[オーダー日]でリレーションを組んでいきます。

オーダー日やカテゴリなどを適当に配置すると、以下のようになります。
各日付ごとの詳細なデータが格納されていることが確認できました。

次に、リレーションを「多対一」にしてみます。

すると、先ほどの表は以下のようになります。

今回は[オーダー日]でリレーションを組んだので、オーダー日の単位でデータが丸められました。
このようにカーディナリティを調整することにより、データの粒度を変更することができるのです。

これはデータ量が多い時にかなりパフォーマンスに“差”が出ます。

また、場合によっては「キーが不十分でデータを過剰に結合してしまう」ということも生じます。

Tableauのリレーションシップは大変便利な機能で、ほとんどのユーザーはこれを気にしなくても良いです(多分
しかし、システムの中核をデザインする立場であれば、このように細部までこだわっていきたいところです。

Tableauや総合研究所に関する質問はお問い合わせからどうぞ。

関連記事

  1. Excel

    コホート分析(Cohort Analysis)って何?〜Tableau/GA/Excel/Sprea…

    はじめにさぁ、ようやく皆さんお待ちかねの「コホート分析」です。…

  2. Tableau

    上位N件セットを使って「その他」を効果的に表現する【Tableau】

    完成図【手順】パラメータを用いて上位N件セットを作る①:パ…

  3. Tableau

    Tableauの「WEB編集」機能について理解する

    はじめにTableau Server/Onlineのみで利用可能な…

  4. Tableau

    動的なリファレンスラインで個別に閾値(しきい値)を設定【Tableau】

    完成形リファレンスラインを動的に設定することのメリットリフ…

  5. Tableau

    Tableauのモデリング関数を理解する

    モデリング関数とはモデリング関数とはDesktop 2020.3で…

  6. Tableau

    Tableauで強調円グラフを作ってみた〜特殊チャート①〜

    はじめにこんにちは!インターン生の與那覇(ヨナハ)です今回は、…

PAGE TOP