Tableau Prepで「フィールドのマージ」機能がよくわからない、、、という人は多いと思う。
私自身Tableauを実務で使い始めた時でも
「Prepのマージってなんとなくわかるけど、実務で使うときは不安だな、、、」
と思っていた1人なので、その気持ちは本当によくわかる。
私の経験上、マージ機能に関しては集中的に試してどのような動きをするのかを深く把握するのがマスターする近道だ。
今回は下記疑問を解消しながらPrepのマージ機能を解説していきたい。
- フィールドのマージとはどんな機能か?
- フィールドのマージの使い方
- 異なる値が入っていた場合はどうなるか?
※使用するTableau Prepは現時点で最新の2021.4を使用しているので、ご使用されているPrepのバージョンが違う場合はご注意いただきたい。
Contents
フィールドのマージ機能とは?
Tableau Prepの「フィールドのマージ」とは名前が異なる同じ値を含む複数のフィールドを統合してしまう機能のことだ。
マージ(merge)は日本語で「統合する、併合する」という意味だから、「異なるフィールドを1つにまとめてしまう機能なんだな」ということはなんとなくわかると思う。
例えば、下記のような会員IDと名前がそれぞれ2列ずつあるデータを「フィールドのマージ」を利用してそれぞれ1つずつにまとめたいとする。
Prepでこのデータを接続すると下記のように表示される。データがないセルはNULLが表示されているのがお分かりいただけると思う。
この会員番号と名前をそれぞれフィールドのマージ機能を使用すると下記のように1つずつにフィールドがまとめられる
これがTableau Prepのフィールドのマージ機能だ。
上記例では2つのフィールドをマージしているが、3つ以上のフィールドを同時にマージすることも可能である。
フィールドのマージのやり方
フィールドのマージのやり方としては下記3つの方法がある
- ドラッグ&ドロップでのマージ
- ツールバーの「フィールドのマージ」をクリックしてマージ
- コンテキストメニューの「マージ」をクリックしてマージ
どれも「複数のフィールドを1つにまとめる」という機能は全く同じではあるがやり方3つあるということだ。1つずつ見ていこう。
1.ドラッグ&ドロップでのマージ
1つ目のやり方としてはドラック&ドロップでマージする方法だ。
まずクリーニングステップをクリックして、プロファイルペインでデータが表示されている状態にする。
このプロファイルペインでの表示の状態で、「マージしたい片方のフィールドをドラッグ→もう一方のフィールドにドロップ」すれば、簡単に2つのフィールドをマージすることが出来る。
下の動画では「会員ID-1」のフィールドをドラッグして「会員ID」にドロップすることで「会員ID」と「会員ID-1」の2つのフィールドをマージしている。
ドラックしながらマージしたいフィールドの上に移動させた時に「ドロップしてフィールドをマージ」と表示されてからドロップするのがポイントだ。
※それが表示されないとただ列の順序を入れ替える作業になってしまうので要注意。
非常に簡単に2つのフィールドをマージできることがお分かりいただけると思う。
ちなみに2つのフィールドに異なる値があった場合はドラッグ&ドロップをしない側(今回だと「会員ID」)が優先される。
マージされた後のフィールド名(「会員ID」と「会員ID-1」をマージした後のフィールド名が会員IDとなっているように)もデータが優先されたフィールド名になるので、これでも判別できると思う。
これがドラック&ドロップでのフィールドのマージだ。
個人的にどのフィールドを優先するかが明確でわかりやすいので、このやり方を私は使っている。
2.ツールバーの「フィールドのマージ」をクリックしてマージ
2つ目のやり方はツールバーの「フィールドのマージ」を使用する方法だ。
マージしたい複数のフィールドを選択した状態でツールバーの「フィールドのマージ」をクリックすれば、マージを行うことが出来る。
まずTableau Prepにおいて「ツールバーはどこなのか?」を下図で確認しておこう。
クリーニングステップにおけるツールバーには「値のフィルター」など様々なボタンが表示されるが、複数のフィールドを選択する前だと「フィールドのマージ」ボタンは表示されていない。
「フィールドのマージ」のボタンがツールバーに表示されるのは複数のフィールドを選択した際だ。
上記のようにツールバーに「フィールドのマージ」ボタンが表示されたら、それをクリックすれば一瞬で選択した複数フィールドがマージされる。
これがツールバーの「フィールドのマージ」をクリックして複数のフィールドをマージする方法だ。
3.コンテキストメニューの「マージ」をクリックしてマージ
そして、3つ目のやり方がコンテキストメニューの「マージ」をクリックする方法だ。
ツールバーの「フィールドのマージ」と複数のフィールドを選択するまでは同じだが、ツールバーを使用せずに右クリックしてコンテキストメニューからマージを行う点で違いがある。
下記のようにマージしたい複数のフィールドを選択した状態で右クリック→表示されたコンテキストメニューで「マージ」をクリックすればマージ完了だ。
これが3つめのコンテキストメニューを使用したマージの方法だ。
異なる値が入っていた場合はどうなるか?
先ほどから少し触れているが、マージをする際に重要なのが、「異なるデータが入っていた場合どちらを優先するか?」ということだ。
「間違ってデータを上書きしてしまったらやばい、、、」
と不安になり、なかなかマージの機能を使う勇気が出ない(私がまさにこれだった(笑))、ということも多いかもしれないので、ここは明確に理解しておく必要がある。
Prepでフィールドをマージする場合、マージの仕方でどちらのデータを優先するかを決められる。
例えば、下記のような「名前」フィールドと「名前-1」フィールドをマージする際の例を挙げよう。
この場合に名前フィールドを優先してマージすると下記のような結果となる。
NULLだった部分だけ「名前-1」フィールドのデータに置き換えられるが、元々「名前」フィールドにデータがあった部分は上書きされていないのがお分かりいただけると思う。
一方で間違って「名前-1」を優先してフィールドをマージしてしまうと下記のような結果になる。
このように優先するフィールドによってマージした結果が変わってくる。
もしマージしたいフィールドに異なるデータが入っている可能性があるなら、どのフィールドのデータを優先するかはしっかり整理した方がいい。
先ほどご紹介した3つの方法のうち、ドラッグ&ドロップの方法がマージする際にどのフィールドを優先するかを把握しやすいのでおすすめだ。
※他の2つの方法はたまに挙動がおかしいと感じる時があるので異なるデータが入っている場合は使用しないほうがいいかもしれない。
復習になるが、ドラッグ&ドロップの場合はデータを優先したいフィールドにマージしたいフィールドをドラッグ&ドロップするのでお忘れなく。
※プロファイルペインで行う必要があることも忘れやすいので要注意。
参考までに「名前」フィールドを優先したマージ方法の動画を載せておきたいと思う↓
まとめ
だいぶ長くなってしまったが、今回はTableau Prepのフィールドのマージ機能をご紹介した。
Tableau Prepはデータの加工の履歴やフローがぱっと見で見やすく、めちゃくちゃ便利なのでCreatorライセンスをお持ちの方はぜひ使ってみてほしい。
これからPrepの各機能についての記事も追加していくつもりなので、ぜひ参考にしていただければ嬉しい。