If/ElseIf

複数のifおよびelse if条件に基づいて、異なるアクションの実行を指定します(一部のプログラミング言語でのSwitchCaseと同様です)。単一の条件に基づいて異なるアクションを指定するには、If/Elseを使用します。

この関数カードでは、次の項目を設定できます。

  • Conditions:どの分岐を実行するかを決定する条件のリスト(true/falseのステートメント)。

  • Branches:最初に満たされた条件に基づいて実行するアクションと関数。条件が満たされない場合、Else分岐が実行されます。

  • Outputs (オプション):出力フィールドで、フローの以後の手順で使用できます。それぞれの出力に割り当てられる値は、どの分岐が実行されるかによって異なります。

条件

新しいIf/ElseIfを作成する最初の手順は、条件の定義です。条件は、Sales > 1000のようにtrue/falseの値を持つ式です。If/ElseContinue Ifなど類似のカードと同様に、条件はvalue acomparisonvalue bの3つの入力を使用して表現されます。これらの値はマップされたフィールド(例:アクション カードからの出力)または入力した定数です。各種の比較の選択については、以下の表を参照してください。

フローが実行されるとき、条件が先頭からテストされ、trueを返した最初の条件(最初の条件のみ)に対応する分岐(記述された一連のアクションと関数)が実行されます。trueを返した条件がない場合、Else分岐が実行されます。

条件が満たされたときのアクションを定義するには、条件の右側にある[+]ボタンをクリックします。または、左上のドロップダウンを使用して各種の分岐を選択できます。分岐に対応する条件を選択するか、[Edit Conditions(条件の編集)]をクリックして条件を編集、または新しい条件を追加します。

重要:value avalue bの型は必ず、どのような比較を行うかを反映するよう設定してください。たとえば、「greater than」演算子は、数値の場合は数値に基づいて比較を行いますが、テキストの場合はアルファベット順に基づいて比較を行います。したがって、80 > 9という数値の比較はtrueを返しますが、"80" > "9"というテキストの比較はfalseを返します。

関係演算子の表

演算子

ユースケース

equal to2つのテキスト、数値、日付、またはtrue/falseを比較し、同じ値かどうかを調べます。
not equal to 2つのテキスト、数値、日付、またはtrue/falseを比較し、異なる値かどうかを調べます。
greater than or equal 2つのテキスト、数値、または日付を比較し、最初のものが2番目のものと等しい、またはより大きいかどうかを調べます。
less than or equal 2つのテキスト、数値、または日付を比較し、最初のものが2番目のものと等しい、またはより小さいかどうかを調べます。
greater than 2つのテキスト、数値、または日付を比較し、最初のものが2番目のものより大きいかどうかを調べます。
less than 2つのテキスト、数値、または日付を比較し、最初のものが2番目のものより小さいかどうかを調べます。
a multiple of 2つの数値を比較し、value aがvalue bの正確な倍数かどうかを調べます。たとえば、12、0、-4はすべて4の倍数ですが、2、3、7は倍数ではありません。
in 2つのテキストを比較し、value aがvalue bの一部かどうかを調べます。たとえば、「test」は「this is a test」に含まれますが、「i」は「team」に含まれません。
not in 2つのテキストを比較し、value aがvalue bに含まれていないかどうかを調べます。
has key value aがオブジェクトで、value bがテキストのとき、そのオブジェクトに指定された名前のキーが存在するかどうかを調べます。 たとえば、value aが{"test":123}で、value bが「test」なら、trueを返します。
doesn't have key value aがオブジェクトで、value bがテキストのとき、そのオブジェクトに指定された名前のキーが存在しないかどうかを調べます。
is empty value aが空かどうかを調べます。value bは無視されます。何を「空」と定義するかは型によって異なります。 注:テキストとオブジェクトでのみ正しく動作します。数値、日付、T/Fは空と見なされます。
is not empty value aが空でないかどうかを調べます。 注:テキストとオブジェクトでのみ正しく動作します。 数値、日付、T/Fは空と見なされます。

分岐

それぞれの分岐には、対応する条件がtrueのときに実行するアクションと関数が含まれます。このコンテナーには、フローの場合と同様にカードを追加します。

Whenコンテナーの左上にあるドロップダウンを使用して各分岐に移動するか、条件を編集、または新しい条件を追加します。

注

ReturnとContinue-Ifは、If/ElseIf分岐内とIf/Else分岐内では動作が異なります。If/ElseIf分岐は、匿名のヘルパーフローと考えることができます。ヘルパーフローの場合と同様に、Returnを実行すると停止せず、親に復帰します。ReturnまたはContinue-If(falseの場合)は、If/ElseIfの直後のステップに進みます。

出力(オプション)

If/ElseIfの前に実行される出力を、カードからIf/ElseIf内の条件または分岐にドラッグできますが、分岐内の出力をIf/ElseIfの後で実行されるカードにドラッグすることはできません。これは、分岐内からの出力は、別の分岐が実行されるときには未定義のためです。この問題を回避するには、オプションのOutputs機能を使用します。

Outputsにアクセスするには、If/ElseIfコンテナーの右上にある[View Outputs(出力の表示)]をクリックします。これにより、すべての分岐の右側にペインが開きます。クリックすると新しい出力を追加できます。名前を入力し、型を選択してください。定義したそれぞれの出力の下に、If/ElseIfについて定義したIfまたはElse If条件のそれぞれについて1つの入力と、Else条件用に1つの入力が表示されます。対応する分岐から出力をドロップして、それぞれの出力で使用する別の値を指定します。

このペインの出力は、フローの以後のステップにマップできます。

関連項目

Workflowsの関数

Okta Workflowsの要素について