IF THEN ELSE関数は、フィルター、グループ化、バケットおよびラベル変更の結果など、さまざまな方法で計算に使用されます。IF THEN ELSE関数は条件をテストし、その条件の結果に基づいて値を返します。
IF THEN ELSE式は、次の2つの方法で定義できます。
- IF(ブール条件)THEN(真の値)ELSE(偽の値)ENDIF:返される結果は、条件が成功したか失敗したかによって異なります。
- IF(ブール条件)THEN(真の値)ENDIF:返される結果は常に真の結果となります。条件式が失敗すると、結果は空になります。
さらに、複数のIF THEN ELSE文をネストすることもできます。詳細については、後述の「複数のIF THEN ELSE関数をネストする」を参照してください。
Exploreで使用できるすべての関数の詳細については、「Explore関数リファレンス」を参照してください。
結果をグループ化する
IF THEN ELSE関数を使用して、結果をグループ化(バケット化)できます。これにより、結果にラベルを付け直したり、除外したり、セグメント化したりして、高い値や低い値を示すことができます。グループ化とフィルターを組み合わせることで、個々の値ごとに結果を強調表示できます。
このセクションでは、条件式の結果に基づいて結果のラベルを変更する方法を説明します。
グループ化した結果にラベルを付ける
IF THEN ELSE関数を使用すると、条件式の結果に応じて、結果に異なるラベルを適用できます。たとえば、IF THEN ELSEを使用して、結果がメトリックの目標の上にあるか下にあるかをラベル付けできます。これは、ヘッドラインの数値が目標を超えたかどうかをすばやく識別するのに役立ちます。
この例では、IF THEN ELSE関数を使用して、エージェントが目標の初回返信時間を上回ったか下回ったかを示します。任意の属性、メトリックおよび目標を使用して、この例を応用できます。
初回返信時間に基づいて結果にラベルを付けるには
- 計算メニュー()で、「標準ユーザー定義属性」をクリックします。
- 「関数」で「追加」をクリックします。
- 計算した属性に「初回返信時間テスト」のような名前を付けます。
- 関数のリストから、「IF THEN ELSE」を選択します。
- 「_boolean_condition」をダブルクリックして強調表示します。
- 「メトリックを選択」ドロップダウンリストからメトリックを選択するか、メトリック名を入力します。この例では、「SUM(初回返信時間 (分))」を使用します。
- 大なり記号(>)に続けて、目標の値を入力します。
- 「_value_if_true」に、「"Over"」と入力します(二重引用符で囲む)。 メモ:要素または他のラベルで置き換えることもできます。たとえば、請求書番号属性に「_value_if_true」を選択して、収益が10万を超える値の請求書番号を表示できます。
- 「_value_if_false」に、「"Under"」と入力します(二重引用符で囲む)。
- 「計算元」では、レポートで使用している属性を選択します。属性を選択しない場合は、合計に対して計算が行われます。
- 「保存」をクリックします。
- 任意の属性パネルで「追加」をクリックします。
- 属性ドロップダウンリストから、目的の属性を選択します。
結果をフィルタリングする
ELSE文を削除することで、IF THEN ELSEを使用して結果をフィルタリングできます。falseパラメータを削除すると、レポートではtrueの結果のみがリストされます。ほとんどの場合、レポートのフィルターセクションに属性を追加する方が簡単ですが、処理の前に結果を計算する場合や一意の計算を実行する場合は、この方法を使用できます。
メトリックで結果をフィルタリングする
レポートをフィルタリングして、指定したメトリック値より高い結果または低い結果のみを表示することができます。たとえば、初回返信時間が10分を超える担当者名だけを表示するように結果を制限できます。上記のラベル付けの例と同じ手順を、次の式を使用して実行します。
IF (SUM(First reply time (min))>10 THEN [Assignee name] ENDIF
レポートに属性を追加すると、初回返信時間が10分を超える担当者のみが表示されます。
属性で計算をフィルタリングする
メトリックに基づいて結果をフィルタリングするとともに、特定の属性値で計算をフィルタリングすることもできます。この式は、ある属性値で計算を実行して元のメトリックの結果を表示する場合、または他の値で異なる計算を実行する場合に役立ちます。
以下の例では、サポートチケットタグのチケットごとの返信数を計算していますが、この例を複製し、任意の属性値と計算を使用して応用できます。
ある属性値で計算を制限するには
- 計算メニュー()で、「標準ユーザー定義メトリック」をクリックします。
- ユーザー定義メトリックに名前を付けます。
- 「関数」で「追加」をクリックします。
- 関数のリストから、「IF THEN ELSE」を選択します。
- 「_boolean_condition」をダブルクリックして強調表示します。
- 制限値を含む属性を「属性を選択」ドロップダウンリストから選択するか、属性名を入力します。この例では、「チケットタグ」を使用します。
- 等号(=)を入力し、属性値を二重引用符で囲んで入力します。この例では、「"support"」と入力します。
この条件式は、入力した属性値のみに計算の対象を制限します。
- 「_value_if_true」に、計算を入力します。
- 「ELSE」および「value_if_false」を削除します。value_if_falseを使用して、式が失敗したときの結果の代替となる式を指定できます。この例ではfalseオプションを使用しないため、ELSE文は削除されます。
- 「保存」をクリックします。
- 「メトリック」パネルで「追加」をクリックし、レポートに追加するユーザー定義メトリックを選択します。
複数のIF THEN ELSE関数をネストする
式で複数のELSE IF文を使用している場合は、ELIFを使用して式を簡略化できます。たとえば、初回返信時間が10より大きい、10に等しい、または10より小さいときに、それぞれ異なる数字を表示させる場合、ELIF式を使用すれば、ELSE IF文を複数回記述せずに済みます。
この例の条件式は、次の式のようになります。
IF (SUM(First reply time (min))>10) THEN 1 ELIF (SUM(First reply time (min))=10) THEN 2 ELIF (SUM(First reply time (min))<10) THEN 3 ENDIF
さらに、条件の後にELSE文を追加することもできます。条件のどれもが真でない場合はELSE値が使用されます。
条件付きIF THEN ELSE文を複数ネストして記述すると、異なるグループをいくつか作成したり、異なる条件式でフィルタリングしたりする場合に役立ちます。
複数の条件式を評価する方法については、「SWITCH関数で複数の条件式を追加する方法」を参照してください。