
- Qlik Cloud
- Qlik Sense
- 利用者
- 可視化・分析
ストーリーテリングで分析結果を簡単に共有!(その2)
今回はスライドに文字や図形を追加する方法や、作成したストーリーの共有・出力方法ついてお伝えします!
Qlik Sense SaaSで、ユーザーごとに異なるデータの表示を行いたいと思ったことは
ありませんか?
アプリにアクセスするユーザーごとに、同一のアプリで異なるデータを表示する方法として、Section Accessというセキュリティ機能を使用する方法があります。
Section Accessを使用すると、Qlik Sense SaaSにログインしているアカウントに応じて、アプリのデータの表示/非表示を制御することができます。
そのため、複数のアプリやシートを作成することなく、一つのアプリでユーザーによって異なるデータを表示することが可能です。
※本記事は「2023年07月時点のSaaS」で作成しています。
データ ロード スクリプトで実装するもので、データとは別に「どのユーザーにどのデータを見せるか」を行レベルでのセキュリティを定義し、データ制御用のマスタテーブルを用意して、そのテーブルに基づいて、アプリを開いた時点で表示制御を行うセキュリティ機能になります。
例えば、以下のようなデータがあり、「部署」ごとに閲覧対象データの表示を制御したいと仮定します。
以下の例の場合は、Qlikアカウントに登録しているメールアドレスが
「USER1@EXAMPLE.COM」のユーザーは部署:北米の値を閲覧でき、
「USER2@EXAMPLE.COM」のユーザーは部署:日本の値を閲覧できます。
「ADMIN@EXAMPLE.COM」のユーザーはどちらの値も閲覧できます。
部署 | 年 | 売上 |
北米 | 2021 | 100 |
北米 | 2022 | 150 |
日本 | 2021 | 200 |
日本 | 2022 | 250 |
データ制御用のテーブルを用意します。
▼データ制御用テーブルの例
ACCESS | USER.EMAIL | 部署 |
ADMIN | ADMIN@EXAMPLE.COM | (記載なし) |
USER | USER1@EXAMPLE.COM | 北米 |
USER | USER2@EXAMPLE.COM | 日本 |
USER | USER3@EXAMPLE.COM | * |
※項目名・項目値は、すべて
大文字
で記述する必要があります。
※例外として「*(アスタリスク)」はワイルドカード(項目内の全ての値)を表し、半角英数字で記載します。
ただし、データ制御用テーブルに含まれていない項目値(例えば、部署が「日本、北米」以外の「南米」など)が含まれていた場合は、その値を参照することができません。
「*」で記載する場合は、データ制御用テーブルの「部署」内に表示できるようにしたいすべての項目が「部署」の「*」以外の記載に含まれるようにしてください。
●ACCESS(項目名の変更:不可)
ユーザーに割り当てるアクセス権です。
「ADMIN」権限を持つユーザー | データ制御用のテーブルによって制限されない限り、アプリ内の全データを閲覧できます。 |
「USER」権限を持つユーザー | 定義されたデータのみ閲覧できます。 |
「ADMIN/USER」権限のどちらも割り当てられていないユーザー | アプリを開くことができません。 |
●USER.EMAIL(項目名の変更:不可)
ユーザーのメールアドレスを指定します。
●部署(項目名の変更:可)
閲覧可能なデータを制御するための、任意項目です。
「USER3」に対し指定している「*」は、データ制御用テーブルの「部署」項目に存在するすべての値が閲覧可能になるオプションです。
Section Accessの設定前に対象のアプリを複製し、バックアップを取得します。
Section Accessの設定を誤った場合、例えば、誤ったメールアドレスをSection Accessで設定してしまった場合、今までアプリにアクセス出来ていたユーザーがアプリにアクセスできなくなることがあります。
設定を誤った場合でも、Qlik Sense SaaSで対象のアプリの右横にある[…]をクリックし、[データなしで開く]を選択すると、[データ ロード エディタ]でスクリプトを編集することも可能ですが、予めアプリを複製しバックアップを取得してください。
アプリの[データ ロード エディタ]にスクリプトを記述し、ロードします。
※解説はコメント(//の後)に記載しています。
▼スクリプト例
Section Access;
//データ制御用テーブルは、「Section Access;」の後に
//ロードスクリプトを書きます。
//なお、このテーブルのデータは分析用のデータとしては表示されません。
LOAD * INLINE [
ACCESS,USER.EMAIL,部署
ADMIN,ADMIN@EXAMPLE.COM,
USER,USER1@EXAMPLE.COM,北米
USER,USER2@EXAMPLE.COM,日本
USER,USER3@EXAMPLE.COM,*
];
Section Application;
//分析用データのロードスクリプトは「Section Application;」
//の後に書きます。
LOAD * INLINE [
部署,年,売上
北米,2021,100
北米,2022,150
日本,2021,200
日本,2022,250
];
※上記例ではデータを見やすくするため、インライン ロードでデータを記載しています。
データ制御用のマスターやアプリのデータソースはデータベースやExcelファイルなどを使用できます。
アプリを公開し、データ制御の動作を確認します。
アプリを公開している場合は、公開したアプリでリロードを行うことでデータ制御が反映されます。
▼ADMIN@EXAMPLE.COMでログインしたときに表示されるデータ
部署 | 年 | 売上 |
北米 | 2021 | 100 |
北米 | 2022 | 150 |
日本 | 2021 | 200 |
日本 | 2022 | 250 |
▼USER1@EXAMPLE.COMでログインしたときに表示されるデータ
部署 | 年 | 売上 |
北米 | 2021 | 100 |
北米 | 2022 | 150 |
▼USER2@EXAMPLE.COMでログインしたときに表示されるデータ
部署 | 年 | 売上 |
日本 | 2021 | 200 |
日本 | 2022 | 250 |
▼USER3@EXAMPLE.COMでログインしたときに表示されるデータ
部署 | 年 | 売上 |
北米 | 2021 | 100 |
北米 | 2022 | 150 |
日本 | 2021 | 200 |
日本 | 2022 | 250 |
▼その他のユーザー
Section Accessのデータ制御用テーブルに登録されていないユーザーがアプリ一覧からアプリを開いた際は「エラーが発生しました」「アクセスが拒否されました」と表示されます。
もし、意図せずこのような表示となった場合はデータ制御用のテーブルの見直しを行ってください。
|
管理コンソールでスケジュールを作成してリロードを行う場合、管理スペースか共有スペースかで必要な権限が異なります。
それぞれのスペースで以下の権限を持つユーザーがリロードおよび定期的なリロードのスケジュール設定が可能なユーザーとなります。
管理スペース:所有者、管理可能
共有スペース:所有者、管理可能、編集可能
加えて、Section Accessを用いてリロードを行っている場合はリロードを行うユーザーに対して、データ制御用テーブルの「ACCESS」項目でADMIN権限を持たせて、全てのデータが参照可能な状態にしてください。
Section Accessの機能について、おわかりいただけたでしょうか。
今回紹介したSection Accessの詳細については、以下のメーカーヘルプをご覧ください。
Section Accessによるデータセキュリティの管理
Section Accessを利用して表示するデータを制御することで、ユーザーごとにアプリやシートを個別に作成する必要がなくなります。
ユーザーごとにアプリやシートを作成している方は是非、活用してみてください!
今回はスライドに文字や図形を追加する方法や、作成したストーリーの共有・出力方法ついてお伝えします!
Qlik Senseでは、カスタム オブジェクトとしてRadar chart(レーダーチャート)が用意されています。Radar chartは商品別に複数の評価項目の評価値を確認したい場合などに便利です!この記事では、Radar chartの作成方法を紹介します。
ストーリーテリングの概要とスナップショットの操作についてお伝えします。