Exploreでは、カスタムメトリックやカスタム属性をべき乗計算する式を記述できます。式が正しく機能するには、式を正しく構築する必要があります。正しく構築されていない式を式エディターで作成または編集すると、リアルタイムでエラーメッセージが表示されます。エラーメッセージは問題を特定し、解決方法のガイダンスを提供します。
この記事では、レポート内の設定に誤りのある式を修正する方法を示します。式エディターに表示される可能性のあるエラーメッセージをリストアップし、誤った式と正しい式の例を示し、式の修正方法を説明します。
この記事では、次のトピックについて説明します。
関連記事
誤りのある式を修正する
ユーザー定義のメトリックまたは属性に含まれている式に誤りがある場合、結果は返されません。以下の場所を確認することで、設定にミスのある式を特定できます。
- レポートライブラリ:式に誤りのあるレポートは、「レポートライブラリ」の「更新が必要」カテゴリに表示されます。
- ダッシュボードライブラリ:影響を受けるレポートを使用しているダッシュボードは、「ダッシュボードライブラリ」の「更新が必要」タブに表示されます。
- レポートビルダー:式を使用するレポートの下部に警告メッセージが表示されます。
- 式エディター:影響を受けた式に対する警告メッセージが式エディターに表示されます。
誤った式を修正するには、その式を使用するレポートを開き、式エディターで修正します。次に、そのレポートが使用されているダッシュボードをすべて公開し直します。
誤りのある式を更新するには
- Exploreでレポートアイコン()をクリックして、レポートを開きます
- 「更新が必要」タブをクリックします
- リストされたレポートのいずれかをクリックして開きます
- ユーザー定義のメトリックまたは属性ごとに、
- メトリックまたは属性をクリックし、鉛筆アイコンをクリックします
- 式をチェックして、誤った箇所を見つけます。式の誤った箇所には下線が引かれます。エラーメッセージが表示され、修正する必要がある内容が示されます。
- (オプション)変更を加える前に、メトリックまたは属性を複製します。これにより、トラブルシューティング中に既存のレポートに影響が及ぶのを防ぐことができます。
- エラーメッセージで指定された式の問題箇所を修正します。特定のエラーメッセージに関する追加ガイダンスについては、以下のセクションを参照してください
1つのレポートでユーザー定義メトリックまたは属性の数式を修正すると、それが使用されている他のレポートでも修正が反映されます
- (オプション)メトリックまたは属性を複製した場合は、複製元のほうを修正します。
- レポートを保存する
影響を受けたダッシュボードを公開し直すには
- ダッシュボードアイコン()をクリックして、ダッシュボードライブラリを開きます
- 「更新が必要」タブをクリックします
- いずれかのダッシュボードにマウスポインタを合わせ、「編集」をクリックします
- ダッシュボードで、「共有」のとなりにあるドロップダウン矢印をクリックし、「公開」を選択します。次回、共有ダッシュボードを表示したとき、最新バージョンが表示されます
- 「公開」をクリックします
式エディターのエラーメッセージのタイプ
このセクションでは、エラーメッセージを以下のカテゴリに分け、それぞれの解決方法についてアドバイスします。
最もよく発生する式のエラー
次のビデオでは、よくある警告の修正方法を順を追って説明しています。
特定のエラーメッセージに関する詳細なガイダンスについては、以降のセクションを参照してください。
一般的な構文に関連するエラーメッセージ
次のようなエラーメッセージが表示される場合は、計算式の構文の一部に誤りがあることを意味します。
- 「式に問題があります。計算式の構文を確認してから、もう一度実行してください。」
以下の表に、このエラーの最も一般的な原因を示します。
理由 | 間違っている式 | 正しい式 |
---|---|---|
角括弧または丸括弧を開いたが閉じていない。または開き括弧よりも閉じる括弧のほうが数が多い。 | 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 |
データのタイプに関連するエラーメッセージ
以下の表に、式エディターに表示されるデータのタイプに関連するエラーメッセージと、誤った式および正しい式を示します。
以降のセクションでは、次のデータのタイプに関連するエラーメッセージについて説明します。
等しい、等しくない、およびより小さい、またはより大きいの演算子を使用した式
エラーメッセージの例 | 間違っている式 | 正しい式 |
---|---|---|
テキストの[プロジェクトのステージ]と数字の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 |
IF [チケットのステータス] = "Open" THEN 1 ELSE 0 ENDIF または 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://subdomain.zendesk.com/ agent/organizations/" + STRING([チケット組織ID])、[組織チェックボックス]) |
LINK または LINK LINK関数は2番目のパラメータとしてテキストを想定しています。そのため、ブール値属性を使用することができません。上記のように、2つのオプションがあります。テキスト属性を使用するか、STRING関数を使用してブール値属性をテキストに変換することができます。 |
ここでは、テキストの[チケット作成日 - 月]を使用することはできません。タイムスタンプを使用してください。 | DATE_LAST([チケット作成日 - 月]) |
DATE_LAST([チケット作成日 - タイムスタンプ]) DATE_LAST関数はタイムスタンプ属性を想定しています。 |
異なる条件タイプを使用することはできません。テキストのタイプを使用してください。 |
SWITCH ([チケットグループ]) {CASE "Support":"1" CASE 3:"2" } |
SWITCH ([チケットのグループ]) {CASE "Support":"1" CASE 3:"2" } チケットのグループはテキスト属性なので、すべてのケースの条件はテキストのタイプでなければなりません。引用符で囲まれた値はテキストとみなされますが、引用符のない値は数値とみなされます。したがって、3を引用符で囲む必要があります。 |
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)) テキスト属性の場合はすべての値に引用符を使用し、数値属性の場合はどの値にも引用符を使用してはなりません。レッグ - インスタンスは数値属性なので、式に引用符は使用すべきではありません |
メトリックの集計方法に関連するエラーメッセージ
エラーメッセージの例 | 間違っている式 | 正しい式 |
---|---|---|
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レベルで計算する必要があります。 |
「このステータスでの経過時間」には集計方法がすでに含まれています。AVGをSUMに置き換えるか、「このステータスでの経過時間」がVALUE集計方法のみを含むようにしてください | AVG(このステータスでの経過時間) |
SUM(このステータスでの経過時間) 「このステータスでの経過時間」は、ネストされたメトリックです。式にはすでに集計方法が含まれています。たとえば、MED(初回返信時間 (時間)) などです。中央値の上に平均値を計算することはできないため、最上位レベルの集計方法をSUMに設定するか、下位レベルの集計方法をVALUEに変更する必要があります。 |
その他のエラーメッセージ
エラーメッセージの例 | 間違っている式 | 正しい式 |
---|---|---|
[チケットのステタス]はこのデータセットに存在しません。タイプミスがないか確認してください。 | [チケットのステタス] ="Solved" |
[チケットのステータス] ="Solved" このエラーが発生する最も一般的な理由は以下のとおりです。
この例では、属性名にタイプミスがあります。 |
[ユーザー定義グループ]の式が正しく設定されていません。保存する前に修正してください。 | IF [ユーザー定義グループ] = "light" THEN TRUE ELSE FALSE ENDIF | ユーザー定義グループの計算式に誤りがあります。したがって、まずそれを解決する必要があります。 |
ここで計算が自分自身への参照を行っています: COUNT(セールスチケット)。削除するか、置き換えてください。 | COUNT(セールスチケット)/COUNT(チケット) | 式をそれ自身の中に追加しています。この場合、編集されている式はセールスチケットで、ユーザーは式の中にセールスチケットを追加しようとしています。 |
計算でのネストレベルは最大3までです。ネストされた計算をここから削除してください:SUM((2回目の返信時間) | MED(2回目の返信時間) / MED(初回返信時間 (分)) | 2回目の返信時間のユーザー定義メトリックは、それ自体が別の計算に基づいている別の計算に基づいています。計算をこのようにすることを「ネスト」と呼びます。ネストにできるレベルは3つまでです。 |
ここでは[チケットのグループ]を使用できません。INCLUDES_ALLはタグ属性にのみ使用できます。 | INCLUDES_ALL([チケットのグループ], "Support", "Sales") |
INCLUDES関数はタグ属性でのみ使用できます。他の属性にはIN関数を使用してください。 |