Qlik Senseナレッジ - INSIGHT LAB

ライトテーブルを利用して編集したデータの更新情報をSlackに連携する【Write Table+Qlik Automate】

作成者: Deck|2025年12月26日

こんにちは。Deckです。

 

この記事ではライトテーブルでユーザーが作成したデータを外部サービスのSlackに連携する方法を解説します。

ライトテーブルは公開されてまだ間もない機能なので、ライトテーブルの概要についてはライトテーブルのファーストインプレッション紹介記事も読んでみてください。

 

ライトテーブルから情報を持ち出す方法の使い分け

Qlik Senseの他のデータとは異なり、ライトテーブルを使って作成し更新を行ったデータは「ストア」という領域に保存されています。

ストアの情報にアクセスするためには大きく分けて「ロードスクリプトで取得」「Qlik Automateで取得」の2つの方法があります。

それぞれ以下のように使い分けがあるので、適した方法を使いましょう。

  • ストアの「全体」「最新」のデータが欲しい場合
    ⇒ロードスクリプトでデータ取得(ライトテーブルのデータをQVDに永続化の記事で解説しています)
  • ストアの「更新履歴」のデータが欲しい場合や、取得したデータをそのまま外部サービスに連携したい場合
    ⇒Qlik Automateからデータ取得(この記事で解説します)

この記事ではQlik Automateでデータを取得し、外部サービスのSlackに連携して更新内容をポストする方法について見てみましょう。

この記事の目的

この記事では次のような流れでライトテーブルのデータをSlackに連携します。

  • Qlik Senseのライトテーブルにユーザーがデータを書き込む
  • ボタンでQlik Automateを起動
  • ストアのデータを読み取り、更新されたデータをSlackに連携

流れを図にするとこのような形になります。

手順① Qlik Senseアプリの準備

ライトテーブルで顧客一覧を編集し、ボタンでSlackに連携するアプリを作ってみましょう。

前提条件として、Qlik Cloud上の分析アプリにライトテーブルを作成できているものとします(ライトテーブルの作成方法はこちらの記事をご覧ください)。

シートにライトテーブルとボタンを1個ずつ配置し、ボタンのラベルとして「Slack送信実行」を設定します。

アクションの設定としてどの自動化を実行するか入力する欄がありますが、ここでは記入せず、あとで戻ってきて入力します(画像右下の「あとで記入」の部分)。

また、変数として「v最終連携日時」を作成します。

定義として、今日より前の日付を入力します。

これから作成する自動化でこの変数を参照し、古い情報が何度もSlackに送信されないようにします。

手順② Slackでチャンネルを作成

メッセージの送信先となるチャンネルを作成します。

既存のチャンネルを送信先に設定してもよいのですが、新規チャンネルを作成したほうがのちのち管理しやすいと思います。

手順③ 自動化の設定

Qlik Automateから、新しい自動化を作成します。

自動化では大きく分けて以下の3つの処理を実行します。

  • アプリの変数からライトテーブルの最終更新日を取得
  • 前回の実行より後の更新を取得し、Slackにポストを送信
  • アプリの変数に新しい最終更新日を設定する

この流れを図にするとこのようになります。

Get Variable

Qlik Senseアプリの変数から値を読み取ります。

App IdとVariable Idに先ほど作成したアプリと変数名を設定します。

Variable

先ほどのブロックで取得した更新日をQlik Automate内の変数に設定します。

「Manage variables」をクリックすると新しい変数を作成することができます。変数の種類は「String(文字列)」としましょう。

List Current Changes From Change Store

ライトテーブルで編集したストアから、前回の自動化実行時より新しい更新を取得します。

ストアIDはライトテーブルのプロパティから確認できます。

フィルターとして、「updatedAt gt "V Max Date Time"」を設定します。

ここでの「gt」は「grater than = ○○より大きい」の意味です。

Send Message With Attachment

Slackのチャンネルにメッセージを送信します。

チャンネル名、タイトル、テキストを入力します。

また初回設定時はSettingsタブからアカウントを連携する必要があります。

Condition+Variable

ライトテーブルの各レコードについて、「vMaxDateTimeよりも大きければそれを新しいVMaxDateTimeに設定する」ことを繰り返します。

この処理が各レコードについて繰り返されることで、最終的に一番新しい日付が最終更新日となります。

Variable

ここまでの処理で決まった最終更新日を次回の自動化でも参照できるように、Qlik Senseアプリの変数に書き戻します。

最後に自動化を保存し、自動化のIDをQlik Senseアプリのボタンに設定します。

実行してみる

ここまでの設定を完了したら、ライトテーブルにデータを書き込んでからボタンをクリックしてみましょう。

Slackのチャンネルにメッセージが送信されたら成功です。

まとめ&注意事項

この記事では、「ライトテーブルに書き込んだデータをボタンでSlackに連携する方法」を解説しました。

注意点として、ライトテーブルで扱う「更新」はセル単位で保持しているため、仮に既存のレコードの一部分だけを編集して連携を実行した場合には編集された部分だけがメッセージとして送信されます。

上記のように少し癖はありますが、使いこなせればQlik Senseの可能性をさらに広げる良い機能だと思います。

それではまたお会いしましょう!