28%irm_session_prepare();
31%irm_rest_get_rgf_attribution(host = &rgf_protocol.:
32 , server = &rgf_service.
33 , solution = &rgf_solution.
35 , tgt_ticket = &tgt_ticket.
36 , key = &attribution_analysis_key.
38 , outds = tmp_attribution_config
39 , outVarTicket = ticket
40 , outSuccess = httpSuccess
41 , outResponseStatus = responseStatus
46proc sort data = tmp_attribution_config;
47 by attributionGroupNo;
51data &ds_out_attribution_config.
52 &ds_out_attribution_run_config. (drop = attributeName attributionType);
58 previous_result_key $100.
59 current_result_key $100.
60 previous_portfolio_key $100.
61 current_portfolio_key $100.
62 portfolio_switch_flg $1.
63 portfolio_override_varlist $10000.
64 previous_analysis_run_id $32.
65 current_analysis_run_id $32.
66 scenario_switch_flg $1.
67 scenario_override_varlist $10000.
68 previous_model_run_key $32.
69 current_model_run_key $32.
71 previous_counterparty_key $100.
72 current_counterparty_key $100.
73 previous_mitigant_key $100.
74 current_mitigant_key $100.
75 previous_modelInputMap_key $100.
76 current_modelInputMap_key $100.
77 previous_modelOutputMap_key $100.
78 current_modelOutputMap_key $100.
79 previous_ia_data_key $100.
80 current_ia_data_key $100.
81 previous2_fr_htm_data_key $100.
82 previous_fr_htm_data_key $100.
83 previous2_afs_data_key $100.
84 previous_afs_data_key $100.
86 set tmp_attribution_config(rename = (key = attributionKey));
87 by attributionGroupNo;
90 portfolio_switch_flg
"N"
91 scenario_switch_flg
"N"
97 portfolio_override_varlist
98 scenario_override_varlist
101 drop cum_sequence_no;
102 retain cum_sequence_no;
105 attributionKey = &attribution_analysis_key.;
106 previous_result_key =
"&prev_result_key.";
107 current_result_key =
"&curr_result_key.";
108 previous_portfolio_key =
"&prev_portfolio_key.";
109 current_portfolio_key =
"&portfolio_key.";
110 previous_analysis_run_id =
"&attrib_prev_analysis_run_id.";
111 current_analysis_run_id =
"&attrib_curr_analysis_run_id.";
112 previous_model_run_key =
"&prev_credit_model_run_key.";
113 current_model_run_key =
"&credit_model_run_key.";
114 previous_counterparty_key =
"&prev_counterparty_key.";
115 current_counterparty_key =
"&counterparty_key.";
116 previous_mitigant_key =
"&prev_mitigant_key.";
117 current_mitigant_key =
"&mitigant_key.";
118 previous_modelInputMap_key =
"&prev_modelin_datamap_key.";
119 current_modelInputMap_key =
"&modelin_datamap_key.";
120 previous_modelOutputMap_key =
"&prev_modelout_datamap_key.";
121 current_modelOutputMap_key =
"&modelout_datamap_key.";
122 previous_ia_data_key =
"&prev_ia_data.";
123 current_ia_data_key =
"&ia_data.";
124 previous2_fr_htm_data_key =
"&prev2_fr_htm_data.";
125 previous_fr_htm_data_key =
"&prev_fr_htm_data.";
126 previous2_afs_data_key =
"&prev2_afs_data.";
127 previous_afs_data_key =
"&prev_afs_data.";
130 if(first.attributionGroupNo) then
134 if(attributionType in (
"PortfolioAging" "PortfolioAttribute" "PortfolioSwitch" "ScenarioRiskFactor" "ScenarioSwitch" "Model")) then
137 if(attributionType =
"PortfolioSwitch") then
do;
138 portfolio_switch_flg =
"Y";
139 call missing(portfolio_override_varlist);
142 if(attributionType =
"ScenarioSwitch") then
do;
143 scenario_switch_flg =
"Y";
144 call missing(scenario_override_varlist);
147 if(attributionType =
"Model") then
148 model_switch_flg =
"Y";
151 if(attributionType =
"PortfolioAttribute" and portfolio_switch_flg =
"N") then
152 portfolio_override_varlist = catx(
" ", portfolio_override_varlist, attributeName);
155 if(attributionType =
"ScenarioRiskFactor" and scenario_switch_flg =
"N") then
156 scenario_override_varlist = catx(
" ", scenario_override_varlist, attributeName);
160 if(portfolio_switch_flg =
"Y" and scenario_switch_flg =
"Y" and model_switch_flg =
"Y") then
163 if last.attributionGroupNo and runFlg =
"Y" then
do;
165 run_sequence_no = cum_sequence_no;
166 output &ds_out_attribution_run_config.;
169 output &ds_out_attribution_config.;
173data &ds_out_attribution_option.;
174 set &ds_in_run_option.;
176 if config_name =
"N_PARTITIONS" then
177 config_value =
"&attribution_n_partitions.";