Today is: 29.04.2021
I would like to write a code
1) create a variable based on currentdate generation = 202104 (yyyymm - in our example)
2) search the value from 1 and compare the "server" table latest ID Load value (biggest) = 3 (in our example) with the "local" table latest ID Load value (biggest) =2 (in our example)
3) if a newer version (bigger) value on "server" then i will run a specific macro
can somebody help me with this ?
thank you very much,
%macro yourmac(mandant,generation,s_id,l_id);
%put &=mandant. &=generation. &=s_id. &=l_id.;
%mend;
%put DATA server;
INPUT mandant generation id;
CARDS;
196 202103 1
196 202103 2
196 202104 1
196 202104 2
196 202104 3
;
DATA local;
INPUT mandant generation id;
CARDS;
196 202104 2
;
data want;
merge
server (in=s)
local (
in=l
rename=(id=l_id)
)
;
by mandant generation;
if l and last.generation
then if id > l_id
then call execute(cats('%nrstr(%yourmac(',mandant,",",generation,",",id,",",l_id,'))'));
run;
Please supply example data in usable form (data steps with datalines). We cannot run code against pictures.
DATA server; INPUT mandant generation id; CARDS; 196 202103 1 196 202103 2 196 202104 1 196 202104 2 196 202104 3 ; RUN; DATA local; INPUT mandant generation id; CARDS; 196 202104 2 ; RUN;
%macro yourmac(mandant,generation,s_id,l_id);
%put &=mandant. &=generation. &=s_id. &=l_id.;
%mend;
%put DATA server;
INPUT mandant generation id;
CARDS;
196 202103 1
196 202103 2
196 202104 1
196 202104 2
196 202104 3
;
DATA local;
INPUT mandant generation id;
CARDS;
196 202104 2
;
data want;
merge
server (in=s)
local (
in=l
rename=(id=l_id)
)
;
by mandant generation;
if l and last.generation
then if id > l_id
then call execute(cats('%nrstr(%yourmac(',mandant,",",generation,",",id,",",l_id,'))'));
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.