ここではログインユーザー毎にデータのマスクが切り替わるレポートの作成手順を説明します。
こちらは1ユーザーに対し、アクセスフィルターが1レコードだけ登録されている場合の手順になります、1ユーザーに対し、アクセスフィルターが複数レコード登録されている場合はこちらの記事をご参照ください
完成イメージ
※ユーザー001でログインした場合
※ユーザー002でログインした場合
作成手順
- データソース>アクセスフィルターの登録
ログインユーザー毎に閲覧可能なデータを紐づけるためのアクセスフィルターを作成します。
この例ではテストユーザー001はID=Aのデータが閲覧可能となっています。
※アクセスフィルターの対象が1ユーザー、1レコードの場合が前提となります。 - ビュー>アクセスフィルターの設定
ビュービルダー>準備ステップにて対象となるフィールドにアクセスフィルターを設定します - ビュー>マスク表示名の作成
マスクがかかっている場合の表示名を計算フィールドで作成します。
この例ではIDに固定文言の”社"を結合しています。
他にもCASE文等を使用してそれぞれ固有の名称をつけることも可能です。 - レポート>マスタークエリの作成
各フィールドを配置し、計算フィールドでサブクエリとの結合用フィールドを追加します。
この例では固定文言”ダミー"としています。 - レポート>サブクエリの追加
サブクエリを追加し、サブクエリ側にも結合用の計算フィールドを作成し、結合条件にします。
サブクエリ側はアクセスフィルターを有効にします。 - レポート>サブクエリのフィールドを追加
サブクエリ側のフィールドを追加するとログインユーザーが参照可能なデータが表示されます。 - レポート>表示名の切り替え
マスタークエリ側へ計算フィールドを追加します。
この計算では「マスタークエリのID」=「サブクエリのID」の行のみDB上の名称を表示し、それ以外の行では手順3で作成したマスク用の名称を表示させるようにしています。 - レポート>レイアウトの調整
必要なフィールド以外は非表示に設定するなど、レイアウトを整えます。