2022/06/21
アドバンスド
このコンテンツでは、SpotfireのRow Level Security機能について説明していきます。
なお、本コンテンツで利用したバージョンはSpotfire10.10/11.4となります。ご利用環境によって、一部画面構成が異なる可能性があります。ご了承ください。
Row Level Security機能とは、ログインしているSpotfireユーザーによって見れるデータを制限できる機能です。
下図のように1つのデータに2つの事業所の顧客データが存在している場合、ユーザーの所属に応じて見れるデータを制限できます。
Row Level Security機能を実現するためには下記2つの前提事項があります。
上記前提事項を踏まえたうえで、Row Level Security機能を2通りの方法で実現します。
(1)データ接続
(2)インフォメーションリンク
本コンテンツでは(1)データ接続 について説明します。(2)インフォメーションリンクについてはこちらの記事を参照してください。
今回は例として、下記のようなデータ(testtable)を利用して、自分が属しているグループのレコードだけをSpotfire側に渡します。
本コンテンツの仮想Spotfireユーザーは事業所グループ「groupB」に所属しているため、「groupB」のレコードだけをSpotfireに表示させるようにします。
データが格納されているデータベースに接続します。
データベースとの接続方法はこちらをご参照ください。
接続ができたら「接続内のビュー」ダイアログが表示されます。
カスタムクエリを作成し、ユーザーに権限のあるデータのみを取得します。
「接続内のビュー」ダイアログにおいて、カスタム クエリ > 新規カスタム クエリ をクリックすると「カスタム クエリ」ダイアログが表示されます。
下図のように設定していきます。
設定できたら「OK」を押します。
すると「接続内のビュー」に先ほど作成したカスタムクエリが表示されるので、このまま「OK」を押します。
今回はインメモリ処理で行うため、「データを分析に追加」画面で「インポート」を選択します。インDB処理にしたい場合は「外部」を選択します。
データを取り込めたら可視化をします。試しにデータテーブルを出して確認します。
今回のSpotfireユーザーは「groupB」に所属しているため、「groupB」のレコードだけが表示されます。
実際に確認してみると、下図のように事業所グループが「groupB」のレコードのみが表示されています。
このように、データ接続からユーザーごとに閲覧できるデータを制限することが可能です。
前の記事
TIBCO Streaming連携【アドバンスド】最新の記事
SELECT * FROM testtable
WHERE testtable.事業所グループ in (?current_groups)