5 Minites Analysis:アイオワ州の酒類販売データを前処理してTableauで視覚化

 

概要

今回の5 Minites Analysisでは、public sales data for liquor stores in Iowa(アイオワ州のリカーショップにおける一般販売データ)を前処理し、緯度と経度を割り出してマッピングします。

販売額が最も多い都市のデータをフィルタリングし、BIツール「Tableau」に簡単にロードできるように準備します。抽出した位置データを用いて、Tableau の地図上に、選択した都市の販売額を視覚的に表示します。

手順

1. ETLを実行してロードする

この例では、データをロードする前に、データ列の1つに対してETL(抽出、変換、ロード)を実行する必要があります。ターゲットとしているデータ列はStoreLocation列で、店舗の住所、および緯度と経度の座標データが含まれています。

例: 1414 48TH ST FORT MADISON 52627 (40.624226, -91.373211)

緯度と経度のデータのみを抽出し、抽出したデータを使用して2つの新しい列を作成します。その手順は以下の通りです。

  1. データファイルをPivotBillionsにドラッグ&ドロップし、そのファイルを選択して、[Column Preview]をクリックします。
  2. ウインドーの左下にある[+]アイコンをクリックして新しい列を追加します。
  3. データタイプセレクターの左側にある[Edit Mode]アイコンをクリックして、Advanced ETLモードに切り替えます。
  4. Column Nameボックスに緯度を入力します。
  5. -eval s:latitude '""' -eval - 'RxMap(StoreLocation,"^.*(\(.*\),\(.*\)).*$",latitude,"%%1%%")'」をEss Syntaxボックスに入力します。

    このEss Syntaxとは、PivotBillionsが使用するシンプルなスクリプトで、データの前処理を可能にします。スクリプトを開始するeval関数は、新しい変数である緯度を他の場所のコンテンツと置き換えていることを示しています。このケースでは、StoreLocationの括弧内の情報からコンテンツを取得しています。

  6. [+]アイコンを再度クリックして、2番目の新しい列を作成します。
  7. 新しい編集ボックスの左側にある[Edit Mode]アイコンをクリックして、Advanced ETLモードに切り替えます。
  8. Column Nameボックスに経度を入力します。
  9. -eval s:longitude '""' -eval - 'RxMap(StoreLocation,"^.*(\(.*\),\(.*\)).*$",longitude,"%%2%%")'」をEss Syntaxボックスに入力します。
  10. [Check]をクリックして、正しく出力されていることを確認します。
  11. スクリーン上部の[Import ]をクリックします。


注:
これは1200万行を超える3.22Gバイトの非常に大きなファイルです。システムに少なくとも16Gバイトのメモリを搭載し、Dockerのコンテナに少なくとも7.5Gバイトを割り当てることを推奨します。

2.データを閲覧して調べる
これで、1259万1077行にわたるアイオワ州リカー販売データの全てにアクセスできるようになりました。これには、新しく作成した緯度と経度の情報と共に、元データも簡単な表形式で含まれています。

City列の棒グラフアイコンをクリックして、都市別販売額のグラフを表示しました。予想通り、アイオワ州で最も人口が多い州都デモイン(Des Moines)は、州内の他のどの都市よりも販売額が多くなっています。

さて、今回の分析では、全データをフィルタリングしてデモイン市のデータのみを抽出しておきます。

  1. City列のフィルターアイコンをクリックします。
  2. ドロップダウンメニューから「Equals」を選択し、「Des Moines」と入力して[Enter]キーを押します。これで州都デモインのデータのみにフィルタリングされます。

ほとんどのデータはTableauや他のBIツールでそのまま利用できますが、TableauはStoreLocation列のデータを読み取ることができません。従って、この列を除いたデータをダウンロードしていくことにします。

  1. 右上のアイコンをクリックしてください。
  2. StoreLocationの横のチェックボックスをオフにして、選択したデータからStoreLocation列を削除します。
  3. 右上のアイコンをクリックしてください。
  4. ファイル名に「DesMoinesSales」と入力し、[Selected Columns]をクリックします。
  5. ファイルをダウンロードする準備ができたら、下の動画で説明しているようにスクリーン下部のダウンロードボタンをクリックします。

3. Tableauにデータをインポートしてグラフ化する

これで、データをTableauに速やかにインポートし、その優れたビジュアル機能を用いて州都デモインにおけるロケーション別酒類販売データのグラフを表示することができます。

  1. PivotBillionsからダウンロードした「DesMoinesSales.csv.zip」ファイルを解凍します。
  2. Tableauを開き、Connectの下の「Text」をクリックします。
  3. 「DesMoinesSales.csv」ファイルのあるフォルダーに移動してそれを開きます。
  4. 次に、「Sheet1」をクリックします。
  5. Measuresの下の「Latitude」(緯度)を右クリックし、「Convert to Discrete」「Convert to Dimension」の順に選択します。
  6. Longitude(経度)についてもこれを繰り返します。
  7. 下の動画のように、Longitude(経度)をColumns(列)にドラッグし、Latitude(緯度)をRows(行)にドラッグします。
  8. Sale Dollars(販売額)をSizeにドラッグし、他にも表示したいものがあればそれらをドラッグします。

 

まとめ

シンボルマップをプロットすることで、アイオワ州のデモイン市における販売額は市内中心部付近で最も多いことが明らかになりました。一方で、デモイン市内には販売額の大きい場所がたくさんあることもわかりました。これで、Tableauにデータをインポートして視覚化することが可能になりました。また、PivotBillionsから都市フィルタを外して前処理済みのデータをTableauに読み込むことも、フィルタを変更して別の種類のデータを選択することも可能になりました。

このビジュアル機能の閲覧や操作、あるいはTableauへのワークブックのダウンロードについては、Tableau PublicのIowa Liquor Sales Workbookを参照してください。