特定のテーブルの、特定のステータスから別の特定のステータスになった件数を測定したい

Tsukuru Yuasa
Tera Contributor

特定のテーブルの、特定のステータスから別の特定のステータスになった件数を
測定するための方法を知りたく、起票しました。

例えば、インシデントテーブルのレコードでステータスが「対応中」→「解決済み」になった件数や
「解決済み」→「クローズ」になった件数
といった件数を計測したいのですが、どのようにすれば良いでしょうか?

 

また、その計測した件数たちの平均件数や合計件数を出すには、どのようにすれば良いでしょうか?

よろしくお願いいたします。

2 REPLIES 2

iwai
Giga Sage

Metric の Scriptで 下記のようにすると、特定の値の変化だけをMetric Instanceに記録できます。記録した後は、Metric Instanceをレポートで集計することができます。

Define a metric (servicenow.com)

// State が 1 から 2 に 変化したときだけ記録する。
var grActiveInstance = getActiveInstance();
if (current.state == 1) {
    if (!grActiveInstance) {
        // State が 1 で 測定値 がない時、測定開始
        mi.startDuration();
    }
} else if (grActiveInstance) {
    if (current.state == 2) {
        // State が 2 で 測定値 がある時、測定完了(1から2の値に変わったので測定完了)
        mi.endDuration();
    } else {
        // State が 2 以外で 測定値 がある時、測定削除(1から別の値に変わったので測定削除)
        grActiveInstance.deleteRecord();
    }
}

function getActiveInstance() {
    var gr = new GlideRecord('metric_instance');
    gr.addQuery('definition', definition.sys_id);
    gr.addQuery('id', current.sys_id);
    gr.addQuery('calculation_complete', false);
    gr.setLimit(1);
    gr.query();
    if (gr.next()) {
        return gr;
    }
    return null;
}
answer = false;

 

ご返信ありがとうございます。

確認させていただきます。