Exploreでは、カスタムメトリックやカスタム属性をべき乗計算する式を記述できます。式を正しく働かせるには、式が正しく構築されている必要があります。
正しく構築されていない式を式エディタで作成または編集すると、リアルタイムでエラーメッセージが表示されます。エラーメッセージには、式の問題を特定し、(可能な場合)問題を解決する方法についてのガイダンスが示されます。
この記事では、式エディタに表示される可能性のあるエラーメッセージをリストアップし、誤った式と正しい式の例を示し、式の修正方法を補足説明します。
この記事では、次のトピックについて説明します。
関連記事
一般的な構文に関連するエラーメッセージ
次のようなエラーメッセージが表示される場合は、計算式の構文の一部に誤りがあることを意味します。
- 「式に問題があります。計算式の構文を確認してから、もう一度実行してください。」
以下の表に、このエラーの最も一般的な原因を示します。
理由 | 間違っている式 | 正しい式 |
---|---|---|
角括弧または丸括弧を開いたが閉じていない。または開き括弧よりも閉じる括弧のほうが数が多い。 | IF ([チケットのステータス] = "Solved")) THEN [チケットID] ENDIF | IF ([チケットのステータス] = "Solved") THEN [チケットID] ENDIF |
開く引用符に対応する閉じる引用符がない。 | [チケットステータス] = "Solved | [チケットステータス] = "Solved" |
属性を角括弧で囲んでいない。 | チケットステータス = "Solved" | [チケットステータス] = "Solved" |
メトリックに集計方法が示されていない。 |
初回返信時間 (分) |
SUM(初回返信時間 (分)) |
IF文の重要な部分が欠けている。この例では、ENDIFが落ちている。 |
IF ([チケットのステータス] = "Solved") THEN [チケットID] |
IF ([チケットのステータス] = "Solved") THEN [チケットID] ENDIF |
データのタイプに関連するエラーメッセージ
以下の表に、式エディタで表示されるデータのタイプに関連するエラーメッセージと、誤った式と正しい式も示しています。データのタイプの詳細については、「Exploreの式で使用するデータのタイプ」を参照してください。
以降のセクションでは、次のデータのタイプに関連するエラーメッセージについて説明します。
等しい、等しくない、およびより小さい、またはより大きいの演算子を使用した式
エラーメッセージ | 間違っている式 | 正しい式 |
---|---|---|
テキストの[プロジェクトのステージ]と数字の1を使用することはできません。同じタイプを使用してください。 | [プロジェクトのステージ]=1 |
[プロジェクトのステージ]="1" 等式の両側で同じデータのタイプを使用する必要があります。引用符で囲まれた値はテキストとみなされますが、引用符のない値は数値とみなされます。プロジェクトのステージはテキスト属性なので、値には引用符を付ける必要があります。 |
テキストの[チケットの国]と数字の[ユーザーの国コード]を使用することはできません。同じタイプを使用してください。 | [チケットの国]!=[ユーザーの国コード] |
[チケットの国]!=[ユーザーの国名] 不等式の両側で同じデータのタイプを使用する必要があります。チケットの国はテキストなので、右側の属性もテキストでなければなりません。 |
テキストの[チケットの割り当て日時 - 日付]と数字の26を使用することはできません。数字のみ、またはテキストのみを使用してください。 | [チケットの割り当て日時 - 日付] >= 26 |
[チケットの割り当て日時] >= "2023-01-26" 「より大きいか等しい」式の両側で同じデータのタイプを使用する必要があります。この場合は、日付を引用符で囲みます。 |
数字のVALUE(エージェントが回答)とテキストの2を使用することはできません。数字のみ、またはテキストのみを使用してください。 | VALUE(エージェントが回答)<”2” |
VALUE(エージェントが回答)<2 「より小さい」式の両側で同じデータのタイプを使用する必要があります。引用符で囲まれた値はテキストとみなされますが、引用符のない値は数値とみなされます。エージェントが回答はメトリックなので、値は数値であるべきで、引用符は使用すべきではありません。 |
算術演算とテキスト値の結合
エラーメッセージ | 間違っている式 | 正しい式 |
---|---|---|
テキストの[チケットのグループ]と数字の[チケットID]を使用することはできません。数字のみ、またはテキストのみを使用してください。必要に応じて、STRING関数を使用して数値をテキストに変換するか、NUMBER関数を使用してテキストを数値に変換します。 | [チケットのグループ]+[チケットID] |
[チケットのグループ]+STRING([チケットID]) この式の目的は、「Exploreレシピ:属性を結合する」で紹介したように、テキストを結合することです。そのため、数値属性はSTRING関数でテキストに変換する必要があります。 |
数字のVALUE(全体解決時間(分))とテキストの[追加タスク時間]を使用することはできません。数字のみ、またはテキストのみを使用してください。必要に応じて、STRING関数を使用して数値をテキストに変換するか、NUMBER関数を使用してテキストを数値に変換します。 | VALUE(全体解決時間(分))+[追加タスク時間] |
VALUE(全体解決時間(分))+NUMBER([追加タスク時間]) この式の目的は、2つの値を合計することです。全体解決時間(分)は数字ですが、追加タスク時間はテキストフィールドで、その中に数値が列挙されています。最良の方法は、追加タスク時間を再コード化するための新しい数値カスタムフィールドをSupportに作成することです。これは変換を必要とせず、Exploreでそのまま動作します。あるいは、NUMBER関数でテキスト属性を数字に変換することもできます。 |
数字のVALUE(初回返信時間 (分))とテキストの"60"を使用することはできません。数字のみを使用してください。 | VALUE(初回返信時間(分))/"60" |
VALUE(初回返信時間 (分))/60 除算などの算術演算は、数値の値を必要とします。引用符で囲まれた値はテキストとみなされますが、引用符のない値は数値とみなされます。引用符はここでは使うべきではありません。 |
数字のCOUNT(コメント)とテキストの[パブリックコメント]を使用することはできません。数字のみを使用してください。 | COUNT(コメント)-[パブリックコメント] |
COUNT(コメント)-COUNT(パブリックコメント) 減算のような算術演算は、数値の値を必要とします。パブリックコメントはテキスト属性です。代わりにメトリックを使用する必要があります。 |
関数
エラーメッセージ | 間違っている式 | 正しい式 |
---|---|---|
THENステートメント内で異なるタイプを使用することはできません。1は数字で、"0"はテキストです。同じタイプを使用してください。 | IF [チケットのステータス]="Open" THEN 1 ELSE "0" ENDIF |
THENとELSEキーワードの後に使用される値は、同じタイプでなければなりません。引用符で囲まれた値はテキストとみなされますが、引用符のない値は数値とみなされます。したがって、上記に示されているように、このエラーを修正する方法は2つあります。 |
数字の1と数字の2を使用することはできません。ブール値のみを使用してください。 | IF 1 OR 2 THEN [チケットID] ENDIF |
IF VALUE(エージェントの返信)=1 OR VALUE(エージェントの返信)=2 THEN [チケットID] ENDIF IF文の中に設定する条件は、TRUEまたはFALSEでなければなりません。正しい構文はIF TRUE OR FALSE THEN [チケットID] ENDIFです。上記のように、条件をいくつか追加する必要があります。(ただし、式エディタは条件自体の妥当性は評価しません。) |
この関数で数字を使用することできません。テキストを使用してください。 | NUMBER([チケットID]) |
NUMBER([チケット外部ID]) NUMBER関数は、数値を持つテキスト属性をテキストに変換するために設計されています。チケットID属性は数値フィールドなので、この関数では使用できません。ただし、チケット外部IDのようなテキスト属性は使用できます。 |
この関数ではテキスト、ブール値を使用することはできません。テキスト、テキストまたは数字を使用してください。 | LINK("https://subdomian.zendesk.com/agent/organizations/"+STRING([チケット組織ID]), [組織チェックボックス]) |
LINK関数は2番目のパラメータとしてテキストを想定しています。そのため、ブール値属性を使用することができません。上記のように、2つのオプションがあります。テキスト属性を使用するか、STRING関数を使用してブール値属性をテキストに変換することができます。 |
ここでは、テキストの[チケット作成日 - 月]を使用することはできません。タイムスタンプを使用してください。 | DATE_LAST([チケット作成日 - 月]) |
DATE_LAST([チケット作成日 - タイムスタンプ]) DATE_LAST関数はタイムスタンプ属性を想定しています。 |
異なる条件タイプを使用することはできません。テキストのタイプを使用してください。 | SWITCH ([チケットのグループ]) {CASE "Support":"1" CASE 3:2 } |
SWITCH ([チケットのグループ]) {CASE "Support":"1" CASE 3:2 } チケットのグループはテキスト属性なので、すべてのケースの条件はテキストのタイプでなければなりません。引用符で囲まれた値はテキストとみなされますが、引用符のない値は数値とみなされます。したがって、2を引用符で囲む必要があります。 |
SWITCHステートメント内で異なるタイプを使用することはできません。"1"はテキストで、2は数字です。同じタイプを使用してください。 | SWITCH ([チケットのグループ]) {CASE "Support":"1" CASE "IT":2 } |
SWITCH ([チケットのグループ]) {CASE "Support":"1" CASE "IT":2 } すべてのケースの結果は同じタイプでなければなりません。引用符で囲まれた値はテキストとみなされますが、引用符のない値は数値とみなされます。したがって、2を引用符で囲む必要があります。 |
配列内で異なるタイプを使用することはできません。同じタイプを使用してください。 | IN([レッグ - インスタンス], ARRAY(1, "2", "3")) |
IN([レッグ - インスタンス], ARRAY(1, 2, 3)) テキスト属性の場合はすべての値に引用符を使用し、数値属性の場合はどの値にも引用符を使用してはなりません。レッグ - インスタンスは数値属性なので、式に引用符は使用すべきではありません。 |
メトリックの集計方法に関連するエラーメッセージ
エラーメッセージ | 間違っている式 | 正しい式 |
---|---|---|
VALUE集計方法はユーザー定義メトリックでは使用できません。別の集計方法またはデータベースレベルのメトリックを使用してください。 | VALUE(セールスチケット) / COUNT(チケット) |
SUM(セールスチケット)/COUNT(チケット) この式は、すべてのチケットに対するセールスチケット(ユーザー定義メトリック)の比率を計算するためのものですが、VALUE集計方法はユーザー定義メトリックでは使用できません。これは単純な算術演算なので、代わりにSUM集計方法を使うことができます。 |
VALUE集計方法はユーザー定義メトリックでは使用できません。別の集計方法またはデータベースレベルのメトリックを使用してください。 | IF VALUE(初回返信時間 (時間))>24 THEN "Long reply time" ELSE "Short reply time" ENDIF |
IF VALUE(初回返信時間 (分))>24*60 THEN "Long reply time" ELSE "Short reply time" ENDIF VALUE集計方法は、初回返信時間 (時間)のようなユーザー定義メトリックでは使用できませんが、初回返信時間 (分)のようなデータベースレベルのメトリックに置き換えることで、同じ結果を得ることができます。 |
VALUE集計方法はユーザー定義メトリックでは使用できません。別の集計方法またはデータベースレベルのメトリックを使用してください。 | IF VALUE(チケット未解決状態 (日))>90 THEN [チケットID] ENDIF |
IF DATE_DIFF(NOW(), [チケットの作成日時 - タイムスタンプ], "nb_of_hours")>90 THEN [チケットID] ENDIF VALUE集計方法は、DATE_DIFF(NOW(), [チケットの作成日時 - タイムスタンプ], "nb_of_hours")の式を持つ、チケット未解決状態 (日) などのユーザー定義メトリックでは使用できません。 ただし、代わりに元の式を使用することで、最終的に上記のような式を得ることができます。 |
SUM(データベースメトリック)の集計方法は使用できません。VALUE集計方法、ATTRIBUTE_FIXまたはATTRIBUTE_ADD関数を使用してください。 | IF SUM(リクエスタ待機時間(分))>120 THEN "Long wait time" ELSE "Short wait time" ENDIF |
IF VALUE(リクエスタ待機時間(分))>120 THEN "Long wait time" ELSE "Short wait time" ENDIF このエラーメッセージは、メトリックではなく、ユーザー定義属性に表示されます。この場合、VALUE集計方法を使用する必要があります。 |
COUNT(Solved tickets)はユーザー定義属性で使用できません。メトリックをATTRIBUTE_FIX関数またはATTRIBUTE_ADD関数で囲んでください。 | IF COUNT(解決済みチケット)>1 THEN "Solved" ELSE "Unsolved" ENDIF |
IF ([チケットのステータス - 未整理] = "Solved" OR [チケットのステータス - 未整理] = "Closed") "Solved" ELSE "Unsolved" ENDIF このエラーメッセージは、メトリックではなく、ユーザー定義属性に表示されます。このエラーを修正する最善の方法は、解決済みチケットメトリックで使用されているものと同じ条件を使用することです。このメトリックの式は次のとおりです。IF ([チケットのステータス - 未整理] = "Solved" OR [チケットのステータス - 未整理] = "Closed") THEN [チケットID] ENDIF したがって、上記のように式を編集することができます。 |
COUNT(Ticket assignments to Dev)はユーザー定義属性で使用できません。メトリックをATTRIBUTE_FIX関数またはATTRIBUTE_ADD関数で囲んでください。 | IF COUNT(Devへのチケット割り当て)>1 THEN "Solved" ELSE "Unsolved" ENDIF |
IF ATTRIBUTE_FIX(COUNT(Devへのチケット割り当て), [更新チケットID])>1 THEN "Multiple escalations" ELSE "One or no escalations" ENDIF このエラーメッセージは、メトリックではなく、ユーザー定義属性に表示されます。元の計算式が複雑過ぎで再利用できない場合は、ATTRIBUTE_FIX関数を使用して、この属性をどのレベルで集計するかを指定してみてください。この場合、更新チケットIDレベルで計算する必要があります。 |
その他のエラーメッセージ
エラーメッセージ | 間違っている式 | 正しい式 |
---|---|---|
[チケットのステタス]はこのデータセットに存在しません。タイプミスがないか確認してください。 | [チケットのステタス] ="Solved" |
[チケットのステータス] ="Solved" このエラーが発生する最も一般的な理由は以下のとおりです。
この例では、属性名にタイプミスがあります。 |
[ユーザー定義グループ]の式が正しく設定されていません。保存する前に修正してください。 | IF [ユーザー定義グループ] = "light" THEN TRUE ELSE FALSE ENDIF | ユーザー定義グループの計算式に誤りがあります。したがって、まずそれを解決する必要があります。 |
ここで計算が自分自身への参照を行っています: COUNT(セールスチケット)。削除するか、置き換えてください。 | COUNT(セールスチケット)/COUNT(チケット) | 式をそれ自身の中に追加しています。この場合、編集されている式はセールスチケットで、ユーザーは式の中にセールスチケットを追加しようとしています。 |
計算でのネストレベルは最大3までです。ネストされた計算をここから削除してください:SUM((2回目の返信時間) | MED(2回目の返信時間) / MED(初回返信時間 (分)) | 2回目の返信時間のユーザー定義メトリックは、それ自体が別の計算に基づいている別の計算に基づいています。計算をこのようにすることを「ネスト」と呼びます。ネストにできるレベルは3つまでです。 |