Tableau Serverからライブ接続しているcsvファイルをAlteryxで更新してみた

2023.04.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、まつおかです。

今回はTableau Serverにパブリッシュしたダッシュボードのデータソース(csvファイル)をAlteryxから上書き更新してみましたのでその手順をご紹介します。

ダッシュボードからデータソースへはライブ接続設定にしていますので、Alteryxから更新されたタイミングで、Tableau側で抽出などの手間もなく最新のデータを閲覧することが可能です。

使用環境

  • Tableau Server(Ver.2022.1.3):Windows Server 2019
  • Tableau Desktop(Ver.2022.2):Windows 10 Pro
  • Alteryx Designer(Ver.2022.1):Windows 10 Pro

手順

今回実施した手順は以下となります。

  1. Tableau Serverにデータソース格納用のフォルダを用意
  2. csv形式のデータソースを格納
  3. Tableau Desktopでcsvファイルととライブ接続設定したTableau ワークブックを作成
  4. 作成したワークブックをTableau Serverにパブリッシュ
  5. ローカルPCでTableau Serverの共有フォルダをドライブ割当
  6. AlteryxのWFでデータ出力ツールを使い、割当てたドライブ内のファイルを上書き更新
  7. Tableau Server上のワークブックを開くとデータが最新状態に!!

順を追って説明します。

1. Tableau Serverにデータソース格納用のフォルダを用意

まずはTableau Serverにデータソースを格納するためのフォルダを用意します。
今回はTableau Serverにフォルダを作成しましたが、Tableau ServerからUNCパスで参照可能なフォルダであればOKです。
また、このフォルダは後ほどローカルPCから参照する必要がありますので、共有設定しておく必要があります。共有設定については以下に概要を記載しますが、アクセスを許可するユーザーやグループについては運用に適した設定にしてください。

  • フォルダのプロパティから、共有タブを開き、「詳細な共有」ボタンをクリック

  • 「このフォルダーを共有する」にチェックを入れ、共有名に任意の共有名を入力し、「アクセス許可」ボタンをクリック

  • アクセスを許可するユーザーまたはグループを追加 デフォルトではEveryoneに読み取りのアクセスが許可されていますが、許可する対象へ変更してください。

  • プロパティ画面まで戻り、セキュリティタブを開く 共有タブから設定した許可はネットワーク経由のアクセスについての許可ですが、セキュリティタブで設定するアクセス権は、ファイルやフォルダへのアクセスに対して適用されます。
    詳細はこちらを参照ください。
    【Windows Server 2019】共有アクセス権とNTFSアクセス権の組み合わせ | hirota.noの技術ブログ〜 It's all over the network.

  • セキュリティタブにある「詳細設定」をクリック

  • 必要に応じて適切な設定に変更

※ サーバーのファイルやフォルダを読み書きするには、サーバー側のSMB通信用のポートを開けておく必要がありますので、こちらも必ず設定してください。

2. csv形式のデータソースを格納

1で用意したフォルダーに、データソースとなるcsvファイルを格納します。

3. Tableau Desktopでcsvファイルとライブ接続設定したTableau ワークブックを作成

Tableau Desktopを開き、2で格納したcsvファイルをデータソースとしたワークブックを作成します。 この際、データソースはライブ接続とし、ファイル参照のパスにはUNCパスを指定します。
通常、ファイルを指定しただけではUNCパスにはなりませんので、データソースウィンドウで接続の編集からパスを変更する必要があります。

4. 作成したワークブックをTableau Serverにパブリッシュ

データソースをUNCパスに変更したワークブックをTableau Serverにパブリッシュ([サーバー]>[ワークブックのパブリッシュ])します。 この際、「外部ファイルを含める」のチェックボックスはオフにしてください。

5. ローカルPCでTableau Serverの共有フォルダをドライブ割当

Alteryxを使用するPCで、1で作成したフォルダをドライブ割り当てします。

  • エクスプローラでPCを選択し、[コンピューター]>[ネットワーク ドライブの割り当て]>[ネットワーク ドライブの割り当て]を選択

  • ネットワーク ドライブの割り当て画面で割り当てるドライブを選択し、ネットワーク共有フォルダのパスを入力

6. Alteryx Designerでデータ出力ツールを使い、割当てたドライブ内のファイルを上書き更新

Alteryx Designerを開きTableau Serverのワークブックから参照するcsvファイルを上書き更新する処理を作成します。
出力にはデータ出力ツールを使用し、書き込み先には5で割り当てたドライブのcsvファイルを選択します。これによりワークフローを実行するとTableau Serverのワークブックから参照しているcsvファイルを上書き更新できます。

7. Tableau Server上のワークブックを開くとデータが最新状態に!!

Alteryxのワークフローを実行するとライブ接続されているcsvファイルが上書き更新され、Tableau側では何もせず(ダッシュボードを開いている場合は開き直すかデータの更新ボタンをクリック)、最新のデータを参照することができます。

注意点

HyperファイルはTableau Serverからライブ接続することはできませんので、今回ご紹介した方法を取る場合にはcsvやExcelファイルを利用いただくことになります。
また、「C:\Users\・・・」といった通常のファイルパスを参照したTableau ワークブックは、パブリッシュ後に参照先をUNCパスに変更することはできません。この場合はTableau Serverからワークブックをダウンロードし、パスを変更したのち再度パブリッシュする必要があります。
詳細はこちらをご参照ください。

パブリッシュされた Excel データ接続の UNC パスを更新できない | Tableau Software

おまけ

ローカルPCにドライブ割り当てする際、何度も試していると正しい設定にしているにも関わらずサーバーのフォルダにアクセスできなくなりハマりました。。。
原因はサーバーへの認証時に資格情報を記憶してしまったことで、別のアカウントで接続したい場合に切り替えできなかったことが原因でした。そんな時はWindowsで記憶している認証情報を削除する必要があります。
手順はこちらをご参照ください。

別のアカウントでファイル共有サーバーにアクセスする (Windowsで記憶している認証情報を削除する) : Windows Tips | iPentec

さいごに

Tableau Serverのライブ接続対象のファイルをAlteryxで更新したくて試してみました。
ローカルPCからサーバーのフォルダを参照しますので、セキュリティの設定などしっかり検討する必要はありますが、とても便利な方法かとは思います!