Power BIのレポートを社内で共有するとき、「営業部には営業部のデータだけを見せたい」と考える場面があります。
このようなときに使えるのが、行レベルセキュリティ(RLS) です。 RLS を使用すれば、1つのレポートを共有しながら、利用者に応じて表示するデータを絞り込めます。
確認環境
- 確認日:2026年8月
- Power BI Desktop:2.156.951.0 64-bit
※注意:Power BIの更新や利用環境によって、画面名や設定項目が異なる場合があります。
この記事のゴール
営業部のメンバーがレポートを開いたとき、営業部の売上データだけが表示される状態を作ります。
- RLSで制限できる範囲を理解する
- Power BI Desktop でロールを作成する
RLS(行レベルセキュリティ)とは
RLS は、ユーザーごとにテーブルの行をフィルターする仕組みです。たとえば、売り上げテーブルに「部署」を識別する列があれば、営業部ロールには営業部の行だけを表示することができます。
Power BI Desktop でロールを作成する
今回使用するデータの例
今回は、次のような売り上げテーブルを使います。
| 日付 | 部署 | 社員 | 売り上げ |
|---|---|---|---|
| 2026/08/01 | 営業部 | 田中 | 120,000 |
| 2026/08/01 | サポート部 | 佐藤 | 80,000 |
| 2026/08/02 | 営業部 | 鈴木 | 95,000 |

ロール作成
Power BI Desktop でレポートを開き「モデリング」>「ロールの管理」を選択します。

「新規」でロールを作成し、ロール名を「営業部」とします。

ロールの絞り込み条件を設定します。
データテーブルの「部署」列に対して「営業部」のデータのみに絞り込み条件を設定します。
※「サポート部」のロールも同様に作成します。

ロールの表示確認
「モデリング」>「表示方法」を選択します。

「営業部」を選択して「OK」を選択します。

Visual のデータが営業部のデータのみに絞り込まれて表示されれば成功です。
※佐藤さんのデータが表示されなくなる。

Power BI Service にデプロイしてユーザーをロールに追加する
Power BI Desktop で動作確認できたら、レポートを Power BI Service へデプロイします。発行しただけでは、誰にどのロールを適用するかは決まりません。Service 側でロールのメンバーを設定します。
1. Power BI Service で、レポートをデプロイしたワークスペースを開きます。
2. 対象のセマンティックモデルのメニューから [セキュリティ] を開きます。
3. 営業部 ロールを選択します。
4. 営業部の閲覧権限を与えるユーザーを追加して、保存します。
うまく動かない場合の確認ポイント
| 状態 | 考えられる原因 | 確認すること |
|---|---|---|
| すべての部署が表示される | テストユーザーが管理者・メンバー・共同作成者になっている | ワークスペースの役割を閲覧者にする |
| データが1件も表示されない | 部署名が実データと一致していない | 全角・半角、空白、表記揺れを確認する |
| 複数部署のデータが表示される | 同じ利用者が複数のロールへ追加されている | ユーザーとグループを含め、所属ロールを確認する |
| 関連テーブルのデータが絞り込まれない | テーブル間のリレーションシップが意図どおりに設定されていない | フィルターが伝わる関係になっているか確認する |
| Desktopでは成功するがServiceでは制限されない | Serviceでロールのメンバーを設定していない | セマンティックモデルの[セキュリティ]を確認する |
まとめ
以上で、営業部のデータだけを閲覧できるロールを追加することができました。
この機能を使わないと、見せたくないデータがある場合は、レポートファイルごと分割する必要があるので大変です。
リソースの使用量的にも少なく済みますので、個人的には必須設定だと考えています。


コメント