非エンジニアのプログラミング・BIツール(Tableau)・ファイナンス関連雑記帳

プログラマーでもSEでもなければデータサイエンティストでもない。が、常用しているPythonやRを中心とした日常の調べものやファイナンスに関すること、その他適当なメモ

Tableau関連API

自分用メモ

 

(自分はJavaScriptを常用していないため、JavaScriptを使用する前提の他のAPIは使っていない)

1. REST API・・・実際の実装にあたっては、このREST APIのラッパーであるPythonTSC(Tableau Server Client)を使用する方が使い易い(但し全てのメソッドが同様に使えるわけではない?)

help.tableau.com

 

TSC : Tableau REST APIのラッパー

APIリファレンス : 

tableau.github.io

 

下記のような操作をAPI越しに実現できる。

  • ユーザー管理
  • ユーザーの作成、照会、更新
  • コンテンツとパーミッションの管理
  • ワークブックのパブリッシュ、照会、変更
  • データソースのパブリッシュ、照会、変更
  • サーバーの構成
  • サイト、プロジェクト、グループ、パーミッション、スケジュール、サブスクリプション、タグ API

 

その他参考URL:

Tableau Onlineに対してpython clientで抽出の更新を行う | 株式会社AI Shift

Tableau Server Client(Python)でできる3000人規模のサーバーレス運用管理

tableau refreshextract で元データが更新されたらPublish | Tableau-id Press -タブロイド-

Tableau Prep Builder 使い方(9) 〜Pythonによる処理と実行

コマンド ラインからフロー出力ファイルを更新

『サーバーで Tableau Prep Conductor を有効にせずにフローの実行をスケジュールしている場合は、コマンド ラインから増分更新を使用してフローを実行できます。』?

コマンド ラインからフロー出力ファイルを更新

増分更新を使用したフロー データの更新

 

community.tableau.com

 

2. メタデータAPI・・・GraphQL使用。Tableau Server または Tableau Cloud にパブリッシュされたコンテンツからプログラムによってメタデータに対するクエリを実行することができる。

help.tableau.com

 

TC20 Metadata API

 

実装例(Pythonのrequestsモジュール前提)

 

GraphiQLを使ってオンデマンドでインタラクティブなクエリーを実行するも、実際にはGraphQLに動的なパラメーターを渡して実行させ、そのレスポンスのJSONを整形するなりしてCSVファイルに出力したいというようなケースが多そう。

下はそのための参考URL:

zenn.dev

 

zenn.dev



 

Tableau Server / Prep Conductor関連設定済み項目

自分用メモ

1. Tableau Server(Windows Server)から社内ネットワークフォルダへのアクセス(ファイル入出力)が可能なようにする

参考URL:

help.tableau.com

 

tsmコマンドの例:

入力接続の場合:

任意のフォルダからの入力が可能なようにする。但し、Tableau Serverを稼働させているWindowsID(システムID)からアクセス可能なフォルダに限る

% tsm configuration set -k maestro.input.allowed_paths -v "*"

 

出力接続の場合:

個別のネットワークフォルダをUNC表記にて、且つ複数ある場合にはセミコロンで区切り引数として指定

% tsm configuration set -k maestro.output.allowed_paths -v \\server1\SharedFolder; \\server2\SharedFolder1

 

現在の設定状況の確認用コマンド

入力接続

% tsm configuration get -k maestro.input.allowed_paths

 

出力接続

% tsm configuration get -k maestro.output.allowed_paths

 

2. Server上のPrepフロー実行後に出力データソースが更新された後、即座にVizに反映させるためのコマンド/オプション

この設定をしてないと、Viz上でいちいち更新ボタンを押下しないと、たとえPrep ConductorでPrepフローが実行されていてもVizのデータが古い状態となってしまう。

 

参考URL :

https://help.tableau.com/current/server/ja-jp/tsm.htm

 

