スクリプト: パフォーマンスアナリティクス
パフォーマンスアナリティクスは、パフォーマンスアナリティクスデータのクエリのためのスクリプトと API で使用するための、いくつかのスクリプト オブジェクトを提供しています。スクリプトは、ブレークダウンマッピングとして、またはインジケーターから値を計算するために機能します。
スクリプトに関するヒント
- 一般に、スクリプトは、
score_start変数とscore_end変数を使用して、日付処理による経過時間などのインジケーターをサポートする場合にのみ使用してください。 - 不要なフィールドを制限します。ドット連結フィールドを追加するたびに、クエリに結合が追加されます。
- パフォーマンスを向上させるために、手動ブレークダウンを データベースビュー に置き換えるようにしてください。
- 一般的な関数にはスクリプトインクルードを使用するようにしてください。詳細については、「スクリプトインクルード」を参照してください。
- レポートに必要な方法でデータが構造化されていない場合は、スクリプトを作成する代わりに運用テーブルに「レポートフィールド」を追加してみてください。詳細については、この コミュニティの投稿を参照してください。
- パフォーマンスアナリティクススコアまたはスナップショットテーブルにクエリを実行するバックグラウンドスクリプトを実行している場合、そのアプリケーションに対する適切なロールがない限り、スコープ対象のアプリケーションに関するデータにアクセスすることはできません。
ブレークダウンマッピングとインジケータースクリプト
ブレークダウンマッピングスクリプトは、通常、ブレークダウン要素のsys_idまたはスコアをバケットに入れる整数のいずれかを返します。インジケータースクリプトは、1 つ以上のフィールドから計算されたスコアを返します。同じスクリプトで、ブレークダウンマッピングスクリプトとしてもインジケータースクリプトとしても機能します。
ブレークダウンスクリプト
たとえば、インシデントテーブルの opened_at フィールドを使用する Incident.Age.Days スクリプトについて考えてみます。このスクリプトは、インシデント経過時間範囲 (日数) バケットグループ をブレークダウンソースとして使用する経過時間ブレークダウンのブレークダウンマッピングとして機能します。
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:最後のインジケータースコア収集の 1 日の最後の 1 秒。時間は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 の日付が異なる場合があります。