スクリプト: パフォーマンスアナリティクス
パフォーマンスアナリティクスは、パフォーマンスアナリティクスデータのクエリのためのスクリプトと API で使用するための、いくつかのスクリプト オブジェクトを提供しています。このスクリプトはブレークダウンマッピングとして機能するか、インジケーターから値を計算します。
スクリプトに関するヒント
- 一般に、スクリプトは、
score_start変数とscore_end変数を使用して、日付処理を伴う経過時間などのインジケーターをサポートする場合にのみ使用します。 - 不要なフィールドを制限します。追加のドット連結フィールドを含めるたびに、クエリに追加の結合が追加されます。
- パフォーマンスを向上させるために、手動によるブレークダウンをデータベースビューに置き換えてみてください。
- 一般的な関数にはスクリプトインクルードを使用してください。詳細については、「スクリプトインクルード」を参照してください。
- データがレポートに必要な構造になっていない場合は、スクリプトを作成する代わりに、運用テーブルに「レポートフィールド」を追加してみてください。詳細については、この コミュニティの投稿を参照してください。
- パフォーマンスアナリティクススコアまたはスナップショットテーブルを照会するバックグラウンドスクリプトを実行している場合、アプリケーションに適切なロールがないかぎり、スコープ対象のアプリケーションに関するデータにアクセスすることはできません。
ブレークダウンマッピングとインジケータースクリプト
ブレークダウンマッピング スクリプトは、通常、ブレークダウン要素の sys_id または整数を返し、スコアをバケットに入れます。インジケーター スクリプトは、1 つ以上のフィールドから計算されたスコアを返します。同じスクリプトを、ブレークダウンマッピング スクリプトとインジケーター スクリプトの両方として機能させることができます。
ブレークダウンスクリプト
たとえば、提供されている Incident.Age.Days スクリプトは、インシデント テーブルの opened_at フィールドを使用します。このスクリプトは、インシデント経過時間範囲 (日数) バケット グループをブレークダウン ソースとして使用する、経過時間ブレークダウン用のブレークダウンマッピングとして機能します。
var diff=function(x,y){return y.dateNumericValue() - x.dateNumericValue();};
var days=function(x,y){return diff(x,y)/(24*60*60*1000);};
days(current.opened_at, score_end);
この例では、 current.opened_at 現在評価されているレコードが開かれたときのタイムスタンプを取得します。score_end スクリプト変数はデータコレクターから取得され、収集される期間にバインドされます。たとえば、月次インジケーターが収集されている場合、 score_end は月末です。ここでは、インシデントがオープンされたときのタイムスタンプが、収集期間の終わりのタイムスタンプから減算され、結果が日に変換されます。
この例には、このスクリプトの [フィールド] フィールドで指定されている Incident.opened_at フィールドが含まれています。score_startとscore_endは、[フィールド] フィールドで定義せずに使用できます。
パフォーマンス分析でのスクリプトの作成
スクリプトを作成するには、まず、スクリプトを適用するファクト テーブルを選択し、明示的にフィールドを選択します。
始める前に
手順
次のタスク
パフォーマンスアナリティクス の変数
いくつかの変数は、 パフォーマンスアナリティクス スクリプトと式インジケーターで使用できます。
パフォーマンスアナリティクススクリプトと式では、次の変数を使用できます。
score_start:最初のインジケータースコア収集の日の最初の 1 秒。スクリプトの場合、時間は、収集ジョブの実行ユーザーのタイムゾーンとデータベースのタイムゾーン (GMT) の時差に基づいて計算されます。計算式の場合、時間は計算式を実行するユーザーのタイムゾーンと GMT の時差に基づいて計算されます。ユーザーは、ダッシュボードウィジェットまたは アナリティクスハブで式インジケーターを表示して式を実行します。score_end:前回のインジケータースコア収集の日の最後の秒。時間はscore_startと同じ方法で計算されます。pa:一連の アナリティクスハブ 属性とメソッドを提供する、スクリプトでは使用できない式変数。
スクリプトでは、スコア収集の開始変数と終了変数は GlideElementGlideObject オブジェクトです。これらの変数から GlideDateTime オブジェクトを取得するには、次の例のように getGlideObject() を呼び出します。 gs.log("Score main = " + score_end.getGlideObject().getDayOfWeek());
式では、スコア収集の開始変数と終了変数は既に GlideDateTime オブジェクトになっています。したがって、次の例のように、 getGlideObject() を呼び出さずに変数を直接使用できます。 gs.log("Score main = " + score_end.getDayOfWeek());
開始変数と終了変数の値は、収集される期間にバインドされます。たとえば、月次インジケーターが収集されている場合、 score_end は月末です。
score_startとscore_endの値は、関連するユーザーのタイムゾーンに基づいて計算されます。パフォーマンスアナリティクススクリプトの場合、これは収集ジョブの実行タイムゾーンです。式の場合、これはダッシュボードウィジェットまたは アナリティクスハブで式インジケーターを表示するユーザーのタイムゾーンです。したがって、タイムゾーンが異なれば、式の score_start や score_end の日付も異なる場合があります。