Default値の”バランス”→"より頻繁"に更新

% tsm data-access caching set -r always

設定適用後の確認コマンド

% tsm data-access caching list

(適用前) "更新の頻度:低"

(適用後) "更新の頻度:0"

 

3. Server上に登録済みのActive Directory上の組織グループ/メールエイリアスの構成メンバー情報を最新化するためのコマンド/オプション

参考URL :

https://help.tableau.com/current/server/ja-jp/tabcmd_cmd.htm#ide6a39f29-77ff-44f6-b946-c2b56b31a2f9

 

% tabcmd syncgroup グループ名

 

このコマンドをPowershellでループさせて実行させるよう、WindowsServerのタスクスケジューラーに登録してある。

 

4.Tabkeau ServerリポジトリPostgreSQLのreadonlyユーザーのパスワードの確認方法

% tsm configuration get -k pgsql.readonly_password

Facebookの仮想通貨Libra チュートリアルやってみた 〜 "太郎と花子との送金"

話題になっているFacebookの仮想通貨Libraの送金チュートリアルをただやってみた。 

飽きっぽいので取り敢えずお手軽にDockerで出来ないか調べてみたら、やはり先人がいらっしゃった☺️

qiita.com

 なので、ビルドプロセスはそこそこ掛かったものの(MacBook Pro 13-inch 2017 CPU:2.5 GHz Intel Core i7,RAM:16GB で凡そ30分)、その後そのまま実行してあっさりチュートリアルのまま出来た。(但し日本人らしく、Alice⇨花子とBob⇨太郎 だとイメージしながら...)

そして一通りやってみた後はイメージ削除。

 

きっとこれからLibraについての勉強会とかあちこちで始まるんでしょうね。

先人の知恵を拝借してRaspberry Pi からSlack投稿できる監視カメラを作ってみた

用意したもの:

  • Raspberry Pi Zero W
  • Piカメラ Official PiNoir V2(赤外線カメラ)
  • Piケース ModMyPi Camera Box Bundle for Zero

 

f:id:koji-piccadilly:20170909123316j:plain

 

f:id:koji-piccadilly:20170909123352j:plain

 

f:id:koji-piccadilly:20170909123422j:plain

Pi Zeroは比較的非力なためか、プロセスは落ちないものの、連続撮影された画像ファイルがSlackに投稿されると"too_many_pins"というエラーというか警告メッセージが出てしまう。(ちなみにPi 3で別途試したところこのようなエラーは出なかった。Zeroでも、もしかしたらXを起動せずCLIモードにしてしまえばよいのかもしれない)

 

ハマった点

最初、motion(カメラに映った被写体の動きを検出できるというソフト)で/dev/video0が無いっていうエラーが出てしまいカメラが認識されず撮影できなかった。

参照URL: 

raspberrypi.stackexchange.com

そのため、おまじないコマンド(デバイスドライバをロードするためらしい)

sudo modprobe bcm2835-v4l2

とすれば取り敢えず解消はするが、OS起動のたびに毎回コマンドを打つのは面倒なため、/etc/modulesに下の1行:

 bcm2835-v4l2

を追加する或いは、 /etc/rc.localに下の1行:

sudo modprobe bcm2835-v4l2

を追加すればよい。

 

参考URL

qiita.com

github.com

blog.umentu.work

 

Raspberry Pi Zero W コンパクトすぎ ^^

 モバイルバッテリーが一番でかくて重い...

f:id:koji-piccadilly:20170725222532j:plain

RaspbianにはMathmaticaまで最初から入っててとっても太っ腹。元々イギリスの教育用コンピューターとして開発されたラズベリーパイ用として、ラズベリーパイ財団が発表したOSなだけある。f:id:koji-piccadilly:20170725222453j:plain

 だけど結局、Scratchにサンプルとして入っているインベーダーゲームで結構満足..

f:id:koji-piccadilly:20170726223207j:plain