式でアナリティクスメソッドを取得
アナリティクスハブの計算値を式に挿入するには、式でメソッドを使用します。
始める前に
必要なロール:pa_power_user、admin
このタスクについて
アナリティクスハブで計算された値を式の入力として使用できます。この値は、現在の式インジケーター自体を含む、任意のインジケーターから取得できます。
アナリティクスハブから値を取得するには、PAFormulaUtils() のメソッドを式に挿入します。これらのメソッドのいずれかを呼び出すには、 パフォーマンスアナリティクス 変数 pa を使用します。たとえば、 PAFormulaUtils.getScore メソッドを使用するには、 pa.getScore を呼び出します。詳細については、「PAFormulaUtils API」を参照してください。
手順
インデックスインジケーター
インデックスインジケーターは、複数のインジケーターを表す単一のスコアを生成する式インジケーターのユースケースです。次の例では、次のインジケーターのスコアとグローバルターゲットの間のギャップを集計する単一のインデックスが必要です。
- 期限切れのインシデントの割合。
- オープンインシデントの前回の更新の平均経過時間。
- オープンインシデントの合計数。
この単一のインデックスを取得するには、[ 方向] を [最大化] に設定して式インジケーターを作成します。すべてのインデックスインジケーターを最大化する必要があります。次に、 メソッドの参照 関数と インジケーターの参照 関数を使用して、次の式を作成します。
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.getYearUTC() + '-' + score_start.getMonthUTC() + '-01');
lastPeriod.addDaysUTC(-1);
pa.getChangePercentage($[[Number of open incidents]], lastPeriod.addDaysUTC(-1), score_start);
ブレークダウンと要素に基づいてスコアを除外する
優先度 = 1 - 重大のインシデントのスコアを除外したいと考えています。
- 優先度ブレークダウンと 1 - 重大要素の一意のレコード識別子を取得します。ブレークダウンレコードはブレークダウンテーブルにあります。要素レコードの場所はさまざまですが、ブレークダウンのブレークダウンソースで識別されます。この場合、要素は選択肢 [sys_choice] レコードです。一意のレコード識別子を取得する方法については、「 一意のレコード識別子 (sys_id)」を参照してください。
一意のレコード識別子は、優先度ブレークダウンが baec0752bf130100b96dac808c0739ed で、1 - 重要な要素が 8a4dde73c6112278017a6a4baf547aa7 です。
- 次の式でインジケーターを作成します。
var res = [[Number of open incidents]]; if(pa.getCurrentBreakdownID() == 'baec0752bf130100b96dac808c0739ed' && pa.getCurrentElementID() == '8a4dde73c6112278017a6a4baf547aa7') { res = 0; } res;