翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
in
in
は、リテラルリスト内に式が存在するかどうかを判断します。リストに式が含まれている場合は true を返し、それ以外の場合は false を返します。in
は文字列型の入力では大文字と小文字が区別されます。
in
は 2 種類のリテラルリストを受け入れます。1 つは手動で入力されたリスト、もう 1 つは「multivalue parameter」(複数値パラメータ) です。
構文
手動で入力したリストを使用:
in(
expression
,[literal-1, ...]
)
複数値パラメータを使用:
in(
expression
, $multivalue_parameter
)
引数
- expression
-
リテラルリスト内の要素と比較する式。
address
のようなフィールド名、‘Unknown
' のようなリテラル値、単一値のパラメータ、または別のスカラー関数の呼び出しを使用できます。ただし、この関数が集計関数または表計算ではないことが条件です。 - リテラルリスト
-
(必須) 手動で入力したリストでも、複数値のパラメータでもかまいません。この引数には、最大 5,000 の要素を使用できます。ただし、Oracle や Teradata などのサードパーティのデータソースへの直接クエリでは、制限が小さくなる可能性があります。
-
手動で入力したリスト — 式と比較するリスト内の 1 つ以上のリテラル値。リストは角括弧で囲む必要があります。比較するリテラルはすべて、式と同じデータ型でなければなりません。
-
複数値パラメータ — リテラルリストとして渡される定義済みの複数値パラメータ。複数値パラメータは、式と同じデータ型でなければなりません。
-
戻り型
ブール型: TRUE/FALSE
静的リストを使った例
次の例では、文字列リスト内の値の origin_state_name
フィールドを評価します。文字列型入力を比較する場合、in
は大文字と小文字を区別する比較のみをサポートします。
in(origin_state_name,["Georgia", "Ohio", "Texas"])
次が指定したフィールド値です。
"Washington" "ohio" "Texas"
これらのフィールド値に対して、以下の値が返されます。
false false true
3 番目の戻り値は true です。なぜなら、含まれる値は「テキサス」だけだからです。
次の例では、文字列リスト内の値の fl_date
フィールドを評価します。型を合わせるために、日付型を文字列型にキャストするのに toString
が使われます。
in(toString(fl_date),["2015-05-14","2015-05-15","2015-05-16"])
式引数には、リスト内のリテラルと比較できるように、リテラルと NULL 値がサポートされています。次の 2 つの例はどちらも、TRUE 値の新しい列を生成します。
in("Washington",["Washington","Ohio"])
in(NULL,[NULL,"Ohio"])
複数値パラメータ指定時の例
たとえば、作成者がすべての州名のリストを含む「multivalue parameter」(複数値パラメータ) を作成したとします。次に、作成者はコントロールを追加して、読者がリストから値を選択できるようにします。
次に、読者はパラメータのドロップダウンリストコントロールから「ジョージア」、「オハイオ」、「テキサス」の 3 つの値を選択します。この場合、次の式は最初の例と同じです。ここでは、これら 3 つの州名がリテラルリストとして渡され、original_state_name
フィールドと比較されます。
in (
origin_state_name
, ${stateName MultivalueParameter}
)
ifelse
を使用した例
in
は、ブーリアン値として他の関数にネストできます。一例として、作成者はリスト内の任意の式を評価し、in
および ifelse
を使用して必要な値を返すことができるというものがあります。次の例では、フライトの dest_state_name
が米国の特定の州リストに含まれているかどうかを評価し、その比較に基づいてさまざまなカテゴリの州を返します。
ifelse(in(dest_state_name,["Washington", "Oregon","California"]), "WestCoastUSState", "Other US State")