HAS_REFINEMENTS
では、特定の属性について、現在のナビゲーション状態に暗黙的でない絞込みがあるかどうかが計算されます。
HAS_REFINEMENTS
関数の構文は、次のとおりです:
HAS_REFINEMENTS(<attribute>)
ここで、「属性」はコレクション内の(任意のデータ型の) Dgraph属性です。
特に、HAS_REFINEMENTS
は、特定の属性がグループ内のすべてのレコードで同じ値を持つかどうかを判断します。 その場合、属性は実際の絞込み値を返すことができる必要があります。
戻り値
HAS_REFINEMENTS
の戻り動作は次のとおりです:
HAS_REFINEMENTS
はNULLを返します。
HAS_REFINEMENTS
はFALSEを返します。
HAS_REFINEMENTS
はTRUEを返します。
HAS_REFINEMENTS
の戻り動作は次のとおりです:
HAS_REFINEMENTS
はFALSEを戻します。 これには、グループのすべての行に対して「属性」が空に設定された値が含まれます。
HAS_REFINEMENTS
はTRUEを返します。
HAS_REFINEMENTS
には、特定の属性に暗黙的でない絞込みがあるかどうかは示されますが、実際に絞込み値を戻すことはありません。
HAS_REFINEMENTSの例
HAS_REFINEMENTS
を使用して、ACCT_FIRM属性が使用可能な絞込みを持っているかどうかを判断します:
RETURN Result AS SELECT HAS_REFINEMENTS(ACCT_FIRM) AS Refs FROM CorpData GROUP
この場合、問合せはtrueを返し、属性が非暗黙的絞込みを使用できることを意味します。
NULLなどの空のセットを処理しています
HAS_REFINEMENTS
でNULLのような空のセットを処理する場合は、この例(xは複数割当属性)のように、HAS_REFINEMENTS
アグリゲータに集計ごとのWHERE
句を追加できます:
RETURN Result AS SELECT HAS_REFINEMENTS(x) WHERE (x IS NOT EMPTY) AS Refs FROM CorpData GROUP
HAS_REFINEMENTS
の戻り動作は次のようになります:
HAS_REFINEMENTS(x) WHERE (x IS NOT EMPTY)
はNULLになります。
HAS_REFINEMENTS(x) WHERE (x IS NOT EMPTY)
はFALSEです。
HAS_REFINEMENTS(x) WHERE (x IS NOT EMPTY)
はTRUEです。
集計ごとのWHERE
句の詳細は、「集計フィルタ」を参照してください。