お世話になっております。
TableauDesktop(PublicEditionではないです)にてGoogleスプレッドシートのデータソースを接続したワークブックをTableau Publicにパブリッシュして、毎日一定の時間にデータソースの更新をさせたいです。
パブリッシュするところまでは上手く出来たのですが、更新スケジュールを設定する場所がございません。設定方法をご存じな方がいましたら、教えてください。
Tableau DesktopからGoogleスプレッドシートをデータソースとして接続したワークブックをTableau Publicに公開する際、Tableau Public自体にはデータ更新のスケジュール機能がありません。そのため、定期的にデータを更新したい場合は以下の代替案を検討する必要があります。
1. Tableau OnlineまたはTableau Serverを利用する
• Tableau Publicではなく、Tableau OnlineまたはTableau Serverを使用すると、データソースの更新スケジュールを設定することができます。
• 更新手順:
1. Tableau OnlineまたはServerに接続し、ワークブックをパブリッシュします。
2. データソースの「更新スケジュール」を設定します。
3. 更新時にGoogleスプレッドシートのデータを取得し、ビューに反映されます。
• これにはTableauの有料プランが必要です。
2. Googleスプレッドシートの自動更新機能を活用する
• Tableau Publicにデータを公開しつつ、Googleスプレッドシート側でデータを自動更新できるよう設定します。
1. Google Apps Scriptを使ってGoogleスプレッドシートに自動更新スクリプトを設定します。
2. Googleスプレッドシートが更新されると、Tableau Publicで手動で「データソースの更新」を行うことで新しいデータを反映させます。
3. 手動で更新する(スケジュールリマインダー活用)
• Tableau Publicではデータソースのスケジュール更新がサポートされていないため、手動でデータソースを再アップロードする必要があります。
• 手順:
1. Tableau DesktopでGoogleスプレッドシートを接続したワークブックを開きます。
2. 「データ」タブから「すべての抽出を更新」を選択します。
3. 更新後、再度Tableau Publicにパブリッシュします。
• 定期的に実行したい場合、リマインダー(Google CalendarやTo-Doアプリ)を設定することで対応可能です。
4. Pythonまたは他の自動化ツールを活用する
• Tableau Public Sync Client(無料ツール)やPythonライブラリ(例: tableau-api-lib)を使い、定期的にデータを更新するスクリプトを組むことが可能です。
• スクリプト例(Pythonを使用する場合):
ただし、Tableau PublicはAPIでのスケジュール管理に制限があるため、場合によっては上位プランが必要です。
まとめ
自動更新が必要であれば、Tableau OnlineやServerの利用をおすすめします。それが難しい場合はGoogleスプレッドシートやPythonのスクリプトを使った間接的な方法で対応するか、手動更新を行う必要があります。(GPT回答一部引用)