スクリプト: パフォーマンスアナリティクス

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む7読むのに数分
  • パフォーマンスアナリティクスは、パフォーマンスアナリティクスデータのクエリのためのスクリプトと API で使用するための、いくつかのスクリプト オブジェクトを提供しています。このスクリプトはブレークダウンマッピングとして機能するか、インジケーターから値を計算します。

    スクリプトに関するヒント

    • 一般に、スクリプトは、 score_start 変数と score_end 変数を使用して、経過時間などの日付処理を伴うインジケーターをサポートする場合にのみ使用します。
    • 不要なフィールドを制限します。追加のドット連結フィールドを含めるたびに、クエリに追加の結合を追加します。
    • パフォーマンスを向上させるために、手動によるブレークダウンをデータベースビューに置き換えてみてください。
    • 一般的な機能にはスクリプトインクルードを使用するようにしてください。詳細については、「スクリプトインクルード」を参照してください。
    • レポートに必要な方法でデータが構造化されていない場合は、スクリプトを作成する代わりに、運用テーブルに「レポートフィールド」を追加してみてください。詳細については、この コミュニティの投稿を参照してください。
    • スコアテーブルまたはスナップショットテーブルを パフォーマンスアナリティクス 照会するバックグラウンドスクリプトを実行している場合は、適切なロールがないと、スコープ対象のアプリケーションに関するデータにアクセスできません。
    警告:
    パフォーマンスアナリティクス スクリプトまたは式インジケーターで GlideRecords または GlideAggregates を使用しないでください。必要なものを取得するためにこれらの操作を使用する必要がある場合もありますが、これらはコストがかかり、数十万回実行する可能性があります。使用する前に、代替が存在しないことを確認してください。

    ブレークダウンマッピングとインジケータースクリプト

    ブレークダウンマッピング スクリプトは、通常、ブレークダウン要素の 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_startscore_endは、[フィールド] フィールドで定義せずに使用できます。

    パフォーマンス分析でのスクリプトの作成

    スクリプトを作成するには、まず、スクリプトを適用するファクト テーブルを選択し、明示的にフィールドを選択します。

    始める前に

    必要なロール:admin、pa_admin テーブル内の パフォーマンスアナリティクス スコープ対象アプリケーションのデータにアクセスするには、そのアプリケーションに対する適切な admin ロールも必要です。

    手順

    1. 移動先 すべて > Performance Analytics > スクリプト をクリックし、[ 新規] をクリックします。
    2. スクリプトにわかりやすい [名前] を付けます。
    3. スクリプトを適用する [ファクトテーブル] を選択します。
      これと同じファクト テーブルを使用するインジケーターのみが、このスクリプトを使用できます。
    4. スクリプトで使用されるファクト テーブルの [フィールド] がある場合は、選択します。
      フィールドはラベルで選択します。
    5. スクリプトを記述します。
      スクリプトは、次の関係と制限に従う必要があります。
      • このフォームで選択されたフィールドとスクリプト変数のみを含めることができます。詳細については、Performance Analytics 変数に関するセクションを参照してください。
      • スクリプトでフィールドを使用する場合は、列名を使用します。必要に応じて、ファクト テーブルの列名をルックアップします。
      • データベース ビューのフィールドを使用する場合は、プリフィックスを含める必要があります。たとえば、incident_sla データベース ビューには、taskslatable というプリフィックスを持つ task_sla テーブルが含まれています。task_sla には、business_duration 列が含まれています。incident_slaデータベースビューから business_duration フィールドを使用するには、 taskslatable_business_duration として記述します。データベース ビューにアクセスできない場合は、システム管理者にプリフィックスの検索を依頼してください。

    次のタスク

    スクリプトを作成したら、スクリプトを使用するブレークダウンマッピングまたはインジケーターを作成します。ブレークダウンマッピングまたはインジケーター タブのいずれかで [ 新規 ] をクリックすると、ブレークダウンマッピングまたはインジケーター フォームを開くことができます。このスクリプトを使用するブレークダウンマッピングとインジケーターがこれらのタブに一覧表示されます。

    パフォーマンスアナリティクス の変数

    いくつかの変数をスクリプトと式インジケーターで使用する パフォーマンスアナリティクス ことができます。

    スクリプトと式では パフォーマンスアナリティクス 、次の変数を使用できます。

    • 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_startscore_endの値は、関連するユーザーのタイムゾーンに基づいて計算されます。スクリプトの場合 パフォーマンスアナリティクス 、これは収集ジョブの実行タイムゾーンです。数式の場合、これはダッシュボードウィジェットまたは アナリティクスハブで式インジケーターを表示するユーザーのタイムゾーンです。そのため、タイムゾーンが異なれば、数式の score_startscore_end の日付も異なる場合があります。