Tableauハンズオンセミナーに参加してきた
Tableau.Japan社主催のハンズオンセミナーに参加してきた。参加したのは入門編とR連携速習コースの2つ。会場はTableau.Japan社がある帝国ホテル東京の15階。両セミナーとも実質2時間ないので、さわれるレベルになる内容。なので紹介できる内容もたいしたことない。
Tableauとは
Tableau(タブロー)は有料のBIツール。Tableau社はスタンフォード大学の研究室からスピンアウトするかたちで2003年に創設された。米国防総省から資金援助を受けるかたちで1997年に研究が始まり、2003年にChris Stolte氏、Pat Hanrahan氏、Christian Chabot氏の3名で起業。コンピューターグラフィックスの博士号を持つPat Hanrahan氏は、モンスターズインクなどを製作したPixar Animation Studiosの設立メンバーでもあり、過去にはアカデミー賞を2度受賞。Tableau社のトップページにある「さらに詳しく」をクリックすると動画(YouTube)で操作イメージなどを見ることが出来る。
製品群
バージョン8.1の追加機能
11月末にバージョンが8.1にアップデートされRとの連携が可能になった。他にも様々な機能が追加されている。追加機能はこちら
評価版をインストールする
評価版は2週間無料で使用出来る。Desktop、Server、Onlineの3種類について用意されている。今回はDesktop版を試す。筆者のOSはWindows7、仮想環境でも動作するらしい。
Tableauのホームページに入り、画面右上にある評価版ダウンロードをクリックする。画面下のほうにあるDesktopの「ダウンロード」をクリックすると、画面が遷移し32ビット版がダウンロードされる。64ビット版は、遷移後のページ上部に「64-bitバージョンのダウンロード」を再度クリックする。ダウンロードしたインストールファイルを実行するとインストールが始まる。インストールしたら、アイコンからTablear8.1を起動すると使用を開始するかの確認画面が出る。
開始する場合は、「今すぐ試用を開始する」をクリックする。次に必要事項を入力し登録を行う。
さっそく試す
インストールすると、「マイ Tableau リポジトリ」というフォルダが作成され、そこにサンプルファイルが入っている。私のWin7の場合はドキュメントフォルダーに作成されていた。そのフォルダーの中に、エクセルとアクセスのサンプルファイルが保存されている。セミナーでは日本人向けに準備してくれたデータがあり今回はそのデータを使い機能概要を紹介させて頂く。(日本人向けとは、項目やデータが日本語化されている。地図表示した際に日本地図が対象になるように都道府県や市町村が日本の地域になっている点など)
Tableauを起動するとメイン画面は表示される。まずは「データに接続」を行う。
接続するデータソースを選択する画面になる。上部の赤で囲んだソース群はエクセルやアクセスなど、下部の青で囲んだソース群は各種データベース接続やサービス(Google Analyticsなど)。今回はエクセルになるので上部の赤で囲んだ部分からMicrosoft Excelをクリックし、該当するファイルを選択する。
エクセルを選択するとデータとして取込むワークシートを選択し、OKをクリックする。
データの接続形式は3種類ある。今回は「ライブで接続する」を選択(クリック)する。データのボリュームや用途に応じて考えればよいとのこと。
データが読み込まれるとそれぞれのデータ型を判別し、データの属性に該当するディメンジョン項目と、値に該当するメジャー項目に選別される。自動選別された結果は後から変更することも可能。データを表示するにはディメンジョンやメジャーを画面中央にドロップすればよい。行と列とページに表示する内容をそれぞれドロップしていくと自動的に集計が行われグラフが表示される。グラフの種類は表示形式で変更することが出来る。マークというツールにある色や形などに属性や値をドロップするとその内容がグラフに反映される。エクセルのピボットテーブルをものすごく便利にした感じ。動画(YouTube)を見れば操作イメージをつかめるかもしれない。また、表示された結果(グラフ)を見ながら項目を括る、削除する、並びを変える、レンジに背景色をつける。など様々な機能が存在する。
ディメンションに県や市町村がある場合には地図として表示することも出来る。項目を右クリックして地理的役割から該当する役割を選択すれば県名項目を緯度経度として扱うことが出来きる。県の場合は州を選択するとのこと。左上のページ部分に日時タイプのディメンションをドロップすると、継時変化をアニメーションとして見ることも出来るので、地図上で変化するさまを確認できたりする。セミナー参加者には台風の経路の変化を作っている人もいた。
いくつか確認した結果は1つの画面に集約することが出来る。ダッシュボード機能。①ダッシュボードシートを新規に開き、②集約したい結果をダッシュボード画面にドロップすれば良い。右上のボタンはプレゼンテーション機能。複数の結果はともに連動しているので、ダッシュボード上でデータを深く確認することも出来る。
Rとの連携その1(R側の準備)
TableauでR連携を行うには、Rserveとplyrパッケージのインストールが必要。インストール後はRで次のコマンドを実行する
> Sys.setenv(LANGUAGE="en") # 日本語のエラーメッセージの文字化けを防ぐ ※英語化する > library(Rserve) > Rserve() #Rserveの起動 Starting Rserve...
Starting Rserve...と表示されたらOK。Rは最小化しておけばよい。
Rとの連携その2(Tableau側の準備)
Tableauを起動する。ヘルプ→言語とパフォーマンス→R接続の管理をクリックする。サーバーとポートを入力・確認し、テスト接続をクリックする。問題なければRserveサービスに正常に接続されました。といったメッセージが表示される。正常ならOKをクリックする。
R連携 サンプルファイルを試す
Tableau社のページにR連携の紹介やirisデータを使ったk-meansのサンプルファイルのダウンロードがあるので、そのファイル(r_kmeans.twbx)をダウンロードする。ダウンロードしたファイルを起動すればサンプルが起動する。スクリプトを実行するかといったメッセージは「はい」をクリックする。
これがR連携のサンプルを起動した画面。
実際にはClustersというメジャーがR+kmeansで3つに分類した結果が格納されるように定義されているとのこと。Clustersを右クリックし編集を選択するとコードを確認することが出来る。
Tableauでのコードはこんな書き方
SCRIPT_INT( ' set.seed(42); result <- kmeans(data.frame(.arg1,.arg2,.arg3,.arg4), 3); result$cluster; ', SUM([Petal length]), SUM([Petal width]),SUM([Sepal length]),SUM([Sepal width]) )
4つの変数をdara.frameで渡している。その引数にはそれぞれSUM([xxx xxx])が対応する。この場合SUMに集計をするという意味はなくこのように記述しなければいけないので...ということ。メジャーに対しR連携コードを書くことになるので、例えば主成分分析などの2軸をとってくる場合には、軸1、軸2のそれぞれでRコードが動くことになるとのこと。また、デバッグも良い方法がなさそうな感じ。R接続に関するオンラインマニュアルはこちら
チュートリアルなど
TableauのWEBページにはトレーニングとチュートリアルがある。On Demandでトレーニングすることが出来る。Introのほか、Advanced、Ahart Types、Server が準備されている。動画はMP4形式のファイルをダウンロード可能。他に、クイックスタートガイド、オンラインヘルプ、ナレッジベースなども準備されている。講師からのおすすめは、「team geiger」をgoogleで検索してとのこと。多くのサンプルがありダウンロードも出来る。リバースエンジニアに最適とのこと。
個人的な評価
最近のBIツールは進化してますね。インメモリでカラムナ型のDBをSQLで集計しているようだ。サンプルデータではレスポンスも良好。サクサク動いた。私はSQLで集計することが多く、くくり項目があったり並べ替えを考慮しなくてはいけないことが多いので思わずほしくなってしまった。
このような方におすすめ
- RDBなどに構造データがあり、Excelでピボットテーブルやフィルターで集計しグラフを作成するような業務担当者。
- データが定期的に更新され、その結果を共有したりするようなダッシュボード的機能が必要な部署や人。
- 分析を行いたいがプログラミング開発者が内部にいない(不足している)部署。
- BIツールその操作方法の習得を困難だと感じない人やそのような雰囲気のある部署。など
Rとの連携に関して
現段階のR連携はR使いの方には必要性をあまり感じませんでした。便利なパッケージ群(ggplot2やshinyなど)を使い必要な機能を作っちゃうと思います。使う場合でもそれぞれの特徴を生かした使い分けになるのではないかと...連携は今後に期待。