Power BI Desktop での DirectQuery を使用する双方向のクロス フィルタリングBidirectional cross-filtering using DirectQuery in Power BI Desktop

テーブルをフィルター処理してデータの適切なビューを作成するレポート作成者 (およびデータ モデラー) にとって、レポートへのフィルター処理の適用方法の決定は困難な問題です。テーブルのフィルター コンテキストはリレーションシップの一方の側でのみ保持されており、目的の結果を得るためには複雑な DAX 式が必要になることがよくあります。When filtering tables to create the appropriate view of data, report creators (and data modelers) face challenges when determining how filtering is applied to a report; the filter context of a table was held on one side of the relationship, but not the other, often requiring complex DAX formulas to get the desired results.

双方向のクロス フィルタリングを使用すると、関連するテーブルを処理するときのフィルターの適用方法に関して制御可能な範囲が広がり、テーブル リレーションシップの両方の側でフィルターを適用できるようになります。With bidirectional cross-filtering, report creators (and data modelers) now have more control over how filters are applied when working with related tables, enabling those filters to be applied on both sides of a table relationship. この機能は、テーブル リレーションシップのもう一方の側の第 2 の関連テーブルにフィルター コンテキストを伝達することによって実現されます。This is accomplished by having the filter context propagated to a second related table on the other side of a table relationship.

Power BI Desktop での双方向のクロス フィルタリングについては、詳細なホワイトペーパーを参照してください (同じ動作の SQL Server Analysis Services 2016 についても説明されています)。A detailed whitepaper is available that explains bidirectional cross-filtering in Power BI Desktop (the whitepaper also covers SQL Server Analysis Services 2016, both have the same behavior).

DirectQuery の双方向のクロス フィルタリングを有効にするEnabling bidirectional cross-filtering for DirectQuery

クロス フィルタリングを有効にするには、リレーションシップの [リレーションシップの編集] ダイアログ ボックスで、以下を選択する必要があります。To enable cross-filtering, in the Edit Relationship dialog for a relationship, the following must be selected:

  • [クロス フィルターの方向] は、[双方向] に設定する必要がありますThe Cross filter direction must be set to Both
  • [両方向にセキュリティ フィルターを適用する] もオンにする必要がありますThe Apply security filter in both directions must also be selected

注意

Power BI Desktop でクロス フィルタリングの DAX 式を作成するときは、UserName ではなく UserPrincipalName (多くの場合ユーザーのログインと同じ、joe@contoso.com など) を使用します。When creating cross filtering DAX formulas in Power BI Desktop, use UserPrincipalName (which is often the same as a user's login, such as joe@contoso.com) instead of UserName. そのため、UserName (または、たとえば EmployeeID) を UserPrincipleName にマップする関連テーブルの作成が必要になることがあります。As such, you may need to create a related table that maps UserName (or EmployeeID, for example) to UserPrincipleName.

詳細な情報、および双方向のクロス フィルタリングの動作の例については、前に示したホワイトペーパーを参照してください。For more information, and for examples of how bidirectional cross-filtering works, check out the whitepaper mentioned earlier in this article.