2 Replies Latest reply on Apr 19, 2015 6:24 PM by Hiroko Ogawa

    カスタムSQL パラメータ使用について

    Hiroko Ogawa

      お世話になります。

      カスタムSQLでのパラメータ使用について質問があります。

       

      Tableau 8 ではカスタムSQLでパラメータの挿入、使用ができるとありました。

      しかし、オンライヘルプでは、Where句などでの使用が前提で、検索対象の表名の一部としては置換はできないとよみとれます。

       

      カスタム SQL クエリへの接続

      注: パラメーターは、リテラル値のみを置換できます。パラメーターは、式または表名などの識別子を置換することはできません。」

       

      質問1:

      実際に試してみたところ、下記のようなカスタムSQL で、ダッシュボード上でパラメータを切り替え

      検索対象テーブルの変更ができているのですが、パフォーマンスや製品の仕組み上、このような形式の

      カスタムSQL は使用すべきではないのでしょうか?

       

      SELECT `table_<Parameters.tab_cd>`.`ORDERNO` AS `ORDERNO`,

        `table_<Parameters.tab_cd>`.`ORDERNO2` AS `ORDERNO2`,

        `table_<Parameters.tab_cd>`.`ORDERTYPE` AS `ORDERTYPE`,

           :

      FROM `tableau_<Parameters.tab_cd>`

       

      パラメータ <Parameters.tab_cd> はInteger で指定しており、 table_80, table_81 ... のように

      テーブル名とデータの内容は違うが、同じ構造のテーブルがDB上に存在します。

      DB はMySQL、Tableau は8.2.4 を使用しています。

       

      質問2:

      質問1のような形でのカスタムSQL の場合、Tableau Server を使用し、パラメータの値を動的に指定し、

      パッケージドワークブック(twbx) を tabcmd などを使用して作成することは可能でしょうか?

       

      例えば、<Parameters.tab_cd>=80 のtwbxファイルと<Parameters.tab_cd>=81 のtwbx ファイルを

      任意のタイミングで、データ抽出、作成したいと考えています。

      実際には、あるグループのユーザーは table_80 を、別のグループのユーザーは table_81 を参照する

      ようにできるのが理想で、所属グループに対応した twbx ファイルを抽出できればと思います。


      Tableau Server を使用できる環境になく、tabcmd のヘルプなどみてみましたが可否がわかりませんでした。


      初投稿につき不備などありましたら申し訳ないです。

      ご存知の方やアドバイスなどありましたら、コメントいただけると助かります。 

      どうぞよろしくお願い致します。

       

      Ogawa

        • 1. Re: カスタムSQL パラメータ使用について
          Hiroki Maeda

          こんにちは。


          質問1: 同じ方式を業務で利用しております。Tableau側というよりデータベース側の負荷が許せば問題ないと思います。複数のパラメータを活用することでTableauで表現できるチャートが増えるので個人的には気に入っている方法です。

           

          質問2:私の知る限りではできないと思います。80、81 の各ワークブックを作る必要があると思います。

          動的にパラメータを操作する機能は多くのTableauユーザがニーズを上げています。(是非、機能要望の投票を!)

          Dynamic Parameters: The Results Are In | Tableau Software

          今回のケースに合致するか微妙ですがETLツールなどで開発できそうならば、
          APIを利用して各テーブルごとのTDEを作成し、twbファイルを合わせて zip にすればパッケージワークブックを作成できると思います。

          http://onlinehelp.tableau.com/current/pro/online/ja-jp/help.html#extracting_TDE_API.html

          • 2. Re: カスタムSQL パラメータ使用について
            Hiroko Ogawa

            Maeda さん

             

            こんにちは。 ご回答いただきありがとうございます。

             

            実業務で使用されているとのことで、参考になります。使用自体は問題はなさそうですね。

            私の環境では、データ件数が少なくDB側の負荷まで考慮していませんでしたので、この方法を実施する場合はDB側の

            面からも改めて考えたいと思います。 

             

            質問2についても、ありがとうございます。 機能要望のリンクにて賛成票を1票いれました。

            現時点では、パラメーターの数値毎にワークブックを作成する方向になるかと思いますが、開発できる可能性もあるよう

            ですので、何かの折には参考にさせていただきます。