注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

オブジェクトセットフィルター変数

オブジェクトセットフィルター変数は、オブジェクトセットのフィルター状態を追跡するために使用します。この状態は、フィルターリスト、XY チャート、Vega チャート、ピボットテーブルなどのウィジェットから出力されることがよくあります。オブジェクトセットフィルターは、オブジェクトセット変数に適用したり、ウィジェットの設定でオブジェクトセットを絞り込むために使用したりできます。

オブジェクトセットフィルター変数を作成する

オブジェクトセットフィルター変数は、空の変数として作成し、ウィジェットの設定でウィジェットの選択内容を取得するために使用できます。

空のオブジェクトセットフィルター変数。

オブジェクトタイプ、プロパティタイプ、およびそれらのプロパティタイプの値を選択して、フィルターのデフォルトの状態を指定することもできます。値はインラインで指定するか、変数として指定できます。

デフォルトの状態を持つオブジェクトセットフィルター変数。

複数のオブジェクトタイプを選択する場合は、すべてのオブジェクトタイプに共通するプロパティで絞り込むことを推奨します。そうしないと、特に Marketplace からモジュールをデプロイする場合に、予期しない動作が発生する可能性があります。

複数のオブジェクトタイプが選択されたオブジェクトセットフィルターのプロパティセレクター。

フィルターをオブジェクトタイプに依存しないものにするには、プロパティを指定した後に、指定済みのオブジェクトタイプを外すこともできます。ただし、少なくとも1個のオブジェクトタイプが指定されていなければ、プロパティフィルターを追加したり、プロパティ値に変数を選択したりすることはできません。

サポートされる初期フィルター

オブジェクトセットの初期状態は、オブジェクトセットフィルター変数を通じて定義することもできます。現在、初期フィルターでは、次の方法で絞り込みや除外ができます。

  • IS:プロパティ値がフィルタークエリと完全に一致するオブジェクトを返します。
  • NULL:プロパティ値が null であるオブジェクトを返します。
  • CONTAIN:プロパティにフィルタークエリが含まれるオブジェクトを返します。たとえば、プロパティ値が id000123 で、フィルタークエリが id0001 の場合、一致と見なされます。この一致判定は現在、接頭辞に限定されており、文字列の任意の部分との一致はサポートされていません。たとえば、プロパティ値が id000123 で、フィルタークエリが d0001 の場合、一致とは見なされません。

フィルター値の抽出

一部のワークフローでは、オブジェクトセットフィルターから特定の絞り込み値を抽出し、モジュール内のほかの場所で使用すると便利な場合があります。これが役立つユースケースの例を次に示します。

  1. ユーザーの絞り込み値を、最初のオブジェクトタイプから、異なるデータモデルを持つ別のオブジェクトタイプへ抽出して変換する場合です。たとえば、ユーザーが最初に Email オブジェクトの Email Date プロパティで絞り込んでおり、そのフィルターを変換して、Phone Call オブジェクトの Call Date プロパティにも適用する場合です。
  2. ユーザーがフィルターリストウィジェットで特定のアラートタイプに絞り込み、選択したアラートタイプを文字列変数に抽出して、新規アラートを作成アクションに事前入力するために使用する場合です。
  3. ユーザーが探索検索バーウィジェットで特定のプロパティに絞り込み、同じ選択内容でモジュールを再度読み込めるように、モジュールインターフェース変数を動的な URL パラメーターとして使用して、フィルター状態を抽出して保存する場合です。

これを行うには、プロパティ値に変数を使用してフィルター変数のデフォルトの状態を指定し、フィルター値の変更時に使用中の変数を更新を有効にします。

値の抽出が有効になっているオブジェクトセットフィルター。

フィルター値が、デフォルトフィルターと同じ形式のフィルターに更新されると、設定済みのデフォルトで使用されている各変数の値が、フィルターから抽出された値に更新されます。

上記のフィルターを使用して、フィルターリストで1試合あたりの得点の範囲を選択すると、これらの抽出変数を元にしている数値入力が更新されます。

値の抽出によって依存するウィジェットが更新されるオブジェクトセットフィルター。

抽出できるのは、次の種類の値のみです。

  • 数値範囲
  • 日付/時刻範囲
  • 文字列の語句
    • 複数の値を抽出するには、配列変数を設定する必要があります。配列ではない変数を設定した場合、最初の絞り込み値のみが抽出されます。

抽出した値を別のプロパティに適用する

抽出では、デフォルトフィルターで使用されている変数に値を書き込みます。抽出自体が別のプロパティのフィルターを生成するわけではありません。そのため、上記の最初のユースケースでは、新しいプロパティを対象とするフィルターで抽出変数を再利用する、2番目のステップが必要です。

  1. 最初のオブジェクトセットフィルター変数で、値に変数を使用してソースプロパティ(上記の例では Email Date)のデフォルトフィルターを指定し、フィルター値の変更時に使用中の変数を更新を有効にします。ユーザーが絞り込むと、抽出した値がそれらの変数に書き込まれます。
  2. 同じ変数を使用して、対象プロパティ(上記の例では Call Date)に2個目のフィルターを設定します。これを2個目のオブジェクトセットフィルター変数のデフォルトの状態として設定し、その変数を対象のオブジェクトセットに適用するか、対象のオブジェクトセット変数に直接フィルターを設定します。

2個目のフィルターは、元のフィルターではなく変数から値を読み取るため、それらの値を対象プロパティに適用します。オブジェクトセットフィルター変数は別のフィルター内の値として使用できないため、2個のフィルター間で値を受け渡すには、抽出した値を、日付、タイムスタンプ、数値、文字列などのサポートされるプリミティブ型の変数、またはサポートされるプリミティブ型のリストを経由させる必要があります。

ユーザーのフィルターにソースプロパティが含まれなくなると、抽出に使用される変数はクリアされます。その後、値をそれらの変数のみに依存するフィルターは、どのオブジェクトにも一致しない状態になるのではなく、適用から外されるため、依存するオブジェクトセットは対象プロパティで絞り込まれなくなります。

制限事項

抽出が行われるには、フィルター値がデフォルトフィルターの形式と一致する必要があります。これに関連する既知のケースを次に示します。

  • ピボットテーブルや特定のチャートの選択から出力されるような、深くネストされた範囲フィルターや、互いに重ならない範囲フィルターは、抽出をサポートしていないか、予期しない動作をする可能性があります。
  • 現在のフィルター値は、オブジェクトセットフィルター変数の定義で提供される、境界値を含む「以下」(LTE) または「以上」(GTE) の動作と一致する必要があります。
  • 否定されたフィルター値は、フィルター変数のデフォルトの設定でも否定されている必要があります。
  • 数値軸を持つ XY チャートウィジェットは、現在、抽出をサポートしていません。
  • 抽出では、入力されたフィルターとデフォルトフィルターをプロパティで照合するため、両方に存在するプロパティの変数のみが更新されます。抽出だけで、別のプロパティのフィルターが生成されるわけではありません。