数式のアナリティクスメソッドを取得する

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • アナリティクスハブから計算された値を数式に挿入するには、数式のメソッドを使用します。

    始める前に

    必要なロール:pa_power_user、admin

    このタスクについて

    アナリティクスハブで計算された値を式の入力として使用できます。その値は、現在の式インジケーター自体を含む、任意のインジケーターから取得できます。

    アナリティクスハブから値を取得するには、PAFormulaUtils() のメソッドを式に挿入します。これらのメソッドの 1 つを呼び出すには、 パフォーマンスアナリティクス 変数 pa を使用します。たとえば、 PAFormulaUtils.getScore メソッドを使用するには、 pa.getScore を呼び出します。詳細については、「PAFormulaUtils API」を参照してください。

    手順

    1. 式インジケーターレコードを開きます。
    2. [数式] ボックスで、 メソッドの [参照] をクリックします。
      メソッドを選択できるダイアログボックスが開きます。
    3. ニーズに合った方法を参照します。
      メソッドは、編集中の現在の式、または指定する必要がある別のインジケーターのいずれかを参照します。リストには、メソッド名の代わりに各メソッドの説明ラベルが表示されます。

      [メソッドを式に追加 (Add a method to the formula)] ダイアログボックスのメソッドの説明ラベルのリスト。[指定されたインジケーターのグローバルターゲットギャップを取得 (Get global target gap of the specified indicator)] が強調表示されています。
    4. メソッドを選択します。
      メソッドを選択すると、メソッドの名前やパラメーターフィールドなどの説明が開きます。

      [式にメソッドを追加] ダイアログに、[指定されたインジケーターのグローバル ターゲット ギャップを取得] メソッドと、最後に収集されたスコアとして指定された日付が表示されている
      日付フィールドには、次の値を指定できます。
      • 2018-12-21 などの YYYY-MM-DD 形式の絶対日付。
      • 変数 score_start または score_end。これらの変数は、参照されるインジケーターに対して計算される収集期間の最初と最後の 1 秒を表します。時刻は、ユーザのタイムゾーンとデータベースサーバのタイムゾーン (GMT) の時差から計算されます。詳細については、「ユーザーのタイムゾーンが異なることによるscore_start/終了の変更」を参照してください。
      • GlideDate または GlideDateTime API を使用して自分でコーディングした日付パラメーター。
    5. パラメータを入力し、「 選択」をクリックします。
      ダイアログが閉じ、メソッドがインジケーターフォームの式フィールドに表示されます。
    6. メソッドでインディケータを指定する必要がある場合は、カーソルで インディケータ パラメータを選択し、 インディケータの参照をクリックします。
      インジケーター選択ダイアログが開きます。
      フォーミュラのメソッド内からインジケーター選択ダイアログを開く
    7. インジケーターを選択します。
    8. オプション: ブレークダウンまたは要素と時系列集計を選択します。
    9. [ メソッドに使用 ]を選択し、[ 送信]をクリックします。
      メソッドが完了し、インジケーターが選択されます。インジケーターの前にはドル記号 $ が付いていることに注意してください。このドル記号は、インジケータースコアではなくインジケーターの アナリティクスハブ 値が返されることを意味します。[メソッドで使用] チェック ボックスをオンにすると、スコアの代わりにアナリティクスハブ値が選択されます。
      [インジケーター]、[ブレークダウン]、[要素]、および [メソッドで使用] チェックボックスがオンになっています

    インデックスインジケーター

    インデックスインジケーターは、複数のインジケーターを表す単一のスコアを生成するための式インジケーターのユースケースです。次の例では、次のインジケーターのスコアとグローバル ターゲットの間のギャップを集計する単一のインデックスが必要です。
    • 期限切れのインシデントの割合。
    • オープンインシデントの最終更新の平均経過時間。
    • オープンインシデントの合計数。
    この単一のインデックスを取得するには、[ 方向] を [ 最大化] に設定して式インジケーターを作成します。すべてのインデックスインジケーターを最大化する必要があります。次に、 メソッドの参照 関数と インジケーターの参照 関数を使用して、次の式を作成します。
    var a = pa.getGap($[[% of open overdue incidents]], score_start) / pa.getGlobalTarget($[[% of open overdue incidents]],score_start);
    var b = pa.getGap($[[Average age of last update of open incidents]], score_start) / pa.getGlobalTarget($[[Average age of last update of open incidents]], score_start);
    var c = pa.getGap($[[Number of open incidents]], score_start) / pa.getGlobalTarget($[[Number of open incidents]], score_start);
    var res = 100 - (100 * (a + b + c) / 3);
    res;

    変更自体にターゲットを設定する

    インシデントバックログで前月比 10% 削減というチームの目標を設定しようとしています。次の式を使用して式インジケーターを作成し、 アナリティクスハブでこのインジケーターのターゲットを -10% に設定します。

    var lastPeriod = new GlideDateTime(score_start.getYear() + '-' + score_start.getMonth() + '-01');
    lastPeriod.addDaysUTC(-1);
    pa.getChangePercentage($[[Number of open incidents]], lastPeriod.addDaysUTC(-1), score_start);

    ブレークダウンと要素に基づいてスコアを除外する

    優先度 = 1 - 重大のインシデントのスコアを除外するとします。
    1. [優先度] ブレークダウンと [1 - 重要] 要素の一意のレコード識別子を取得します。ブレークダウンレコードはブレークダウンテーブルにあります。要素レコードの場所はさまざまですが、ブレークダウンのブレークダウンソースで識別されます。この場合、要素は選択肢 [sys_choice] レコードです。一意のレコード識別子を取得する方法については、「 一意のレコード識別子 (sys_id)」を参照してください。

      一意のレコード識別子は、優先度ブレークダウンの場合は baec0752bf130100b96dac808c0739ed、1 - 最重要要素の場合は 8a4dde73c6112278017a6a4baf547aa7 です。

    2. 次の式でインジケーターを作成します。
      var res = [[Number of open incidents]];
      if(pa.getCurrentBreakdownID() == 'baec0752bf130100b96dac808c0739ed' && pa.getCurrentElementID() == '8a4dde73c6112278017a6a4baf547aa7')
      {
      res = 0;
      }
      res;