17libname permlib (work);
19%mddl_dc_locktable(libds=permlib.locktable)
20%mddl_dc_filtersummary(libds=permlib.filtsum)
21%mddl_dc_filterdetail(libds=permlib.filtdet)
22%mddl_dc_maxkeytable(libds=permlib.maxkey)
26 infile datalines4 dsd;
27 input GROUP_LOGIC:$3. SUBGROUP_LOGIC:$3. SUBGROUP_ID:8. VARIABLE_NM:$32.
28 OPERATOR_NM:$12. RAW_VALUE:$4000.;
30AND,AND,1,Start,>,"'2'"
31AND,AND,1,Fmtname,=,"'MORDOR'"
32OR,OR,2,Label,IN,"('Dragon1','Dragon2')"
34OR,OR,2,Start,GE,"'10'"
39PROC FORMAT library=permlib.testfmts;
40 picture MyMSdt other='%0Y-%0m-%0dT%0H:%0M:%0S' (datatype=datetime);
44 do fmtname='SMAUG','MORDOR','GOLLUM';
46 label= cats('Dragon ',start);
51proc sort data=work.fmts nodupkey;
54proc format cntlin=work.fmts library=permlib.testfmts;
56proc format library=permlib.testfmts;
57 invalue indays (default=13) other=42;
61%mp_assertscope(SNAPSHOT)
62%mp_filterstore(libds=permlib.testfmts-fc,
64 filter_summary=permlib.filtsum,
65 filter_detail=permlib.filtdet,
66 lock_table=permlib.locktable,
67 maxkeytable=permlib.maxkey,
68 outresult=work.result,
72%mp_assertscope(COMPARE)
74%mp_assert(iftrue=(&syscc=0),
75 desc=Ensure macro runs without errors,
76 outds=work.test_results
79%mp_assertdsobs(permlib.filtsum,
82 outds=work.test_results
86select max(filter_rk) into: test1 from work.result;
87%mp_assert(iftrue=(&test1=1),
88 desc=Ensure filter rk is correct,
89 outds=work.test_results
93%mp_filterstore(libds=permlib.testfmts-fc,
95 filter_summary=permlib.filtsum,
96 filter_detail=permlib.filtdet,
97 lock_table=permlib.locktable,
98 maxkeytable=permlib.maxkey,
99 outresult=work.result,
104%mp_assertdsobs(permlib.filtsum,
105 desc=Initial query - same obs,
107 outds=work.test_results
111select max(filter_rk) into: test2 from work.result;
112%mp_assert(iftrue=(&test2=1),
113 desc=Ensure filter rk is correct for second run,
114 outds=work.test_results