1%macro irmst_fltr_src_agg_tbl(scenario_name =
3 , ds_in_agg_rules_config =
12 %let where_stmt = scenario_name eq
"&scenario_name.";
13 %let keep_stmt = keep forecast_time scenario_id;
17 select distinct src_col
18 into :src_var_cols separated by
' '
19 from &ds_in_agg_rules_config.;
24 %irm_get_vars_where_cond(ds_in = &ds_in_agg_rules_config.
25 , where_vars_col = src_where_vars
26 , var_list = src_keep_var
28 %let keep_stmt = &keep_stmt. &src_var_cols. &src_keep_var.;
31 %
if(%sysevalf(%superq(ds_in_source_key) ne,
boolean)) %then %
do;
33 %let responseStatus =;
34 %irm_rgf_retrieve_analysis_data(key = &ds_in_source_key.
35 , where_clause = &where_stmt.
36 , custom_code = &keep_stmt.
38 , outds =unenriched_src_tbl
39 , outds_partition_list = partition_list
40 , host = &rgf_protocol.:
41 , server = &rgf_service.
42 , solution = &rgf_solution.
44 , tgt_ticket = &tgt_ticket.
45 , outVarTicket = ticket
46 , outSuccess = httpSuccess
47 , outResponseStatus = responseStatus
53 select count(a.src_col), a.src_col, cats(trim(a.src_col)||
'_w')
54 into: n_src_weight_cols ,: src_cols separated by ' ' ,: src_weight_cols separated by ' '
55 from(select distinct src_col, weight_var from &ds_in_agg_rules_config. where weight_var not =" ") as a;
58data &ds_out_filtered.;
59 set unenriched_src_tbl ;
60 %do j=1 %to &n_src_weight_cols.;
61 %sysfunc(cats(%scan("&src_weight_cols.",-&j.," "),&j.)) = %scan("&src_cols.",&j.," ");