Qlik Cloud には、データを部分的に更新できる 「パーシャルリロード(Partial Reload)」 という仕組みがあります。 フルリロードのように全テーブルを読み直す必要がなく、 一部のテーブルだけ更新したいときに非常に便利です。
今回は、パーシャルリロードを活用し、シート上にボタンを配置し、ボタンを押すと指定した一部のテーブルのみが更新される設計について、解説しようと思います。
ロードスクリプトへの実装
スクリプト例としては、下記のようになります。
通常リロードの部分を『If not IsPartialReload() then~End If』で囲み、パーシャルリロードの部分を『Replace Load』と書きます。
If not IsPartialReload() then
商品:
LOAD
商品コード,
カテゴリコード,
商品名,
カテゴリ名,
単価
FROM [データソース]
(txt, utf8, embedded labels, delimiter is ',', msq);
End If
顧客:
Replace Load
顧客ID,
性別,
生年月日,
都道府県,
市区町村,
登録日,
有効フラグ
FROM [データソース]
(txt, utf8, embedded labels, delimiter is ',', msq);
シート上へのボタン実装
シート上にパーシャルリロードを実行するボタンを配置します。やり方としては2つあります。

1つ目は、Qlikの標準機能としてボタンに割り当てられる『データのリロード』のアクションを使うことです。こちらは非常に簡単に実装できますが、ボタンを押したユーザーがアプリの所有者の場合でのみリロード可能なようです。

2つめは、パーシャルリロードを実行するQlik Automateを作成し、ボタンを押した際にQlik Automationを呼び出し、バックグラウンドでリロード処理を実行させる方法です。この方法では、閲覧専用のユーザーであっても、パーシャルリロードを実行することができます。
自動化は『Do Reload』のブロックのみを配置し、App IDを指定の上、Partialの箇所を『Yes』とします。
さいごに
これにて、シート上のボタンを押すことで、指定した一部のデータのみが更新されるようになりました。
パーシャルリロードは、指定した一部のテーブルのみをリロードするため、処理も早く便利です。
ぜひ試してみてください。


