テーブルをフィルター処理してデータの適切なビューを作成するレポート作成者 (およびデータ モデラー) にとって、レポートへのフィルター処理の適用方法の決定は困難な問題です。テーブルのフィルター コンテキストはリレーションシップの一方の側でのみ保持されており、目的の結果を得るためには複雑な DAX 式が必要になることがよくあります。

双方向のクロス フィルタリングを使用すると、関連するテーブルを処理するときのフィルターの適用方法に関して制御可能な範囲が広がり、テーブル リレーションシップの*両方の*側でフィルターを適用できるようになります。 この機能は、テーブル リレーションシップのもう一方の側の第 2 の関連テーブルにフィルター コンテキストを伝達することによって実現されます。

Power BI Desktop での双方向のクロス フィルタリングについては、詳細なホワイトペーパーを参照してください (同じ動作の SQL Server Analysis Services 2016 についても説明されています)。

DirectQuery の双方向のクロス フィルタリングを有効にする

DirectQuery のクロス フィルタリングを使用するには、最初に有効にする必要があります。 これはプレビュー機能であり、利用可能性および動作は Power BI Desktop の今後のリリースで変更されることがあります。

Power BI Desktop で DirectQuery のクロス フィルタリングを有効にするには、[ファイル]、[オプションと設定]、[オプション] の順に選択し、[DirectQuery の双方向のクロス フィルタリングを有効にします] チェック ボックスをオンにします (次の図を参照)。

注: Power BI Desktop でクロス フィルタリングの DAX 式を作成するときは、UserName ではなく UserPrincipalName (多くの場合ユーザーのログインと同じ、joe@contoso.com など) を使用します。 そのため、UserName (または、たとえば EmployeeID) を UserPrincipleName にマップする関連テーブルの作成が必要になることがあります。

クロス フィルタリングを有効にするには、リレーションシップの [リレーションシップの編集] ダイアログ ボックスで、以下を選択する必要があります。

  • [クロス フィルターの方向] は、[双方向] に設定する必要があります
  • [両方向にセキュリティ フィルターを適用する] もオンにする必要があります

詳細な情報、および双方向のクロス フィルタリングの動作の例については、前に示したホワイトペーパーを参照してください。