エクスチュア株式会社ブログホームエクスチュア株式会社コーポレートサイトお問い合わせエクスチュア総合研究所ブログへのリクエストエクスチュア株式会社ブログマーケティングテクノロジーの情報やノウハウ・TIPS、エクスチュア社の情報を発信。【ブログネタ募集】ご興味のある分野を教えてください!ご要望の内容を記事に起こします!メニューの「ブログへの」リクエストよりお送りください。TableauSoftware」の情報を基に作成しています。実際のリリースまでに多少の変更などはあることが予想される点、予めご了承ください。こんにちは、エクスチュアの渡部です。今年のTableauConference2019の発表の目玉の一つ、「新データモデリング」について紹介します。データモデリングの発表はこちらをご覧ください。新データモデリングとは、来年度のTableauで実装予定の新しいデータモデル(≒データソース画面での設定方法)です。対応バージョンになると、おそらくデータソースの作成画面が急にこんな感じに変化します。従来は、物理テーブルを配置→複数配置する場合は結合を定義していました。一方で新データモデリングでは、論理テーブルを配置→複数配置する場合は「リレーション」を定義する形になります。ここで重要なのは「リレーションを定義したからといって実際の結合はここでは行われない」ということです。「???」って感じですね。新データモデリングは既存機能の変更や置き換えではなく「機能の追加」です。過去の数字が急にバグることもないし、見て見ぬ振りして従来の結合やユニオンやブレンドで貫き通すことも可能です。新しいデータモデリングは本当に画期的な機能ですので、みなさんも必要な場面では積極的に使用されることを推奨します。今回はそんな新データモデリングの魅力の解説が行えればと思います。繰り返しますが、新データモデリングになっても、従来の結合やブレンド、ユニオン、カスタムSQLなどは全て使えます。見慣れた下のような画面に遷移することも可能です。新データモデリングの効果が使えるのは、下図の様にリレーションを結んだ場合です。リレーションで何が出来るようになったのでしょうか。従来の結合とは何が違うのでしょうか。答えはリレーションは「集計結合を使う」という点です。従来の結合を使った時のように「結合してから集計する」処理を行うのではなく「集計してから結合する」処理を行います。以下のデータで「サイトごとの目標達成率(売上÷目標)」を見たいときどうしますか?<従来の結合を使う場合>まずは従来の結合を使う場合で考えます。以下のように「結合してから集計」で結果を出すと思います。目標達成率の計算フィールドを見てください。分母である「目標」列の集計方法が少し複雑ですね。「サイトごとの目標の合計」が出したい数字なのに、なぜMAXとかFIXEDとかが出てくるのでしょうか。その理由は、最初の結合の結果、「目標」列の値が繰り返されてしまったからです。そのため「この状況を踏まえて集計関数を組まざるをえない」状況です。そこで、「最大値で使う」「FIXEDで繰り返しを排除する」などの方向になり、計算が複雑になっている訳です。これ、頭を悩ます方も少なくないのではないでしょうか。結合により生じた繰り返しに気づかず「合計したら値が倍になっていました・・・」みたいなことは、TableauだけでなくSQLや他BIでもよく起こる「集計ミスあるある」の一つです。ところがそんな「集計ミスあるある」をTableauは放置しませんでした。今回Tableauが新データモデリングで可能にした「集計結合」は、そんな悩みを解放する仕組みです。<集計結合の場合>「結合の値の繰り返しによって集計が複雑になるのなら、値の繰り返しが起こる前に集計してしまおう」というのが「集計結合」のアプローチです。集計結合では、各ソースを元テーブルの状態の時点で集計してから結合するため、「結合前のテーブルの状態に対する集計方法を選べば良い」のです。今回でいうと、結合前のテーブルの状態はこれです。この状態でサイトごとの売上と目標の合計を出せば良いわけです。さっきと比べるとはるかにシンプルですね。集計後の結合はリレーションで定義されたキーを使ってTableauが行います。