2020/12/24

データ操作

横方向へのデータ結合

このコンテンツでは、データテーブルに対して、横方向にデータを結合する方法について説明していきます。なお、本コンテンツで利用したバージョンはSpotfire 10.10です。ご利用環境によって、一部画面構成が異なりますので、ご了承ください。

横方向への結合とは

必要なデータが1つのテーブルに全て含まれていることは稀です。一般的に、データベースは、そのデータの種類ごとにテーブルを分けて管理します。
一方で、データ分析の際には、1つのテーブルで全データがまとまっている方が扱いやすいでしょう。そのため、「データ前処理」の工程で1つのテーブルへと結合した上で分析するのが一般的です。

例えばID付きPOSデータの分析を例に考えた場合、分析時には販売データに対して、次のようなデータを横方向に結合するケースがあります。

  • 販売データ(日時、商品、アイテム、点数、金額、顧客ID、店舗ID)
  • 顧客マスターデータ(顧客ID、性別、年齢、住所)
  • 店舗マスターデータ(店舗ID、店舗名)

上記の場合は、顧客IDや店舗IDをキーとして、POSデータに左外部結合して1つのテーブルを生成します。これにより、Spotfire上でも様々な顧客属性や店舗毎の傾向を加えて、データからインサイトを発掘できます。

サンプルデータ

今回は、販売データと店舗マスターデータのサンプルを利用して、店舗IDをキーとして横方向にデータを結合(左外部結合)します。こちらからダウンロードしてください。

販売データのインポート

データの事前準備として、販売データをSpotfireに取り込みます。画面左上の⊕ボタンをクリックし、「ローカルファイルを参照」を選択し、販売データ.csvを選択してください。

次のデータテーブルがインポートできます。

カラムの挿入

店舗マスターデータのインポート

次に店舗マスターデータをインポートし、販売データの横方向に結合します。先程と同様に、⊕ボタンより「ローカルファイルを参照」をクリックし、店舗マスター.csvを選択してください。次のダイアログが表示されるので、OKをクリックします。

「データ分析に追加」という画面が表示されます。ここの設定で、新規にデータテーブルを作るのではなく、既存のデータテーブルに結合することができます。

まず、インポート予定ファイル名の右にある展開ボタンをクリックしてください。ファイル名の画面下に、新たな選択ボタンが表示されます。

デフォルトで表示されている「新しいデータテーブルの追加」をクリックします。ここでは、データをSpotfireにどのような形式で追加するかを選択できます。

  • 「新しいデータテーブルの追加」… 新規のデータテーブルとして作成します。
  • 「ローとしての追加先」……… 既存のデータテーブルの縦方向にデータを結合します。
  • 「カラムとしての追加先」…… 既存のデータテーブルの横方向にデータを結合します。

今回は、「カラムとしての追加先」を選択します。

カラムの追加先データテーブルを選択する必要がありますので、今回の例では「販売データ」が選択されていることを確認します。

さらに結合キーを指定する必要があるため、画面右側の歯車ボタンをクリックしてください。

「カラムの追加」ダイアログが表示されます。ここでは結合キーや新規データから取り込みたいカラム、結合方式の設定ができます。画面左側では設定を行い、画面中央から右側にかけては、結合結果のプレビューを行うことができます。

カラムの対応付け

画面左上部にある「カラムの対応付け」の項目では、2つのテーブルの結合キー(カラム)を指定します。既にデフォルトで次の設定になっています。

  • 元のデータから:店舗ID
  • 新規データから:店舗ID

これはSpotfireの推論機能で、2つのデータテーブルに同じ名称のカラムが存在する場合には、これらを結合キーとして類推してくれるためです。
もし違う場合や、他の結合キーも設定したい場合には、「+対応の追加」をクリックすることで結合キーを設定できます。

結合設定

画面左下部にある「結合設定」をクリックしてください。ここでは、データ同士の結合方式を選択できます。今回は、「左外部結合」が選択されていることを確認し、OKをクリックしてください。

「データ分析に追加」画面に戻りますので、OKをクリックすると設定が完了します。

最後に、データが横方向に追加されているかを確認しましょう。Spotfire上で「販売データ」のデータテーブルを表示してください。「店舗名」というカラムが追加されていることがわかります。これで設定は完了です。

【データ操作】最新の記事

【データ操作】記事一覧に戻る
全記事一覧に戻る