この記事は 『CRESCO Advent Calendar 2018』9日目の記事です。
こんにちは、データアナリティクスチームのさかいです。
あと2週間ぐらいするとクリスマスですね!
仕事や勉強が忙しい時期だと思いますが、
イベントにかこつけて各自積極的においしいものを食べていきましょう。
さて、今回はBI分析ツールの一つであるTableauを利用するときに、
よくありそうなシチュエーションだけど、
意外と手順のなかった方法についてブログを書いてみようと思います。
データ分析ツールの1種である「Tableau(DesktopおよびServer)」を使用する方。
分析したい内容に対して新たにデータベースを作るほどでもないけど、
定期的に更新されるテキストデータ(CSVやExcel)があるので
それらを使って運用したい、という方が対象になるかと思います。
Tableau各種ツールは有料ですが、それぞれ14日間利用可能な評価版が用意されています。
資材を作成するためのDesktopはWindowsおよびMac、
作成した資材を公開するためのServerはWindows/Linuxで利用できます。
Tableau Desktop評価版
https://www.tableau.com/ja-jp/products/desktop/download
Tableau Server評価版
https://www.tableau.com/ja-jp/products/server/download
今回の記事ではDesktop/Server共にWindows環境での利用を前提としています。
・OS
Windows 10 Enterprise
・Tableau Desktop
2018.3
・Tableau Server
2018.3
ここからは画像と共に、順を追って説明していきます。
・Tableau Desktopを開き、「接続」「ファイルへ」「読み込ませたいファイル」の順に選択
今回はサンプルCSVデータを使用します。
CSVデータが開けました。
接続形式を「抽出」に変更します。
「シート」画面に移動しようとすると以下のような画面が出るので、所定の位置にHyper抽出ファイルを保存します。
抽出したデータをシート上で取り扱えるようになりました。
抽出したデータソースをTableau Server上で取り扱えるよう、データソースのパブリッシュを行います。
任意の名前をつけてデータソースをパブリッシュします。
画面右下の「データソース」タブを選択すると、先ほどパブリッシュしたデータソースがTableau Serverに上がっていることが確認できます。
シートタブに戻って簡単なグラフを作成してみました。
売上が上がっていてよいですね。
作成したワークブックは保存しておきましょう。
「名前をつけて保存」または「パッケージドワークブックのエクスポート」で保存可能です。
ワークブックの保存ができたら、Tableau Serverにパブリッシュしていきます。
パブリッシュが完了しました。
グラフを見たところ、問題なくパブリッシュできています。
ここからは抽出更新タスクの作成を行います。
更新の前に、テスト用のデータソースを作成します。
先のデータでは2013年のデータがなかったので、1件追加してみましょう。
抽出対象ファイルを所定の場所に配置します。
ローカル環境の他にも、ネットワーク上にあってもOKです。
コマンドプロンプトを開き、Tableauがインストールされているbinフォルダまで移動します。
以下のコマンドを実行し、抽出ファイルを更新します。
(例)
tableau refreshextract –server http://localhost/# –username “(ユーザー名を入力)” –password “(パスワードを入力)” –site project –project “ext_test” –datasource “superstore” –original-file “C:\tabext_test\superstore_2013.csv”
ファイルパスについては、先に記載した通りローカル環境以外にもネットワーク上にあるファイルを指定することができます。
「– original-file “”」の部分にUNC形式て記述します。
更新ができているかどうか見てみましょう。
2013年のデータが表示されているので、問題なく更新ができています。
いかがでしたでしょうか。
ここでは挙げませんでしたが、Tableauにはいくつかコマンドプロンプト等で利用できる機能が存在します。
・tabcmd
・tsm
・Tableauコマンド
今回の記事では用途に合致した、一番下のTableauコマンドを採用しました。
他にもコマンドでできることは沢山あるので、
いずれエンジニアブログの場でまたご紹介していきたいと思います。