Tableau free training (Creator) をやってみた① Getting Started
こんにちは、三連休最終日はコーヒーを飲みまくっております、Mayです笑
本投稿では、Tableau free trainingを受けた感想と学習メモを書きたいと思います。本来これは学習計画に入れていなかったのですが、思ったより早くインターン先でTableauを使う事になり、慌てて受講した次第です。本ブログの構成は以下の通りになっております!
なお、トレーニングは日本語・英語どちらでも提供されています。私ははじめ日本語で受けようとしたのですが、
ナレーションのスピードが鬼早い(文章の切れ目にポーズがない感じ)
という事で英語に切り替えました。¯_(ツ)_/¯ (あくまで個人的な感想)
Tableauとは?
Tableauは2014年にアメリカ・シアトルで開発されたBIプラットフォームです(名前から、フランスの会社だと思っていました)。NECのサイトに詳細が載ってい流ので、ここで細かい紹介は省略します。 第1回 「Tableau」とは? : Tableau(タブロー) | NECソリューションイノベータ
最近では、Data Science (特にVisualization) 関連のJob RequirementsでTableauの文字をよく見かける気がします。2019年現在では、会社が設立された5年前と比べ様々な機能がついたようです。
なお、Tableauのエキスパートは"Tableau Zen Master"と呼ばれているようで、世界で30人しか選出されません。彼らの作るVizは息を呑む美しさです。しかも、そのうち3人はなんと日本人のようです・・・!
https://community.tableau.com/thread/295083
自分の中で勝手に盛り上がってきました。ではいよいよトレーニングの内容に移っていきます・・・!
Free Trainingの構成
トレーニングは4タイプのユーザーに対応したコースが用意されています
- Creator:Tableau PrepかTableau Desktopを使って実際にビジュアライズする人
- Explorer:Tableau Server / Online 上でコンテンツを作ったりデータを修正する人
- Viewer:Tableauを使ってビジネスにおける意思決定をする人
- Admin:Tableauを自社内に展開し、Tableauのセキュリティや管理を担う人
私は実際にビジュアライズする予定なのでCreatorコースをやっています。Creatorコースにおけるチュートリアルビデオ数が圧倒的に多いです。私の解釈に基づいた大雑把構成を紹介すると・・・
- Getting Started:雑貨店の売上データを用いて、データ可視化を一通りやっちゃう
- Getting Startedから先:Getting Startedで使った機能を1個ずつ掘り下げて紹介
Getting Startedのビデオは25分ですが、そのほかのビデオは全て3〜10分のレンジに収まるショートビデオです。のちに掘り下げて紹介してくれるので、Getting Started時点では曖昧な理解でもOKそうです。
この記事では、 Getting Startedビデオの内容 を紹介します。Getting Startedから先のビデオについては、次の記事で紹介予定です。
必要な準備
Creatorコースを受講予定ならば、Tableau Desktopを入れた方が良いと思います。
2019年2月時点では、14日間無料で使えます(そのあとは月額$70です ¯_(ツ)_/¯
チュートリアルで使用するデータはデフォルトで入っています。 My Tableau Repository > Data Sources >...から見つけられます。
必要な準備はそれくらいだと思います。次からは、ビデオを見た上での学習メモを書きます。 細かい操作は、ぜひビデオを見て学んで見てください :D
データをインポートする
Getting Startedビデオでは、雑貨店の売上データと返品データを用いて、様々な分析を実践します。その一番初めのStepはもちろん、データのインポートです。
Tableauを開くと、一番はじめに出てくる画面がData Source画面です:
エクセルやCSVだけでなく、AWS Redshift・SQLからも簡単にデータをインポートできちゃいます。 データをインポートすると、データの一覧が下画面に出てきて、中身を確認できます。
私が感動した、この画面の素晴らしい機能たちは
例えば、ハイフン以前の情報だけを抽出して新しいカラムを作ることも、この画面に情報入力するだけで出来ます。コード書くより手っ取り早い・・・!
データの簡単な前処理ができたら、Worksheet画面に移ります。
Worksheet機能
一番左側がペインと呼ばれており、変数名が一覧で確認できます。後ろに隠れているAnαlyticsタブでは、OLSなどといった簡単な分析手法が提供されています(ドラッグ&ドロップで簡単に分析できちゃいます)
以下は画面上に表示されているキーワードの紹介です。
Dimensions
- 主に離散型データ指す
- 連続型のデータをカテゴリー分けする際に使う
Measures
- 主に連続型のデータが入っている
- ColumnsかRowに持っていくと、カテゴリーごとのSUMに勝手に変換される
- SUM以外にも、AVGやMedianなど複数のメジャーがある。また計算フィールドを使って自分でメジャーを作ることもできる(後述)
Marks機能
グラフの表示分けや色のカスタマイズを設定できる機能
- グラフ種別:画像でいう、一番上のドロップダウンリスト。Tableauがデータのタイプに応じて種別を決めてくれるが、自分で決めることも可能。種別はこんなに色々ある
- Color: グラフで使用する色をカスタマイズできる。クロス集計表でハイライトする際に特に役立つ
- Tooltip: グラフ中にコメントを入れる
- Size: プロットの丸の大きさや、棒グラフの太さを決められる
- Label: グラフの上に、具体的な数値やカテゴリーを表示できる
Columns & Rows
- Columns:横軸(紛らわしい)に何を表示するか。ここに日付データを持ってきて、折れ線グラフにすると、お馴染みの時系列データが出来上がる。
- Rows:縦軸に何を持ってくるか。
- 日付データだけ、変数の左側にプラスマークがあり、これをクリックすることで四半期(クオーター)・月へと細分化できる
- ドロップダウンリストの”Quick Table Calculation"で前年比の成長率・年平均成長率なども選択できる。
なお、変数を並べる順序も関係しています。例えばColumnsで、クオーターを一番左に、年を右に置くと、各年のデータの推移を クオーターごと にみる事ができます( by quarter across the years)。要は下の図のような状態です!
その逆は、各クオーターのデータの推移を 年ごと にみる事ができる(by year across the quaters)。上の図で言う、Q1・Q2・Q3・Q4が2015・2016・2017・2018になるイメージです。
グラフ作成実践
ビデオでは、上記の機能を紹介しながら以下のようなグラフを作っています。
セグメント別売上情報
ビデオ中で一番簡単に作れるグラフです。 たった5回のドラッグ&ドロップで できちゃいます。うち4回は縦軸・横軸に置く変数の選定、1回は色付けするカテゴリーの指定です。
複雑なコードも一切必要なし。ただ単に、縦軸と横軸に何を持ってくるか考えるだけ・・・!(感動)このグラフを見るだけで、地域関係なくオフィス用品が消費者に一番売れているとか、アメリカの南はまだ開拓の余地があるとか、色々わかりますね〜。色は特に指定しているわけではないのですが、自動で綺麗な色使いになるので、そこも感動ポイントです。
売上の季節性
時系列では売上どうなってるの?と思ったら、Columnsに日付データを持ってくるだけで・・・
この通り。年ごとではなく、ブレークダウンして月ごとで見たい場合は、変数名の横にある+ボタンをクリックします。物品カテゴリーごとに時系列データを見たかったら、Rowにカテゴリーを持ってくるだけ。季節性の有無が一発でわかります。また、9月に突出している家具の売上のところに、実際の売上高といった付加情報をコメントしました(Tooltip機能)。
クロス集計表
具体的な数値をもっと見たいわ!という場合はクロス集計表です。上記のワークシートタブを右クリックし、「Dupulicate as Crosstab」を選択するだけでクロス表ができます。
クロス集計表の難点は、重要情報が一目でわかりにくいところ。ここで、Colorのカスタム設定が活躍します。MarksのColorをクリックし、Edit Colorをクリックすると、カラーリングや色段階を自由に設定できます。私はビデオのナレーター好みに従い、Green Goldのカラーリングと6つの色段階を選びました。すると・・・
こうなります。profitが低いほど黄色、高いほど緑色で、色段階の目印は自動的に右に表示されます(すごい)。この図から、「2015年7月のオフィス用品の利益マイナスやん」とか、「2018年3月の利益いいね」ということが分かります。
Show Me機能で最適なグラフを選択する
関係を見たい変数は決まっているんだけど、どういうビジュアライズが適しているのか分からない。というときに便利なのが、画面右上に表示されている「Show Me」機能。
使用手順は簡単で、
- ペインにある変数を、Ctrl (or Command)キーを押しながら複数選択
- Show Meタブをクリックする
すると、可能なビジュアライズ方法が表示されます。迷ったら、提示された方法をクリックして見て比較することができます。いや〜〜〜
ビデオのナレーターは「World Mapが良さそうね!」とMapを選んだので、私もMapにしました(なお、私はアメリカ本土のみの売上情報を使用しているので、ここから先はビデオと違う内容になります)
一目でNYとCAの売り上げがダントツということが分かります。
特定地域の利益情報を見る
地図の左上には、こんなマークがあります。
地域ごとに拡大・縮小したり、ピン留めしたりできます。これらの機能のうち、マウスで選択されているLassoで地域を囲むことで、「囲まれた地域の変数」ができます。例えば私は、この機能を使って東海岸を囲い、"Sub-Category"という変数を作りました。この変数を使って、利益のブレークダウンを作ってみると・・・
このようになります。東海岸では、テーブル家具だけが圧倒的なマイナス利益のようです。面白いですね!
連続値×連続値グラフ
加えて、個別のデータを識別できるCustomer IDをMarksに入れることで、各個人のデータをプロットできます。この表では、利益と割引額の関係をプロットして見ました。
AnalyticsのOLSが活躍するのは、このような場面です!Analyticsタブからドラッグ&ドロップすることで出来ます。
Dashboard機能
以上のようにして、売上・利益情報に関する複数のビジュアライズを作ってきました。これを一つのシートにまとめたものがダッシュボードです。
左側に、今まで作ってきたグラフの一覧があります。そこから、ダッシュボードに入れたいグラフをドラッグ&ドロップするだけです。
右側のフィルタは、フィルタマークをクリックすることで、フィルタ種別(ドロップダウン・ラジオボタンなど)を自由に変更できます。タイトルなども自由に変更可能です。この機能を使うことで、伝えたかった情報を1枚のシートの一気に凝縮することができます。
Story機能
ダッシュボードを複数つなぎ合わせたものがストーリーです(自己流解釈)
このストーリーは、はじめに世界地図で見た利益を表示し、次にマイナス利益のテキサス州にフォーカスした詳細情報を表示する、という構成になっています。 ストーリー=プレゼン見たくなりそうですね!
まとめ
Getting Startedビデオで、Tableauの機能を広く浅く知ることができ、可視化の流れを一通り学習することができました! 次からは、上記に紹介した機能を具体的に学び、その感想を書きたいと思います〜〜
pythonの超基本文法復習
こんばんは!熱血講師のエアロビ講座を無理して受けて、全身筋肉痛のMayです!
先週の投稿からバタバタして1週間過ぎ、やっと基礎講座を終えました。今日はその感想を書いていきたいと思います。
使用した教材は以下の通りです。
・Udemy: https://www.udemy.com/python-jp/
・DataCamp: www.datacamp.com
の基礎講座。
Udemy: pandas入門まで
これについては色々感想があります。
- 文法チョイ学習者は飛ばし飛ばしで
- IPython時代に作られたから、コードが古い
- よく使うコードをまとめたサイトを見た方が学習早い説
動画中の丁寧な解説は、文法をあまり知らない人向けな気がします。何となく基礎文法を学んできた人にとっては、解説を聞かずに、問題が出たら動画を止めて自分でコードを書いていく方が集中力をキープできそうです。
加えて、コードが古いという点。動画中に紹介されるコードをjupyterで実行してみると、”コード古いよ!こっち使いなよ!と警告を出されます。警告メッセージにある推奨されたコードを使えば良いかもしれませんが、非効率的ですね・・・。このような問題は、次に紹介するDataCampでは無いので、私はこちらを重点的に使おうと思います。
また、実演は見なくても良いからコードを覚えときたいという人にとっては、pandasでよく使う文法をまとめたサイトを見て、定期的に使って覚える方が良さそうです。 以下のサイトはブックマークにしました。先輩は偉大。
DataCamp: Intermediate Python for Data Scienceまで
手を動かしながら学べます。最後にケーススタディもついてるので、学習チェックもできます。私はいつもmatplotlibの軸設定などを忘れてしまうので、使えそうなコードをまとめたチートシートをjupyter notebookで作成中です。