Power BI データセットの種類を決定する

完了

"顧客向け" シナリオを使用して RLS を適用する場合は、アプリで実効 ID を設定する必要があります。 実効 ID を設定する方法は、アプリに必要な Power BI データセットの種類によって異なります。

4 種類のデータセットを検討できます。 これらの種類は、モデルがホストされている場所とモデル フレームワークによって決まります。 このユニットの残りの部分では、これら 4 種類のデータセットについて説明します。

定義上、Power BI データセットは、Power BI で視覚化するデータのソースを表す成果物です。 一般的に、データセットは "データ モデル" を表します。これは、分析レポート用に最適化されたクエリ可能なデータ リソースです。

モデルのアーキテクチャ

Microsoft データ モデルのほとんどが表形式です。 表形式モデルは、1 つ以上のテーブルで構成されます。 その他の Microsoft データ モデルは多次元です。 多次元モデルは、古い (がまだ使用されている) 技術に依存しており、ディメンションとメジャー グループで構成されます。 多くの場合、多次元モデルは "キューブ" と呼ばれていいます。

注意

表形式モデルと同様に、多次元モデルは、ロールを使用してデータ アクセス許可を適用します。 ただし、ルールを使用してフィルターを定義するのではなく、DAX の代わりに多次元式 (MDX) に依存します。 多次元モデルは RLS を適用しません (多次元モデルはデータの行を格納しないため) が、(静的および動的な) 表形式モデル ルールと同じ結果を生成する同等の要件を適用します。

モデルのホスティング

データ モデルは、内部ホスト型外部ホスト型のどちらかです。 内部ホスト型モデルは Power BI の内部に存在し、外部ホスト型モデルは Power BI の外部でホストされます。

内部ホスト型モデルは、Power BI ワークスペースに存在します。 Microsoft の外部ホスト型モデルは、Azure Analysis Services または SQL Server Analysis Services に存在します。 SQL Server Analysis Services は表形式モデルと多次元モデルをホストでき、Power BI でそれらに接続するにはゲートウェイが必要です。

注意

外部ホスト型モデルへの Power BI 接続は、"ライブ接続" と呼ばれています。

モデル フレームワーク

表形式モデルの各テーブル (計算テーブルを除く) には、ストレージ モード ("インポート"、"デュアル"、"DirectQuery") の設定があります。

インポート ストレージ モードを使用するように設定されたモデル テーブルは、ソース データを物理的に読み込んで格納します。 データを最新の状態に保つには、定期的なデータ更新に依存します。 インポート ストレージは、最も高速なクエリ パフォーマンスを提供しますが、大量のデータがある場合は非効率 (または高価) になる可能性があります。 また、ユーザーが最新のデータを表示する必要がある場合、(1 日の制限により) データセットを十分な頻度で更新できない可能性があります。

逆に、DirectQuery ストレージ モードを使用するモデルは、ソース データを格納しません。 代わりに、モデル テーブルが照会されると、モデルによってソース データのクエリが行われます。 これは、パススルー クエリと呼ばれています。 DirectQuery ストレージ モードは、大量のデータがある場合や最新のデータをレポートする必要がある場合に適しています。

テーブルがデュアル ストレージ モードを使用するように設定されている場合は、インポート テーブルまたは DirectQuery テーブルとして動作できます。 クエリごとに、モデル クエリ エンジンが、使用する最も効率的な (最も高速な) モードを決定します。

まとめ

実効 ID を正しく設定するには、使用しているデータセットの種類を特定する必要があります。

  • インポート テーブルを使用した内部ホスト型

  • DirectQuery テーブルを使用した内部ホスト型

  • 外部ホスト型モデルである Azure Analysis Services

  • 外部ホスト型モデルである SQL Server Analysis Services