Tableauでテキスト(CSV)やExcelデータを抽出化してコマンドラインで定期更新する

この記事は 『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コマンドを採用しました。
他にもコマンドでできることは沢山あるので、
いずれエンジニアブログの場でまたご紹介していきたいと思います。


クレスコのデータ分析サービス

勘や経験ではなく、事実に基づいた意思決定が求められる中で、お客様のデジタル変⾰をデータ分析の観点からご⽀援いたします。

データ分析メニュー
● データ活用コンサルティングサービス
● 分析基盤構築サービス
● BI導入サービス
● モニタリング & システム運用サービス

サービス紹介ページでは、データ分析サービスの導入事例をご紹介しております。
データの活用/分析、BI導入について、お気軽にお問い合わせ・ご相談ください。

詳細はこちら