How to create Custom Quantitative Transformation Risk Criteria Score for Group Factors

Vaishnavi Lathk
Mega Sage
Mega Sage

Hello Team,

 we are using script in group factor for calculate the score of group factor

Conditions -: Quantitative Score

1) We are doing addition of factors within group factor (Sum of all Manual and Group factor weight)

2)then we are calculating the percentage of weightage of that group factor

3) at end we are doing multiplication of that weightage value with total value (Output = sum of all factor * weighatge of current group factor)

4) as you are aware of that we can calculate Transformation Risk Criteria score only in qualitative type of group factor we want to build these functionality for  Quantitative  score

var factor_values = [];
var total = 0;
var gd = new GlideRecord('sn_risk_advanced_factor');
gd.addQuery('ref_sn_risk_advanced_sub_factor.parent.sys_id', gs.getProperty("sn_risk_advanced.Risk"));
gd.addQuery('risk_assessment_methodology.sys_id', gs.getProperty("sn_risk_advanced.RAM"));
gd.query();
while (gd.next()) {
    gs.print(gd.number);
    var Risk_assement = new GlideRecord('sn_risk_advanced_risk_assessment_instance_response');
    Risk_assement.addQuery('factor.ref_sn_risk_advanced_sub_factor.parent.sys_id', gs.getProperty("sn_risk_advanced.Risk"));
    Risk_assement.addQuery('assessment_instance_id.risk_assessment_methodology.sys_id', gs.getProperty("sn_risk_advanced.RAM"));

    Risk_assement.addQuery('factor.number', gd.number);
    Risk_assement.query();
    if (Risk_assement.next()) {
        if (Risk_assement.factor_response != '') {
            var response = parseInt(Risk_assement.factor_response);
            factor_values.push(response);
        }
    }
}
gs.print('Factor values' + factor_values);
gs.print(factor_values.length);
for (var i = 0; i < factor_values.length; i++) {
    total += factor_values[i];
}
gs.print('Addition of factors ' + total);
var weight = 0.25;
var Score = total * weight;
gs.print('FinalScore ' + Score);


try {
    if ((0 <= Score) && (Score <= 1.5)) {
        gs.print('Low');
    } else if ((1.5 < Score) && (Score <= 2.0)) {
        gs.print('Medium');
    } else if ((2.0 < Score) && (Score <= 3.0)) {
        gs.print('High');
    } else if (3.0 <= Score) {
        gs.print('Extreme');
    } else {
        gs.print('0');
    }
} catch (ex) {
    var message = ex.message;
    gs.error("Error in system logs: " + message);
}

 

(Observation :- we can't use qualitative score because it's override transformation risk criteria score)

 

@Ankur Bawiskar @Community Alums @Rajesh_Singh  any suggestions?

0 REPLIES 0