ビュー基準フィルタ式の制限事項
ビュー基準フィルタ式はきわめて便利ですが、必要なすべてのタイプのフィルタリングをサポートしているわけではありません。
このセクションでは、直接表現できない構成をいくつか説明します。可能な場合は、フィルタリングを実行するための代替方法を提案します。
-
演算子の前に許可されるのは、大/小文字が区別されるフィールド名のみです
演算子の左側では、大文字と小文字が区別されるフィールド名のみが許可されます。 そのため、たとえば、
1 = 1
のような単純な式でも、左側はフィールド名ではないため、不正とみなされます。 -
計算式をオペランド値として直接参照することはできません
1つのフィールドが計算済数量と等しいすべての行を問い合せることが必要な場合があります。 たとえば、問題のあるチケットを問い合せる場合は、解決納期が3日以内であるすべてのオープン・チケットを検索できます。
ResolutionPromisedDate <= today() + 3
のような式は、演算子の右側にある計算式を使用するため、許可されません。 もう1つの方法として、ビュー基準を追加する前に必要な式の値をコンピュートし、すでにコンピュートされている値を文字列のリテラル・オペランド値文字列置換変数またはバインド変数の値として使用できます。 -
フィールド名をオペランド値として参照できません
あるフィールドが別のフィールド値と等しいすべての行を問い合せることが必要な場合があります。 たとえば、担当者の問合せ時に、自宅電話番号が勤務先電話番号と等しいすべての担当者を検索できます。
HomePhoneNumber = WorkPhoneNumber
のような式は、演算子の右側にあるフィールド名を使用するため許可されません。 このような句は実行時に無視されるため、効果的なフィルタリングは行われません。 -
フィルタ式で関連オブジェクトのフィールドを参照できません
フィルタ問合せ式で関連オブジェクトのフィールドを直接参照することはできません。 もう1つの方法として、ビュー基準を追加する前に関連する式の値を参照し、すでに計算されている値を文字列のリテラル・オペランド値文字列置換変数またはバインド変数の値として使用できます。
-
テキスト、数値、日付または日時以外のタイプのバインド変数値は使用できません
サポートされている4つのタイプ以外のタイプのバインド変数値は使用できません: テキスト、数値、日付および日時。 バインド変数の値として他のデータ型を使用しようとすると、エラーが発生したり、基準が無視される場合があります。