Skip to main content

あるフォルダ内のCSVに対し、自動でprep builderに落としこみ、

設定したフローを実施させる方法はあるのでしょうか?

 

同一フォルダの中に、日次でトランザクションデータを追加し、

追加されたCSVは自動的にprep buiderに落とし込まれ、

自動で設定したフローが行われるようしたいです。

 

データの接続先はbox、もしくはローカルフォルダを考えています。

prepではboxに対応していないようですが、box driveというサービスを使うことで、

box上のファイルをローカルデータとして扱うことで接続を可能にしています。

 

よろしくお願いいたします。

4 件の回答
  1. 2019年9月26日 5:11

    司 さん

     

    こんにちは、浅田です。

     

    アプローチとしては以下2点があります。

    1. Windowsのローカルマシンやサーバーマシンによるスケジュール自動実行

    2. Tableau Serverに、Prep Conductorを導入する

     

    一つずつ説明いたしますね。

     

    まず「1.」 についてですが、これは既にSHOさんが投稿された参考記事にも似ている内容で、

    TableauのHelpにある以下の手順を行っていきます。(私も司さん同様の要望をこの手法を用いて実現しています)

    https://help.tableau.com/current/prep/ja-jp/prep_save_share.htm#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%8B%E3%82%89%E5%87%BA%E5%8A%9B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%9B%B4%E6%96%B0

     

    まずは、Input、Outputを定義するjsonファイルを作成します。

    司さんの場合、ローカルフォルダのデータが対象になるので以下のようなイメージになると思います。

    ※ InputデータがDBなどの場合はinputConnectionsにDBの接続情報などを記載する必要があります。

    ※ Output先はTableau Serverを想定しています。

    -----

    {

      "inputConnections": [],

      "outputConnections": [

        {

          "serverUrl": "publish先のTableauServerURL",

          "contentUrl": "",

          "username": "publish先のTableauServerログインID",

          "password": "publish先のTableauServerログインPW"

        }

      ]

    }

    -----

     

    次に、Helpの手順にあるコマンド実行を、自動で行う仕組みを構築します。

    私の場合、以下のようにコマンド実行を自動で行うようなPowerShellを書きました。

    司 さん こんにちは、浅田です。 アプローチとしては以下2点があります。1. Windowsのローカルマシンやサーバーマシンによるスケジュール自動実行2. Tableau Serverに、Prep Conductorを導入する 一つずつ説明いたしますね。 まず「1.

     

    ちなみに、19行目〜22行目は複数のフローファイルを実行できるようにするためのforeach文で、

    フローが複数あっても、全てのフローが自動実行するような仕組みにしています。

    複数のフローを定義する場合は、Helpに従い以下のように設定ファイルを定義します。

    ps2.png

     

    これらのファイルが作成できたら、

    Windowsのタスクスケジューラーから作成したPowerShellを任意のタイミングで実行するよう仕組みます。

    ちなみに私は毎日朝6時に実行するようなタスクスケジューラを組みました。

     

    では、次に「2.」です。

    こちらは、最近リリースされたTableau Serverのアドオン機能「Server Management Add-On」を用いる手法です。

    Management Add-Onの機能の一つである「Tableau Prep Conductor」を用いて実現します。詳細は以下を参照ください。

    フロー データを最新に維持する - Tableau

     

    簡単にお伝えしますと、作成したフロー自体をTableau ServerにPublishし、

    Tableau Server上のスケジュール機能を用いてフローを自動実行し、データを更新するといった内容です。

    ただし注意点が一つあり、こちらのManagement Add-Onは「有償」になります。

     

    よろしくお願いいたします。

     

    浅田

0/9000