Qlik Document Chainingで選択状態を引き継いで別のアプリを開く(その1)

こんにちは!Yokoです。
先日、麩の懐石コースをいただいてまいりました。こちらのお店です。
麩は小麦で作られていまして、タンパク質はすべて麩で賄えるって、ちょっとビックリです。グルテンフリーの料理も昨今よく聞きますが、こちらはまさにフルグルテンです。
小麦アレルギーの方はご遠慮いただくことになりますが…

さて、今回はDocument chainingという技術をご紹介します。
これをご存じの方は、おそらくQlikマニアの部類に入る?
でも、面白い技術なのでおつきあい下さい。

目次

Qlik Document Chainingはどんな時に使うのか?

  • Qlikアプリのサイズが大きくて、分割しなければならなくなった
  • 古い過去データは別アプリにしている
  • 全体を把握するアプリは概要のみで、詳細はエリア別のアプリを見るように作っている

そんなとき、わざわざアプリを開き直している…
なんていうことをしていませんか?
実はQlik CloudのURLの構造を理解していれば、異なるアプリ間を行ったり来たりできるんです。
さらに解析を進めれば、選択状態を引き継いで別のアプリを開くこともできる…
そんな機能をQlik Document Chainingといいます。

Qlik CloudのURLの構造を理解する

Qlik Cloudでアプリを開いてみると、URLはこんな感じになっていると思います。

https://hoge.jp.qlikcloud.com/sense/app/xxxxxxxxxx/sheet/yyyyyyyyyy/state/analysis

URLを分解していきますと…

https://hoge.jp.qlikcloud.com/sense/hoge.jpはあなたに与えられたホスト(固定)
app/xxxxxxxxxx/アプリID
sheet/yyyyyyyyyy/シートID
state/analysis固定

app/xxxxxxxxxx/”と”sheet/xxxxxxxxxx/”の”xxxxxxxxxx“と”yyyyyyyyyy“を指定してあげれば、URLを指定してQlikのアプリの特定のシートを直接開くことができます。
SharePointやTeamsなどでメニュー化したいときなどは、このURLリンクを使えばOKです。
まあ、アプリを開いてURLをコピペすればいいだけの話ですが…

選択状態をURLに埋め込むには

ここからが本題です。
QlikのURLに選択状態を埋め込むにはURLにselect/を追加します。
こんな感じです。

https://hoge.jp.qlikcloud.com/sense/app/xxxxxxxxxx/sheet/yyyyyyyyyy/state/analysis/select/性別/男性/select/年齢/20;21

上の例では、性別が男性で年齢が20歳と21歳という選択状態を指定していることになります。

Document Chainingを実装してみる

ではQlikアプリに実装していきましょう。
今回のシナリオは、fdmt_allという売上全体を分析するアプリからfdmt_customerという顧客を分析するアプリを開きますが、その際に店舗タイプと売上年月の選択状態を引き継いで、遷移するという内容です。

項目名は、店舗タイプ=「店舗タイプ」、売上年月=「売上日.calendar.YearMonth」となっていますので、
…./select/店舗/スーパーマーケット/select/売上日.calendar.YearMonth/2024-11月;2024-12月
とURLに追加してあげればよいのですが、その文字列を自動で取得するには、GetCurrentSelectionsという関数を使用します。

‘https://hoge.jp.qlikcloud.com/sense/app/xxxxxxxxxx/sheet/yyyyyyyyyy/state/analysis/select/’ & GetCurrentSelections(‘/select/’,’/’,’;’)

GetCurrentSelections関数では「選択項目の区切りは’/select/’で、選択されている値の区切りは’;’」という指定です。詳細はQlikのHELPでご確認下さい。
以前書いた記事「Qlikのレイアウトコンテナを使ってボタンの機能を切り替えてみる」で作成したアプリのボタンに実装していきます。

前回の記事のボタンアクションでは「シートに移動」でしたが、以下のように設定を変更します。

ナビゲーションウェブサイトまたはメール…
ウェブサイトのURL=’https://hoge.jp.qlikcloud.com/sense/app/aaaccc/sheet/yyyyyy/state/analysis/select/’ & GetCurrentSelections(‘/select/’,’/’,’;’)
同じウィンドウ内に開く同じアプリ上で遷移しているように見せる場合はチェック

ウェブサイトの”hoge.jp”, ‘”app/aaaccc”, “sheet/yyyyyy”は、あなたの環境に合わせて変更して下さい。
ボタンのラベルは「顧客分析へ」と変更します。
また、ここではクリアして遷移するか、クリアせずに遷移するかでボタンが2つありますので、コンテナ内のもう一つのボタンも同様に設定します。

ページ遷移を確認してみる

では、fdmt_allアプリの「顧客分析へ」ボタンを押して動作を確認してます。

店舗タイプと売上年月を選択した状態で[顧客分析へ]ボタンを押すと、以下のように顧客分析(fdmt_customer)が選択状態が保たれたまま開かれます。

このCustomer Summaryシートに、上記と同様に逆に戻れるようにボタンを作成しておけば、アプリ間を相互に移動できるようになります。

まとめ

異なるアプリ間で選択状態を保持したまま、遷移できるDocument Chainingをご紹介しました。
Document Chainingを使うと、別々のアプリなのに、あたかも同じアプリ内で動いているように見えますよね。
ただ、ちょっとした落とし穴がありまして、それを説明すると長くなりますので、次回に回すことにします。
ではまた!

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

この記事を書いた人

目次