2
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.

Azureデータ分析入門 #2 【ツール比較 Excel編】

Last updated at Posted at 2019-09-11

はじめに

前回紹介した内容に沿った簡易集計と可視化を、Excelで行います。

連載目次

Azureデータ分析入門 #1 【はじめに】
Azureデータ分析入門 #2 【ツール比較 Excel編】 → 本記事はこちら
Azureデータ分析入門 #3 【ツール比較 Azure Notebook編】
Azureデータ分析入門 #4 【ツール比較 Databricks編】
Azureデータ分析入門 #5 【Databricks → Power BI Desktop】
Azureデータ分析入門 #6 【CSVデータ → Power BI サービス】
Azureデータ分析入門 #7 【AutoML でタイタニック号の生存者予測】

流れ

3つのCSVデータを組み合わせて、中間テーブルを作成します。

06.jpeg

青色は、 各々のレコードに対して feight / (price + freight)で算出した、単価と送料の合計に占める送料の割合。オレンジは、キーとなる値を紐づけて取得した英語のカテゴリ名
この中間テーブルを参照元にして、pivotテーブルpivotグラフを作成します。
excel_csv_to_pivot.jpg

手順

テーブルを跨いでしまうと後続の処理が遅くなってしまうので、まずは一つのファイルにCSVデータをまとめます。左から売上テーブル、製品テーブル、翻訳テーブルを配置。
excel_01.jpg

注文テーブルの最右列に、送料の占める割合を計算する数式を入れます。一つのセルに数式を入れ、行末までコピペします。
excel_1.gif

同じく注文テーブルで、product_idをキーにして、製品カテゴリ(ポルトガル語)データを引っ張ってきます。皆さんおなじみvlookupです。
excel_2.gif

次は製品カテゴリ(ポルトガル語)をキーにして、製品カテゴリ(英語)を引っ張ってきます。
excel_3.gif

これでひとまず使おうと思っている情報は一つのテーブルに集約できました。売上ボリュームの大きいカテゴリを出すために、注文テーブルのセル範囲を選択して、pivotグラフ、pivotテーブルを作成します。
excel_4.gif

グラフの要素を選びます。フィールドリストの値に単価、行にカテゴリを持っていき、テーブルを単価の合計が大きい順にソートします。
excel_5.gif

この作業で得られた売り上げのトップ10カテゴリがこちら。
result_target_categories.png

次に、トップ10の中から要件に合う3つのカテゴリを選定するために、別のPivotを作成します。Pivotの参照セルは先ほどと同じ。フィールドリストの値に単価送料に占める割合を入れ、行にカテゴリを入れ、集計データの平均値を算出するように設定を変更します。
excel_6.gif

先ほど出した売上トップ10のカテゴリが表示されるよう、行ラベルをフィルタリングします。(gifファイルは例として1カテゴリだけフィルタリング)
excel_7.gif

単価を棒グラフで、送料に占める割合を折れ線グラフに変更し、行ラベルなどのグラフ要素を配置します。
excel_8.gif

その結果。
result_target_categories (graph).png

このグラフから、

  • ある程度売上ボリュームがある (トップ10以内)
  • 比較的単価が高い
  • 配送料の割合が低い

の要件を満たすカテゴリを3つ選定するとすれば、

  • watched_gifts
  • cool_stuff (DVDなどらしいです。なぜにcool_stuffなのか...)
  • health_beauty

あたりでしょうか?なんとなくそれっぽい結果が出ました。
それではこの類の簡易分析・可視化をする場合のExcelの長所短所をまとめてみます。

pros

  • 習得コストが低い
  • 参照できるドキュメントが多い
  • データ量が少ない場合にはさくっと可視化できる

cons

  • 運用コストが高い

    • 元データに対する変更 (列の挿入や行の追加) に弱い
    • 再現性を高めるために必要なコストが高い
    • 慣れてる人ほどこれに気が付かない
  • ビジネスロジックが埋もれやすい

    • 数式が入れ子になっていて、結局この列で何を計算してるのか、不明瞭になりやすい
    • 他人が見たら意味不明なシートが出来上がることがある
  • not スケーラブル

    • 処理の可否がローカルマシンのスペックに依存する
    • 回避する方法はあるものの、それはそれで結構習得コストが高い
    • 最大で 約100万行 x 1.6万列 をサポートしているが、今回のような用途ではまず使用不可

まとめ

Excelはお手軽で良いのですが、複数テーブルを結合したりといった分析には不向きですね。分析結果を共有したりするのも苦手です。次回はAzure Notebookでやってみます。お楽しみに!

参考サイト

Kaggle.com
Brazilian E-Commerce Public Dataset by Olist

2
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
2
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?