相談・お問い合わせ
3 分で読むことができます。

【Tableau Prep】マスタが無くてもデータを最新名称に統一する方法

執筆者 okkun 更新日時 2024年12月27日

目次

はじめに

 こんにちは、okkunです。

 今回は表題の通り、マスタが無くとも最新の名称を元のデータ(トランザクションデータ)に反映する方法について紹介します。イメージとしては、以下の画像のことをTableau Prepで行っていきます。

はじめに

 

準備

 マスタを作成する前に、データにNULLが含まれていないか確認してください。NULL値を「なし」などと置換しないと、NULL項目の顧客コード・顧客名が欠落してしまいます。方法は以下を参照してください。

 ①データをTableau Prepに取り込みます。

 ②クリーニングステップを作成し、[計算フィールドの作成] から以下の数式2つを記載します。

顧客コード
IF LEN([顧客コード])>0 THEN [顧客コード] ELSE "F999999" END
顧客名
IF LEN([顧客名])>0 THEN [顧客名] ELSE "なし" END

1-1NULL置換-1

 

マスタの作成

 ①集計ステップを作成します。

 ②「日付」、「顧客コード」、「顧客名」を「グループ化したフィールド」へドラッグ&ドロップで移動します。

2-1マスタ集計-1

 ③クリーニングステップを作成し、[計算フィールドの作成] から以下の数式を記載します。

最新_顧客コードFlag
IF ({PARTITION [顧客コード]: {ORDERBY [日付] DESC: ROW_NUMBER() } } = 1) THEN 1 ELSE 0 END

※上記数式では、2024/8、2024/7、2024/6において同じ顧客コードが存在する場合は、2024/8の顧客コードに1、2024/7と2024/6の顧客コードに0を付与しています。

 ④「最新_顧客コードFlag」の1を保持します。(棒グラフをクリックすると青色にハイライトされるので、そのまま [保持] を押下してください。)

 ⑤判別しやすいように、フィールド名を「顧客コード」 → 「マスタ_顧客コード」 、「顧客名」 → マスタ_顧客名」 に変更します。

2-2保持-2

 ⑥集計ステップを作成し、マスタに必要な「マスタ_顧客コード」と「マスタ_顧客名」のみを抽出します。処理が上手くできていれば、顧客コードの数と顧客名の数が一致しているはずです。

2-3マスタ生成-1

 

最新項目の反映

 さて…。マスタを作成して終わり、というわけにはいきません。トランザクションデータには古い顧客名が残っているので、分析するにはこれをどうにかしないといけません。というわけで、このステップでは、トランザクションデータの顧客名をマスタの顧客名に差し替える方法を書いていきます。

 ①同じフロー図上で、再度トランザクションデータをフローペインにドラッグ&ドロップします。

3-1マスタ生成

 ②先ほど作成した「顧客マスタ」をトランザクションデータへドラッグし、「結合」がハイライトされたらドロップします。

3-2結合-2 

 ④結合句と結合タイプを、以下の手順で変更します。

 ⅰ)結合句: [追加] から、「顧客コード」=「マスタ_顧客コード」に設定します。
 ⅱ)結合タイプ:ベン図内を押下し、左結合にします。

3-3左結合

 ⑤クリーニングステップを作成し、 [計算フィールドの作成] から以下の数式を記載してマスタの顧客名を反映します。

最新_顧客名
IF [顧客コード]=[マスタ_顧客コード] THEN [マスタ_顧客名] END

3-4差し替え

 ⑥「顧客名」、「マスタ_顧客名」、「顧客コード」の3フィールドを削除します。※検索ボックスを使うと便利です。

3-5削除

 ⑦フィールド名を「最新_顧客名」 → 「顧客名」「マスタ_顧客コード」 → 「顧客コード」に変更します。

 ⑧出力ステップを作成し、編集したデータを出力します。これで、トランザクションの旧顧客名を最新の顧客名に差し替えたデータを作成することができました。

3-6出力

 

おわりに

 過去と現在で顧客名などの名称が変更されてしまうと、本来は同じデータのはずなのに異なるデータとして処理されてしまうことがあります。(私も過去にこのような問題に直面したことがありました。)

 今回のテクニックを使えば、最新のデータを反映したマスタが無くとも新旧名称を統一することができますので、同様の課題を抱えている方のお役に立てれば幸いです。

 

データ利活用のプロに相談してみませんか?

INSIGHT LABでは、Tableauだけではなく、他BI製品含めたご相談を承っております。導入済みのお客様からのご相談も多く頂いております。お気軽に以下よりご相談ください。

相談・お問い合わせ

okkun

執筆者 okkun

青森県出身。2023年新卒入社。未経験でIT業界に飛び込み、現在はBIエンジニアとして働く。

1 分で読むことができます。

Tableauの日付関数入門【DATEDIFF】

1 分で読むことができます。

【Tableau】日付関数入門【DATEADDで日付を可算】

2 分で読むことができます。

【Tableau】カスタムSQLの使用方法

1 分で読むことができます。

Tableauでダッシュボードを作成してみよう!

1 分で読むことができます。

ゼロからわかるBIツールTableau(タブロー)使い方 入門講座の目次