【Qlik Automate】スプレッドシート更新をトリガーにQlikアプリを即時自動リロード

Qlikにて、データの更新を定時更新ではなく、元データが更新されたタイミングで即時に反映したいと思ったことはあると思います。
その都度Qlikの画面を開きアプリを手動で更新すれば可能ですが、流石に面倒です。

今回は、Qlik Automateを使い、スプレッドシートが変更されたら自動でQlikのアプリが即時リロードされるといった仕組みを作成しようと思います。

目次

Triggered とは?

Qlik AutomateのStartブロックRun Modeには、Manual・Scheduled・Triggered・Webhookの4つの選択肢があります。

このうちTriggeredに設定すると、そのオートメーション専用のWebhook URLが発行されます。
このURLに対し、外部システムからリクエストを送ることで、オートメーションが自動で実行されるようになります。
外部やアプリ側から能動的にリクエストを投げて実行できる点がWebhookモードとの違いです。

Triggeredに設定すると、Run asynchronously(非同期実行)の選択がでてきます。短時間の処理や実行結果・レスポンスデータをすぐに呼び出した側で受け取りたい場合は『No』を、リロードが長時間にわたる場合は『Yes』を選択してください。

GASの設定

Googleスプレッドシートにて、変更が行われたらオートメーション実行のリクエストを送る設定をしていきます。
Googleスプレッドシートに標準搭載されているGoogle Apps Script(GAS)という機能を使用します。

スプレッドシートのメニューより、「拡張機能」>「Apps Script」を開き、下記スクリプトを記入して保存してください。

function reloadQlikApp() {
  const url = "Qlik AutomateのTriggered Webhook URL";
  UrlFetchApp.fetch(url, { method: "post" });
}

これにて、スプレッドシートからQlik Automateに実行のリクエストを送る、『reloadQlikApp』という名前の関数が作成されました。

次に、スプレッドシートが更新された際に先ほどの関数が自動で動くようトリガーを設定します。

Apps Scriptの画面の左メニューより、「トリガー(時計アイコン)」を選択します。
画面右下の「トリガーを追加」ボタンを選択し、「実行する関数を選択」にて先ほど作成した関数を、「イベントのソースを選択」にて「スプレッドシートから」を、「イベントの種類を選択」にて、「変更時」を選択してください。

これにて、スプレッドシートの変更時に関数が実行されるようになり、Qlik Automateに実行のリクエストが飛ぶようになりました。

さいごに

スプレッドシートの設定後、Qlik Automate側にてStartブロックの後にアプリのDo Reloadブロックを配置することで、スプレッドシートの変更によりアプリが自動で更新されるようになります。

スプレッドシートの更新頻度が高い場合は、特定セルのみをトリガーにすることや関数実行のボタンをスプレッドシートに配置することも可能です。

ぜひ試してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次