How to write a macro with loops
Anonimo
A macro loop in SAS automate repetitive tasks. You can loop using: %DO - %END inside a macro (macro-level loop) or Data setp do loop (data-leve loops) The most common use case: running the same code across multiple datasets, treatement groups, parameters, or time points. Practical Example: Loop across datasets Suppose you have multiple raw datasets(DM, AE, VS, LB) you want to print or check for missing values. %macro check_datasets; %let dslist= DM AE VS LB; %let n = %sysfunc(countw(&dslist)); /*count number of datasets */ %do i = 1 %to &n; %let ds = %scan(&dslist, &i); /* extracts each dataset name from the list */ %put ==== checking dataset: &ds ====; proc contents data=raw.&ds noprint; run; %end; %mend check_datasets; %check_datasets;