48%macro irmst_get_model_group_maps(
52 out_model_group_map = work.model_group_map,
61 outds = work._tmp_workgroups_,
76 %irm_rest_set_mip_workgroup(host = &host.,
79 workgroup = &workgroup.,
80 authMethod = &authMethod.,
81 tgt_ticket = %superq(tgt_ticket),
83 outVarTicket = &outVarTicket.,
84 outSuccess = &outSuccess.,
85 outResponseStatus = &outResponseStatus.,
87 restartLUA = &restartLUA.,
88 clearCache = &clearCache.
95 url = &mipurl./rest/modelGroupMaps,
97 tgt_ticket = %superq(tgt_ticket),
98 outVarTicket = service_ticket,
99 %
if %qupcase(&debug.) eq TRUE %then
105 filename mgmjson temp;
107 proc http url =
"&mipurl./rest/modelGroupMaps?%str(&)ticket=&service_ticket."
111 %
if %upcase(&debug.) eq TRUE %then
113 headers "Accept" = "application/json"
114 "Content-Type" = "application/json";
117 libname mgm_json JSON fileref = mgmjson;
125 create table work.model_group_map_tmp as
126 select input(a.
id, best32.) as modeling_system_sk,
127 a.name as modeling_system_name,
128 a.entityVersion as modeling_system_version,
129 b.name as model_group_map_name,
130 input(b.
id, best32.) as model_group_map_sk,
131 c.mapentrykey as insttype length=32,
132 d.name as model_group_name,
133 input(d.
id, best32.) as model_group_sk,
134 upcase(d.kindName) as model_group_kind length=32
135 from mgm_json.items_modelingsystem as a,
137 mgm_json.items_mapentries as c,
138 mgm_json.mapentries_modelgroup as d
139 where b.ordinal_items eq a.ordinal_items and
140 b.ordinal_items eq c.ordinal_items and
141 c.ordinal_mapentries eq d.ordinal_mapentries and
142 upcase(d.kindName) eq upcase("&model_group_kind.") and
143 a.
id in ("&ms_sk." %if %sysevalf(%superq(add_seg_lvl_ms_sk) ne,
boolean) %then
144 "&add_seg_lvl_ms_sk.";)
145 order by modeling_system_sk,
150 %if %sysevalf(%superq(add_seg_lvl_ms_sk) ne,
boolean) %then
153 select distinct model_group_sk
155 from work.model_group_map_tmp
156 where modeling_system_sk eq &add_seg_lvl_ms_sk.;
159 %let num_seg_mg = &sqlobs.;
162 libname mgm_json clear;
163 filename mgmjson clear;
169 create table work.model_group_x_tm_dim(
171 tm_model_name varchar(32),
177 %if (&num_seg_mg. ne 0) %then
178 %do i = 1 %to &num_seg_mg.;
180 filename mgjson temp;
182 %irm_rest_get_ticket(
183 url = &mipurl./rest/modelGroups/&&seg_mg_sk&i,
185 tgt_ticket = %superq(tgt_ticket),
186 outVarTicket = service_ticket,
187 %if %qupcase(&debug.) eq TRUE %then
193 proc http url = "&mipurl./rest/modelGroups/&&seg_mg_sk&i?%str(&)ticket=&service_ticket."
197 %if %upcase(&debug.) eq TRUE %then
199 headers "Accept" = "application/json"
200 "Content-Type" = "application/json";
203 libname mg_json JSON fileref = mgjson;
208 %if %rsk_dsexist(mg_json.modelgroupmodels_model) %then
215 from mg_json.modelgroupmodels_model
216 where upcase(formType) eq "TRANSITIONMATRIX";
224 insert into work.model_group_x_tm_dim
225 select &&seg_mg_sk&i as model_group_sk,
226 coalesce("&tm_model_name.",'') as tm_model_name,
227 coalesce(&tm_model_sk.,.) as tm_model_sk,
228 count(name) as tm_dim
229 from dictionary.columns
230 where libname eq 'MG_JSON' and
231 memname eq 'TRANSITIONMATRICES_TOSTATES' and
232 lowcase(name) like "tostate%";
235 filename mgjson clear;
236 libname mg_json clear;
245 create table &out_model_group_map. as
250 from work.model_group_map_tmp as mgm
252 (select distinct a.insttype,
256 from work.model_group_map_tmp as a,
257 work.model_group_x_tm_dim as b
258 where a.model_group_sk eq b.model_group_sk) as tm
259 on upcase(mgm.insttype) eq upcase(tm.insttype)
260 order by modeling_system_sk,
268 %local vars_to_delete;
271 into : vars_to_delete
274 where scope eq 'GLOBAL' and
275 (upcase(name) like 'MGM_JSON_%' or
276 upcase(name) like 'MG_JSON_%');
279 %if &vars_to_delete. ne %then
281 %put NOTE: Deleting variable(s) &vars_to_delete.;
282 %symdel &vars_to_delete.;
288 %if %qupcase(&debug) ne TRUE %then
291 drop table work.model_group_map_tmp,
292 work.model_group_x_tm_dim;
296%mend irmst_get_model_group_maps;