рдкрд┐рдЫрд▓реЗ
рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдмрд╛рд╣рд░реА рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рдкрдврд╝реЗрдВред рдЖрдЬ рд╣рдо рдПрд╕рдИрдЯреА рдСрдкрд░реЗрдЯрд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВрдЧреЗ, рдЬреЛ рдорд╛рдирдХ рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛ рд╕реЗрдЯ (рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛ рд╕реЗрдЯ) рдкрдврд╝рддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рд╕реНрд▓рд╛рдЗрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрддрд╛ рд╣реИ, рд▓рдЧрд╛рддрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдПрд╕рдПрдПрд╕ рдлрд╝рдВрдХреНрд╢рди рднреА рд╕реАрдЦрддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдореИрдВ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд░рд▓рддрдо рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ EXCEL рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
C: \ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ \ habrahabr рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рд╕реЗ рдПрдХ рд╕реНрд▓рд╛рдЗрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рдПрд╕рдПрдПрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдП рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдХреЙрд▓рдо рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рджреЛ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдЖрдпрд╛рдд рдХрд░реЗрдВ рдФрд░ рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
рдПрдХреНрд╕реЗрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрдкрд░реЛрдХреНрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
рдлрд╝рд╛рдЗрд▓ рд╕реНрдирд┐рдкреЗрдЯ:
рд╣рдо
рдПрд╕рдПрд╕реА рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП
PROC рдЖрдпрд╛рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:
options validvarname=v7; proc import datafile="C:\workshop\habrahabr\company.xlsx" dbms=xlsx out=company replace; getnames=yes; run;
рдорд╛рдиреНрдпрд╡рд░рдирд╛рдо = V7 рд╡рд┐рдХрд▓реНрдк рдПрд╕рдПрдПрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рд╣реА рдлрд╝реАрд▓реНрдб рдирд╛рдо рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ: рд╕рднреА рдЕрдорд╛рдиреНрдп рд╡рд░реНрдгреЛрдВ рдХреЛ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдирд╛рдордХрд░рдг рдЪрд░ рдХреЗ рдирд┐рдпрдо
рдкрд╛рда 1 рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ
редрдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рддреЗ рд╕рдордп рд╣рдо рддреБрд░рдВрдд рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЕрдВрддрд┐рдо рддрд┐рдерд┐ рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реИред рдЬрд╣рд╛рдБ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдиреЛрдЯ рдХрд░реЗрдВред
options validvarname=v7; proc import datafile="C:\workshop\habrahabr\company.xlsx" dbms=xlsx out=company (where=(End_Date not is missing)) replace; getnames=yes; run;
рд╣рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ PROC рдЖрдпрд╛рдд рдХрджрдо рдСрдкрд░реЗрдЯрд░реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
Datafile - рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░реНрдг рдкрде рдФрд░ рдирд╛рдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
Dbms - рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЖрдЙрдЯ - рдПрд╕рдПрдПрд╕ рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рдкрд╣рдЪрд╛рди рдПрдХ рдпрд╛ рджреЛ-рд╕реНрддрд░реАрдп рдПрд╕рдПрдПрд╕ рдирд╛рдо (рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд╛рдо рдФрд░ рдбреЗрдЯрд╛рд╕реЗрдЯ рдирд╛рдо) рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИред
рдмрджрд▓реЗрдВ - рдПрдХ рдореМрдЬреВрджрд╛ SAS рдбреЗрдЯрд╛рд╕реЗрдЯ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдЧреЗрдЯрдиреЗрдо - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ PROC рдЖрдпрд╛рдд рдЗрдирдкреБрдЯ рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдбреЗрдЯрд╛ рдорд╛рдиреЛрдВ рд╕реЗ рдПрд╕рдПрдПрд╕ рдЪрд░ рдирд╛рдо рдмрдирд╛рддрд╛ рд╣реИред
PROC рдЖрдпрд╛рдд рдЪрд░рдг рдЪрд▓рд╛рдПрдБ рдФрд░ рд▓реЙрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
рдкрд░рд┐рдгрд╛рдореА SAS рдбреЗрдЯрд╛рд╕реЗрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ:
proc print data=work.company noobs; run;
PROC PRINT рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЯреБрдХрдбрд╝рд╛:
рдПрд╕рдПрдПрд╕ рдпреВрдИ рдореЗрдВ, рдЖрдк рдЖрдпрд╛рддрд┐рдд рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
SAS рдбреЗрдЯрд╛рд╕реИрдЯ рдкрдврд╝рдирд╛
рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ
рдПрд╕рдПрдЯреА рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдЪрд░рдг рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рд╕реЗрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
SET<SAS-data-set(s) <(data-set-options(s) )> > <options>
рдпрджрд┐ рдЖрдк SET рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛рд╕реЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдВрддрд┐рдо рдирд┐рд░реНрдорд┐рдд рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИред
SET рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ, рдЖрдк рдХрдИ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛ рд╕реЗрдЯреНрд╕ рдХреЛ рдПрдХ рдХреЗ рддрд╣рдд рдПрдХ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ (SQL рдореЗрдВ UNION рдХреЗ рд╕рдорд╛рди)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЗрдЯрд╛ рдЪрд░рдг рдореЗрдВ, рджреЛ SET рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЯреЗрдмрд▓ рдПрдХ рдХреЙрдорди рдХреЙрд▓рдо рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рддреЗ рд╣реИрдВред рдЖрдк
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рджреЛ SET рдХрдердиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред
рдПрд╕рдПрдПрд╕ рдбрд╛рдЯрд╛рд╕реЗрдЯ рдХреА рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХреЛрдб рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
data company1; set company; run;
рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛рд╕реИрдЯ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрдЯрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдЖрдк PROC рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ (
рдкрд╛рда 2 рджреЗрдЦреЗрдВ ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо
PROC DATASETS рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдШрдЯрдХ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВрдЧреЗ:
proc datasets library=work nolist; contents data=company order=varnum; quit;
рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
Travel_Expenses рдФрд░ рдмрдЬрдЯ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░рдВрддрд░ рдкреНрд░рд╛рд░реВрдк рд╕реЗрдЯ рдХрд░реЗрдВ:
data company; set company; format Travel_Expenses Budget dollar10.2; run;
SAS рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
proc datasets library=work nolist; contents data=company order=varnum; quit;
рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдХреЙрд▓рдо рдмрдирд╛рдирд╛
рд╕рднреА рдПрд╕рдПрдПрд╕ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ
рдПрд╕рдПрдПрд╕ 9.4 рдлрдВрдХреНрд╢рдВрд╕ рдФрд░ рдХреЙрд▓ рд░реВрдЯреАрди рдореЗрдВ рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
: рд╕рдВрджрд░реНрдн, рдкрд╛рдВрдЪрд╡рд╛рдВ рд╕рдВрд╕реНрдХрд░рдг ред
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпрджрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк
PROC FCMP рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдирд╛ рдХрд╛рд░реНрдп рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рдкрд╛рда рдореЗрдВ, рд╣рдо рддреАрди рдХрд╛рд░реНрдпреЛрдВ YRDIF, SUM рдФрд░ CATS рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред
рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рддрд┐рдерд┐рдпреЛрдВ рдХреЗ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо
YRDIF рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдПрд╕рдПрдПрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рддрд╛рд░реАрдЦ 01 рдЬрдирд╡рд░реА 1960 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рджрд┐рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ (
рдкрд╛рда 1 рджреЗрдЦреЗрдВ )ред рдкреНрд░рд╕реНрддреБрдд рдЖрдВрдХрдбрд╝реЛрдВ рдкрд░, рд╣рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
data company1; set work.company; Lead_Time=yrdif(Start_Date, End_Date, 'actual'); format Travel_Expenses Budget dollar10.2 Lead_Time 3.1; run;
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓реАрдб_рдЯрд╛рдЗрдо рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд▓рд┐рдП 3.1 рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рд░рд┐рдкреЛрд░реНрдЯ (!) рд╕реЗ 1 рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рди рдореЗрдВ рдкрд░рд┐рдХрд▓рд┐рдд рдорд╛рдиреЛрдВ рдХреЛ рдЧреЛрд▓ рдХрд┐рдпрд╛ред рд╕реНрд╡рд░реВрдк рдСрдкрд░реЗрдЯрд░ SAS рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдорд╛рди
рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ !
рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
рдЕрдЧрд▓рд╛, рд╣рдо рдпрд╛рддреНрд░рд╛ рдЦрд░реНрдЪреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХреА рд▓рд╛рдЧрдд рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ:
data company1; set work.company; Lead_Time=yrdif(Start_Date, End_Date, 'actual'); Cost=Budget-Travel_Expenses; format Cost Travel_Expenses Budget dollar10.2 Lead_Time 3.1; run;
рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЦрд╛рддреЗ рдХреА рдпрд╛рддреНрд░рд╛ рдХреЗ рдЦрд░реНрдЪ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд╛рдо рдХреА рд▓рд╛рдЧрдд рдХреА рдЧрдгрдирд╛ рдХреАред рд╣рдорд╛рд░реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреЛрдИ рдЕрдиреБрдкрд▓рдмреНрдз рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ, рдпрджрд┐ рдХрд┐рд╕реА рдПрдХ рдЪрд░ (рдмрдЬрдЯ рдпрд╛ Travel_Expenses) рдореЗрдВ рдПрдХ рд▓рд╛рдкрддрд╛ рдореВрд▓реНрдп рдерд╛, рддреЛ рдкрд░рд┐рдгрд╛рдо "рдорд┐рд╢рди" рдерд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдПрдХ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рд╕реЗрдЯ рдмрдирд╛рдПрдБ:
data test; input Budget Travel_Expenses; datalines; 12345 233 . 345 12543 . ;
рд╡реИрд░рд┐рдПрдмрд▓ рдмрдЬрдЯ Travel_Expenses рдХреЗ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ
data test; set test; value=Budget-Travel_Expenses; run;
рдЗрд╕ рдХрджрдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо:
рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк
SUM рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдлрд╝рдВрдХреНрд╢рди
рд╡рд░реНрдгрдирд╛рддреНрдордХ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдлрд╝рдВрдХреНрд╢рди рдХреА рд╢реНрд░реЗрдгреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╡рд░реНрдгрдирд╛рддреНрдордХ рдЖрдБрдХрдбрд╝реЗ рдлрд╝рдВрдХреНрд╢рди рд▓рд╛рдкрддрд╛ рдорд╛рдиреЛрдВ рдХреЛ
рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВред
SUM рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЛрдб рд▓рд┐рдЦрдирд╛:
data test; set test; value=sum(Budget,-Travel_Expenses); run;
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрджрдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
рддреАрд╕рд░рд╛ рдкрд░рд┐рдХрд▓рд┐рдд рд╕реНрддрдВрдн рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдИрдореЗрд▓ рдкрддрд╛ рд╣реИред рдпрд╣ рдХреЙрд▓рдо Manager_FirstName, Manager_LastName рдФрд░ рдорд╛рди
harocom рд╕реЗ "рдЕрд╕реЗрдВрдмрд▓" рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдЖрдк рдкрд╛рда рдорд╛рдиреЛрдВ рдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ
рд▓рд┐рдП CATS рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
data company1; set work.company; Lead_Time=yrdif(Start_Date, End_Date, 'actual'); Cost=Budget-Travel_Expenses; Email=cats(Manager_FirstName, '.',Manager_LastName, '@habr.com'); format Cost Travel_Expenses Budget dollar10.2 Lead_Time 3.1; run;
рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
рдЖрдЗрдП рдмрдирд╛рдП рдЧрдП рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд╡рд┐рд╡рд░рдгрдХ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ:
proc contents data=work.company1 varnum; run;
рд╕рдВрднрд╛рд▓реЗрдВ рдЯреБрдХрдбрд╝рд╛:

рдИрдореЗрд▓ рд╡реИрд░рд┐рдПрдмрд▓ рдХреА рд▓рдВрдмрд╛рдИ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрд╣ 200 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ; рдпрд╣ CATS рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рджреА рдЧрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓рдВрдмрд╛рдИ рд╣реИред рдпрджрд┐ рд╣рдо рдЪрд░ рдкреНрд░рдмрдВрдзрдХ_FirstName рдФрд░ Manager_LastName рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдИрдореЗрд▓ рдЪрд░ рдХреЗ рд▓рд┐рдП 8 + 6 + рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ '@ habr.com' рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдпрд╛рдиреА рдПрдХ рдФрд░ 9 рдмрд╛рдЗрдЯреНрд╕, рдХреБрд▓ 23. рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреНрдпреЛрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП? рд╕рднреА рд▓рд╛рдкрддрд╛ рд╡рд░реНрдг рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред
рдИрдореЗрд▓ рдЪрд░ рдХреА рд▓рдВрдмрд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ LENGTH рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
data company1; set work.company; length Email $23; Lead_Time=yrdif(Start_Date, End_Date, 'actual'); Cost=Budget-Travel_Expenses; Email=cats(Manager_FirstName, '.',Manager_LastName, '@habr.com'); format Cost Travel_Expenses Budget dollar10.2 Lead_Time 3.1; run;
рдЯреБрдХрдбрд╝рд╛ рд╕рдВрднрд╛рд▓рдирд╛
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд▓реАрдб_рдЯрд╛рдЗрдо рд╡реИрд░рд┐рдПрдмрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдХреЙрд▓рдо рдмрдирд╛рдПрдБ:
- рдпрджрд┐ рд▓реАрдб_рдЯрд╛рдЗрдо рдЪрд░ рдХрд╛ рдорд╛рди 1 рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдбрд┐рдЯреЗрд▓ рдХреЙрд▓рдо рдХрд╛ рдореВрд▓реНрдп 1 рд╡рд░реНрд╖ рд╕реЗ рдХрдо рд╣реИред
- рдпрджрд┐ рд▓реАрдб_рдЯрд╛рдЗрдо рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдорд╛рди рд╕реАрдорд╛ рд╕рд╣рд┐рдд 1 рд╕реЗ 2 рддрдХ рд╣реИ, рддреЛ рдбрд┐рдЯреЗрд▓ рдХреЙрд▓рдо рдХрд╛ рдорд╛рди 1-2 рд╕рд╛рд▓ рд╣реИред
- рдпрджрд┐ рд▓реАрдб_рдЯрд╛рдЗрдо рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдорд╛рди 2 рдХреЛ рдЫреЛрдбрд╝рдХрд░ 3 рд╕реЗ 3 рддрдХ рд╣реИ, рддреЛ рдбрд┐рдЯреЗрд▓ рдХреЙрд▓рдо рдХрд╛ рдорд╛рди 2-3 рд╕рд╛рд▓ рд╣реИред
- рдпрджрд┐ рд▓реАрдб_рдЯрд╛рдЗрдо рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдорд╛рди 3 рдХреЛ рдЫреЛрдбрд╝рдХрд░ 3 рд╕реЗ 4 рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╣реИ, рддреЛ рдбрд┐рдЯреЗрд▓ рдХреЙрд▓рдо рдХрд╛ рдорд╛рди 3-4 рд╕рд╛рд▓ рд╣реИред
- рдпрджрд┐ рд▓реАрдб_рдЯрд╛рдЗрдо рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдорд╛рди 4 рдХреЛ рдЫреЛрдбрд╝рдХрд░ 4 рд╕реЗ 5 рддрдХ рд╣реИ, рддреЛ рдбрд┐рдЯреЗрд▓ рдХреЙрд▓рдо рдореЗрдВ 4-5 рд╕рд╛рд▓ рдХрд╛ рдорд╛рди рд╣реИред
- рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╡рд┐рд╡рд░рдг рд╕реНрддрдВрдн рдХрд╛ рдорд╛рди 5 рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
рдЖрдк рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕реНрддрдВрдн рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╢рд░реНрдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- If-then-else
- рдИрдПрд▓рдПрд╕рдИ рдЖрдИрдПрдл
- рдЪрдпрди-рдХрдм
рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИред
data company1; set work.company; length Email $23; Lead_Time=yrdif(Start_Date, End_Date, 'actual'); Cost=Budget-Travel_Expenses; Email=cats(Manager_FirstName, '.',Manager_LastName, '@habr.com'); format Cost Travel_Expenses Budget dollar10.2 Lead_Time 3.1; if Lead_Time<1 then detail='less than a year'; else if Lead_Time=>1 and Lead_Time<=2 then detail='1-2 years'; else if Lead_Time>2 and Lead_Time<=3 then detail='2-3 years'; else if Lead_Time>3 and Lead_Time<=4 then detail='3-4 years'; else if Lead_Time>4 and Lead_Time<=5 then detail='4-5 years'; else detail='above 5 years'; run;
рдПрдХ рд╢рд░реНрдд рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдХреЗрд╡рд▓ рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдЪрд░ рдХрд╛ рдорд╛рди '5 рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ' рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИред рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА:
рдЬрд╣рд╛рдБ рдкрд░ рд╕рдВрдЧрдгрд┐рдд рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдХреНрд▓реЙрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ рдЬрд┐рди рдЪрд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЪрдпрдирд╛рддреНрдордХ IF рдХрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдмрдирд╛рдП рдЧрдП рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдЕрд╡рд▓реЛрдХрди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд░рджреНрдж рдХрд░рддрд╛ рд╣реИ:
data company1; set work.company; length Email $23; Lead_Time=yrdif(Start_Date, End_Date, 'actual'); Cost=Budget-Travel_Expenses; Email=cats(Manager_FirstName, '.',Manager_LastName, '@habr.com'); format Cost Travel_Expenses Budget dollar10.2 Lead_Time 3.1; if Lead_Time<1 then detail='less than a year'; else if Lead_Time=>1 and Lead_Time<=2 then detail='1-2 years'; else if Lead_Time>2 and Lead_Time<=3 then detail='2-3 years'; else if Lead_Time>3 and Lead_Time<=4 then detail='3-4 years'; else if Lead_Time>4 and Lead_Time<=5 then detail='2-3 years'; else detail='above 5 years'; if detail ne 'above 5 years'; run;
рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЪрдпрдирд╛рддреНрдордХ IF рдХрдерди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдСрдкрд░реЗрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ:
if detail contains 'above 5 years';
рдПрдХ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
SAS рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
рдЪрд░ рдкреНрд░рдмрдВрдзрдХ_FirstName рдФрд░ Manager_LastName рдирдП SAS рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЖрд╡рд╢реНрдпрдХрддрд╛ DROP рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ DROP рдСрдкрд░реЗрдЯрд░ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
data company1 (drop=Manager_FirstName Manager_LastName); set work.company; length Email $23; Lead_Time=yrdif(Start_Date, End_Date, 'actual'); Cost=Budget-Travel_Expenses; Email=cats(Manager_FirstName, '.',Manager_LastName, '@habr.com'); format Cost Travel_Expenses Budget dollar10.2 Lead_Time 3.1; if Lead_Time<1 then detail='less than a year'; else if Lead_Time=>1 and Lead_Time<=2 then detail='1-2 years'; else if Lead_Time>2 and Lead_Time<=3 then detail='2-3 years'; else if Lead_Time>3 and Lead_Time<=4 then detail='3-4 years'; else if Lead_Time>4 and Lead_Time<=5 then detail='2-3 years'; else detail='above 5 years'; if detail ne 'above 5 years'; run;
рд╣рдордиреЗ рджрд┐рдП рдЧрдП SAS рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рджрд┐рдП рдЧрдП рд╢рд░реНрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИ
рдПрдХ рдбреЗрдЯрд╛ рдЪрд░рдг рдореЗрдВ, рдЖрдк рдХрдИ рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рджреЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдмрдирд╛рдПрдБред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреЗрд╢ рдХреЙрд▓рдо рдореЗрдВ рдХреМрди рд╕реЗ рдорд╛рди рд╣реИрдВ, рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк
PROC FREQ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
proc freq data=company1; table Country /nocum nopercent; run;
рдпрд╣ рдЪрд░рдг рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ = рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдХрдВрдЯреНрд░реА рд╡реИрд░рд┐рдПрдмрд▓ рд╕реЗ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдорд╛рди рдХрд┐рддрдиреА рдмрд╛рд░ рдЖрддрд╛ рд╣реИред
рдЗрд╕ рдЪрд░рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧрд╛:
рдЗрд╕рд▓рд┐рдП, рд╣рдо OUTPUT рдСрдкрд░реЗрдЯрд░ рдФрд░ рд╕рд╢рд░реНрдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдбреЗрдЯрд╛ рдЪрд░рдг рдореЗрдВ рджреЛ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдмрдирд╛рдПрдВрдЧреЗ:
data US AU; set work.company1; if Country='AU' then output AU; if Country='US' then output US; run;
рдХреЛрдб рдЪрд▓рд╛рдПрдБ рдФрд░ рд▓реЙрдЧ рджреЗрдЦреЗрдВ:
рдпрд╣ рдПрд╕рдПрдПрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╣реИред рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЖрдкрдХреЛ MERGE рдФрд░ SET рдХрдердиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдПрдБрдЧреЗред
рдФрд░ рдПрдХ рдкреАрдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдПрд╕рдПрдПрд╕ рдмреЗрд╕ рд╕рдмрдХ рдХреА рд╕рдВрд░рдЪрдирд╛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ:
рд▓реЗрдЦ рдЬреЛ рдкрд╣рд▓реЗ рд╣реА рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ:
- рдПрд╕рдПрдПрд╕ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВред рдкрд╛рда резред
- рдПрд╕рдПрдПрд╕ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВред рдкрд╛рда 2. рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕
- рдПрд╕рдПрдПрд╕ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВред рдкрд╛рда 3. рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдирд╛ред
- рдЖрдкрдиреЗ рдЕрднреА рдЪреМрдерд╛ рд╕рдмрдХ рд╕реАрдЦрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдПрд╕рдПрдПрд╕ рдмреЗрд╕ (рдорд░реНрдЬ, рд╕реЗрдЯ), рд╕рд╢рд░реНрдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг, рд▓реВрдк, рдПрд╕рдПрдПрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ, рдХрд╕реНрдЯрдо рдкреНрд░рд╛рд░реВрдк рдмрдирд╛рдиреЗ, рдПрд╕рдПрдПрд╕ рдореИрдХреНрд░реЛ, рдкреАрдЖрд░рдУрд╕реА рдПрд╕рдХреНрдпреВрдПрд▓ рдЬреИрд╕реЗ рдореБрджреНрджреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА! рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЖрдк рдХреМрди рд╕реЗ рдЕрдиреНрдп рд╡рд┐рд╖рдп рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?