黒い画面のお話をします。

その昔、黒い画面でカタカタとコマンドばかり打っていました。今は全く覚えていません。
Tableau Server, Tableau Onlineではサイト上でのタスクを自動化するために、コマンドラインユーティリティ「tabcmd」が用意されています。
「tabcmd」コマンドラインツールを使うことができれば、GUI操作で繰り返し行っているルーティン作業を効率化することが可能です。
導入と基本的な使い方について記事投稿します。
環境準備
Tableau Serverバージョンの確認
事前にTableau Serverバージョンを確認しておきましょう(オンラインは使ったことないので詳しくない)。
Tableau Serverにログイン後、「ヘルプ」⇒「Tableau Serverについて」で以下のような情報を確認することが出来ます。
Tableau Server のバージョン: 2019.4.0 (20194.19.1105.1444) 64ビット Linux
©2019 Tableau Software, Incorporated and its licensors. All Rights Reserved.
インストール
コマンドユーティリティをクライアントPCにインストールします。事前に確認したサーバーバージョンに合わせるか、新しいものを使ったほうがよいでしょう。

▲ Tableau Serverのリリースノートから目的のバージョンを選択します。

▲ ServerはLinuxですが、クライアントはWindowsなのでこちらを選びました。クライアントがMacの場合はLinuxバイナリの拡張子「.deb」のものを使います(環境がないので説明省略)。
Windows PCであればインストーラーの指示に従っていれればOKです。

ちゃんとインストールの画像貼り付けて説明しなさいよ。

