カスケード フィルターを使用すると、階層内の複数の値 (地域、国、都市など) に基づいてフィルターを適用できます。下位レベルの選択肢は、上位レベルで選択された値によってフィルタリングされます。
始める前に
ユーザーがマネージャーのリストから選択し、そのマネージャーに報告するグループから選択できるカスケードフィルターを作成できます。選択後、レポート データが絞り込まれ、そのグループにアサインされたレコードのみが表示されます。または、マネージャーのみを選択し、グループを選択しないなど、フィルターの下位レベルを未選択のままにすることもできます。選択後、レポート データが絞り込まれ、そのマネージャーによって管理されているグループにアサインされたレコードが表示されます。カスケード フィルターでは、ダッシュボードで最後に選択した要素が保持されます。
フィルターの作成に使用するデータの構造に一貫性があることを確認してください。たとえば、場所に基づくカスケードフィルターでは、最上位の選択肢がすべて地域であり、第 2 レベルの選択肢がすべて国であることを確認します。レベルごとに該当する選択肢のみを使用できるようにするフィルター条件を定義できます。
必要なロール:hp_publisher_admin および report_admin。hp_publisher_adminロールは、コア UI でインタラクティブフィルターを管理する場合にのみ存在します。デフォルトでは、 プラットフォームアナリティクス エクスペリエンスに移行されるコア UI フィルターを管理するためのanalytics_filter_adminロールが含まれています。
このタスクについて
この手順の例は、マネージャーとグループを使用するカスケードのインタラクティブ フィルターに基づいています。この例でユーザーは、最上位の選択肢ではマネージャーを選択でき、第 2 レベルの選択肢では、そのマネージャーによって管理されるユーザー グループを選択できます。
図 : 1. カスケード フィルターの例
注: 参照フィールドの値のみに基づいてレポートをフィルターで絞り込むことができます。カスケード フィルターでサポートされているのは、 単一選択 UI コントロール タイプのみです。
手順
-
次のように移動する。 .
-
[New] をクリックします。
-
[フィルター基準] リストで、[カスケード フィルター] を選択します。
-
フォーム ヘッダーを右クリックし、[保存] を選択します。
-
カスケード フィルターの第 1 レベルを定義します。
-
[カスケード フィルター] 関連リストで、[新規] をクリックします。
-
[テーブル] と、フィルターの最上位の選択肢として使用する値が含まれているテーブルの [表示フィールド] を選択します。 [表示フィールド] は、ブール、選択、参照、および文字列のタイプに制限されています。
マネージャーとマネージャーが管理するグループに基づいて階層の最上位を定義するには、[テーブル] として [グループ [sys_user_group]] を選択し、[表示] フィールドとして [マネージャー] を選択します。
- オプション:
[フィルター] フィールドを使用して、ユーザーが使用できる選択肢を制限します。
フィルター条件は、場所 [cmn_location] などの自己参照テーブルに基づいてカスケード フィルターを作成する場合に特に便利です。データをフィルタリングして、カスケードフィルターの各レベルにそのレベルに適したオプションのみが含まれるようにします。
-
フォームヘッダーを右クリックし、[Save (保存)] を選択します。
-
階層の次のレベルを定義します。
カスケード フィルターでは、上位のフィルターと下位のフィルターの間で 1 対多の関係が使用されます。1 つの上位フィルターが、任意の数の下位フィルターで使用できる選択肢に影響を与える可能性があります。
-
マネージャーのフィルターの [カスケード フィルター] 関連リストで、[新規] をクリックします。
-
[テーブル] と、フィルターの第 2 レベルの選択肢として使用する値が含まれているテーブルの [表示フィールド] を選択します。 [表示フィールド] は、ブール、選択、参照、および文字列のタイプに制限されています。
マネージャーとグループの例では、[テーブル] として [グループ [sys_user_group]] を選択し、[表示フィールド] として [名前] を選択します。
-
[親参照フィールド] フィールドで、上位のフィルターから選択した値を含むフィールドを選択します。
たとえば、グループ フィルターを作成する場合、[親参照フィールド] の値は [マネージャー] です。この例では、最初のフィルターで選択したマネージャーを使用し、各グループの [マネージャー] フィールドの値に基づいて、使用可能なグループのリストをフィルターで絞り込みます。
-
フォーム ヘッダーを右クリックし、[保存] を選択します。
-
追加するフィルターごとに、前述の下位の手順を繰り返します。
フィルター階層に別のレベルを追加するには、最下位レベルのフィルターの [ カスケードフィルター ] 関連リストに新しいレコードを追加します。たとえば、マネージャーフィルターなどのトップレベルのフィルターの代わりにグループフィルターを追加します。
-
それぞれのフィルター レベルでダッシュボード上のレポートにフィルターを適用する方法を定義します。
-
[ターゲット テーブル] 関連リストで、[新規] をクリックします。
-
フィルターを適用するデータが含まれている [ターゲット テーブル] を選択します ([インシデント] など)。
-
フィルターを適用する [フィールド] を選択します。
フィールドは、フィルターで指定されたテーブルを参照する必要があります。たとえば、インシデント データにフィルターを適用する場合、最上位のマネージャー フィルターの [フィールド] は [Assignment group.Manager] です。この例では、第 2 レベルのグループ フィルターの [フィールド] は [アサイン先グループ] です。
-
[送信] をクリックします。
-
前述の下位の手順を繰り返して、フィルタの各レベルのターゲットを追加します。
フィルターレベルごとに複数のターゲットを定義できます。たとえば、同じグループ [sys_user_group] フィルターを使用して、インシデントデータをアサイン先グループ別にフィルタリングしたり、CMDB CI をサポートグループ別にフィルタリングしたりします。
注: カスケード フィルター階層ではターゲットを少なくとも 1 つ指定する必要があります。階層内のレベルをスキップするカスケード フィルターを定義したり、階層内の特定のレベルのターゲットのみを指定するカスケード フィルターを定義したりできます。たとえば、グループレベルのフィルターのターゲットのみを定義し、マネージャーレベルのフィルターのターゲットは定義しません。この例では、ユーザーがマネージャーのみではなく特定のグループを選択した場合にのみ、レポートがフィルターで絞り込まれます。
次の図は、カスケード フィルターの例の詳細な構成を示しています。最上位のフィルターの
[カスケード フィルター] 関連リスト (図示せず) には、第 2 レベルのフィルターが含まれています。
| 最上位のフィルター |
第 2 レベルのフィルター |
 |
 |
次のタスク
- すべてのレベルのフィルターを作成したら、ダッシュボードに追加します。
- ダッシュボードで、フィルターに従う必要があるダッシュボード上の各ビジュアライゼーションの [ ウィジェットの編集 ] アイコン (
) を選択し、[ インタラクティブ フィルターに従う] を選択します。