5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

グレンジAdvent Calendar 2017

Day 23

Tableau使ったサーバー分割テーブルの疑似的ユニオン方法

Last updated at Posted at 2017-12-22

グレンジ Advent Calendar 2017 23日目の記事を担当しましたkitaji_ngzkと申します。
グレンジでデータマイニングをしており、主にサーバーサイドについて勉強中です。

さて、世の中はクリスマスムードですね。クリスマス・イブ前日ということでtableauの初心者向けの記事を投稿します。

背景

調査対象のテーブル(ベースのテーブルとなるもの)に対して、
紐づくなにかしらのIDの特徴を交えて分析したい時、かつ、そのIDの別情報が格納されているテーブルがいくつかに分割され、さらにサーバーも分割されている場合、
SQLで各テーブルをそれぞれジョインやユニオンすることができない。
tableauでもサーバーがまたがれているとジョインはできるもののユニオンすることはできない。
ただし、ジョインを用いて擬似的なユニオンを作り出すことは可能。

前提

背景にある通り、ジョイン先となるベースのテーブル(分割されたテーブル全てに共通する因子がある元テーブル)が必要になる。なにかしらのベースとなるテーブルが必要。ただ単に分割しているテーブルをユニオンするだけの作業はできない。

やり方

tableau_union.PNG

①図のように、使用するサーバーを全部追加
②それぞれをベースのテーブルにLEFT OUTER JOIN
③以下の計算式を新たなカラムとして入れ込む
new_culc.PNG

いわゆる全部ジョインさせた後に、もし一つ目のジョインテーブルのレコードがnullだった場合、2つ目のジョインテーブルのレコードを見にいく
といったような計算式にし、擬似的なユニオンをさせて分析することができる

注意点

・意図あって分割されてるものを強制的につなげてるので、かなり重くなったりする。(のでやりすぎ注意)
・処理がかなり重くなった場合は、前もって必要なカラムだけを抽出してからジョインしたり、ライブ分析ではなく、抽出分析で対応したりすれば軽量化できる

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?