全部、Yes Yes 同意 Yesで大丈夫です。
インストールディレクトリ
Windows10と2019.4の組み合わせでは次の場所にコマンドユーティリティがインストールされました。
インストール場所 | C:\Program Files\Tableau\Tableau Server\2019.4\extras\Command Line Utility |
---|
環境変数PATHへの追加
私が確認したWindows10の場合は、インストール後にコマンドパスが通っていませんでした。GUI操作で通しておくか、スクリプトにする場合は都度以下のようなコマンドをいれておくとよいと思います(以下は、Powershellの場合)
$Env:Path += ";C:\Program Files\Tableau\Tableau Server\2019.4\extras\Command Line Utility\"
パスを通した後であれば、tabcmd のみでコマンド操作を行うことが出来ます。パスを通さない場合は、コマンドのフルパスを入力するか、インストールディレクトリに移動して .\tabcmd と打つ必要があります。
基本的な使い方
コマンドユーティリティのバージョン確認
PS > tabcmd version
Tableau Server Command Line Utility — 20194.0.0.0
コマンドヘルプ
用法 | 説明 |
---|---|
tabcmd help | tabcmd コマンドのヘルプ |
tabcmd help コマンド名 | 特定のコマンドのヘルプを表示 |
tabcmd help commands | 利用可能なすべてのコマンドをリスト |
tabcmd コマンドのヘルプ
tabcmd help、または単に tabcmd と打つとtabcmd自体のヘルプを表示できます。これを忘れたらどうしようもないですが。
PS > tabcmd
Tableau Server Command Line Utility — 20194.0.0.0
tabcmd help — tabcmd コマンドのヘルプ
tabcmd help — 特定のコマンドのヘルプを表示
tabcmd help commands — 利用可能なすべてのコマンドをリスト
tabcmd help | commands
コマンド オプション:
グローバル オプション:
(表参照)
PS >
グルーバルオプション | 説明 |
---|---|
–[no-]cookie | サインイン時にセッション ID を保存しません。後続のコマンドを実行する際には、再度サインインが必要になります。指定しない場合、既定ではセッション IDが保存されます |
-c,–use-certificate | クライアント証明書を使用してサインインしてください |
-h,–help | tabcmd のヘルプを表示 |
–no-certcheck | SSL 証明書を検証しない |
–no-proxy | HTTP プロキシを使用しない |
-p,–password <PASSWORD> | 指定された Tableau Server パスワードを使用 |
–password-file <FILE> | ファイルから Tableau Server パスワードを読み込む |
-s,–server <URL> | 指定された Tableau Server URL を使用します。プロトコルが指定されていない場合は、http:// であると見なされます |
-t,–site <SITEID> | 指定した Tableau Server サイトを使用します。空の文字列 (”) を指定すると、既定のサイトが強制的に使用されます |
–timeout <SECONDS> | サーバーがコマンドの処理が完了するまで待機する時間を秒単位で指定します。既定では、サーバーから応答が返ってくるまで待機します |
-u,–username <USER> | 指定された Tableau Server ユーザー名を使用 |
-x,–proxy <HOST:PORT> | 指定された HTTP プロキシを使用 |
特定のコマンドのヘルプを表示
tabcmd help コマンド名 で特定のコマンドヘルプが表示されます。表示結果にはコマンドオプション、グローバルオプションが含まれた形で表示されます。
tabcmd + command + [option]
command の部分にやりたい操作、login , logout , publish などが入ってきます。
PS C:\Users\PF79255> tabcmd help publish
Tableau Server Command Line Utility — 20194.0.0.0
ワークブック、データ ソース、または抽出をサーバーにパブリッシュ
tabcmd publish [options]
コマンド オプション:(表示内容は省略)
利用可能なすべてのコマンドをリスト
tabcmd help commands で利用可能なコマンド一覧を表示できます。
コマンド | 説明 |
---|---|
tabcmd addusers | ユーザーをグループに追加 |
tabcmd createextracts | パブリッシュされたワークブックまたはデータ ソース用の抽出を作成 |
tabcmd creategroup | ローカル グループの作成 |
tabcmd createproject | プロジェクトの作成 |
tabcmd createsite | サイトの作成 |
tabcmd createsiteusers | 現在のサイト上でユーザーを作成します |
tabcmd createusers | サーバー上でユーザーを作成します |
tabcmd decryptextracts | サイトで抽出を複合化する |
tabcmd delete | サーバーからワークブックまたはデータ ソースを削除します |
tabcmd deleteextracts | パブリッシュされたワークブックまたはデータ ソース用の抽出を削除 |
tabcmd deletegroup | グループの削除 |
tabcmd deleteproject | プロジェクトの削除 |
tabcmd deletesite | サイトの削除 |
tabcmd deletesiteusers | サイト ユーザーの削除 |
tabcmd deleteusers | ユーザーの削除 |
tabcmd editdomain | ドメインの編集 |
tabcmd editsite | サイトの編集 |
tabcmd encryptextracts | サイトで抽出を暗号化する |
tabcmd export | サーバーから、ビューのデータまたはイメージをエクスポート |
tabcmd get | サーバーからファイルを取得 |
tabcmd help | tabcmd コマンドのヘルプ |
tabcmd initialuser | 初期化されていないサーバー上で最初のユーザーを作成します |
tabcmd listdomains | ドメインのリスト |
tabcmd listsites | ユーザーのサイトをリスト |
tabcmd login | サーバーにサインイン |
tabcmd logout | サーバーからサインアウト |
tabcmd publish | ワークブック、データ ソース、または抽出をサーバーにパブリッシュ |
tabcmd reencryptextracts | サイトで抽出を再暗号化する |
tabcmd refreshextracts | サーバー上のワークブックまたはデータ ソースの抽出を更新 |
tabcmd removeusers | ユーザーをグループから削除 |
tabcmd reset_openid_sub | ユーザーの OpenID 接続サブ ID をリセット |
tabcmd runschedule | スケジュールを実行 |
tabcmd set | サーバー上で設定を行います |
tabcmd syncgroup | サーバーを Active Directory グループと同期 |
tabcmd version | バージョン情報を出力します |
よく使う操作
ログインする
tabcmd login [options]
説明:サーバーにサインインします。セッションは、サーバー上で期限切れになるか、”tabcmd logout” を使用するまで引き続き有効です
PS > tabcmd login –server http://<サイトURL> –username <ユーザー名> –password <パスワード>
===== 新しいセッションを作成しています
===== Server: http://<サイトURL>
===== Username: <ユーザー名>
===== サーバーに接続しています…
===== サインインしています…
===== 正常に終了しました
- プロキシサーバーを経由させる必要がある場合
- –proxy <host:port> オプションを加える
- プロキシサーバーを経由させたくない場合
- –no-proxy オプションを加える
パブリッシュする
拡張子「.twb(x)」「.tde」「.hyper」などをパブリッシュできます。
tabcmd publish WORKBOOK/DATASOURCE [options]
説明:ワークブック、データ ソース、または抽出をサーバーにパブリッシュ
PS > tabcmd publish ‘.\ダミー.hyper’-o -name “test-data”
===== 前のセッションを続行しています
===== Server: http://<サイトURL>
===== Username: xxxxx
===== サーバーに ‘.\ ダミー .hyper’ をパブリッシュしています。この処理には数分かかることがあります…
===== ファイルがサーバーの次の場所に正常にパブリッシュされました:
===== http:///datasources/test-data
PS >
エクスポートする
ちゃんと使えば使いそうなエクスポートコマンド。PDF化⇒プロジェクト関係者にメール送付などで使えそうです。エクスポートはビューか、ワークブックかを意識するようです。
tabcmd export WORKBOOK/VIEW [options]
説明:サーバーから、ビューのデータまたはイメージをエクスポート
ビューのエクスポート
PS > tabcmd export “Superstore/Overview” –csv -f “Superstore_20191217.csv”
===== 前のセッションを続行しています
===== Server: http://<サイトURL>
===== Username: xxxxx
===== サーバーから ‘Superstore/Overview’ を要求しています…
===== Superstore/Overview を ‘Superstore_20191217.csv’ に保存しました
PS > tabcmd export “Superstore/Overview” –pdf -f “Superstore_20191217.pdf”
===== 前のセッションを続行しています
===== Server: http://<サイトURL>
===== Username: xxxxx
===== サーバーから ‘Superstore/Overview’ を要求しています…
===== Superstore/Overview を ‘Superstore_20191217.pdf’ に保存しました
ワークブックのエクスポート
PS p> tabcmd export “Superstore/Overview” –fullpdf -f “Superstore_20191217full.pdf”
===== 前のセッションを続行しています
===== Server: http://<サイトURL>
===== Username: xxxxx
===== サーバーから ‘Superstore/Overview’ を要求しています…
===== Superstore/Overview を ‘Superstore_20191217full.pdf’ に保存しました
PS >
ログアウトする
tabcmd logout
説明:サーバーからサインアウト
PS > tabcmd logout
===== redirecting to http://<サイトURL>/auth
===== サインアウトしました
まとめ
コマンドラインユーティリティ「tabcmd」 について記事投稿しました。
コマンドを使おうと思ったきっかけは、Tableau Prep Conducotorを所有してないからです。フローで作った抽出ファイルを手動でサーバーにアップロードするのが手間なんですよね。
記事にするかは微妙ですが、Powershellを使ってTableau Prepコマンドライン〜Tabcmdを使いサーバーまでの自動アップロードするところまでのスクリプトは出来ています。
久しぶりに黒い画面を使いましたが、長らく使っていないと目がパサパサします。