Astăzi discutăm despre macrourile SAS pentru începători și despre modul în care macrourile SAS ne ușurează viața prin reducerea redundanței sau a repetitivității unui cod. Macro SAS oferă o modalitate incredibilă de a face un proces ușor și automat. Aici, vom vedea diferite variabile SAS Macro, funcții ale Macro în limbajul de programare SAS. Mai mult decât atât, vom învăța Componentele codului SAS Macro și unele beneficii ale SAS Macro
Să vedem cum funcționează SAS Macro.
Nu deveniți învechit & primiți un Pink Slip
Follow DataFlair on Google News & Rămâneți în fața jocului
1. Ce este macroul SAS?
Macrourile ajută practic la refolosirea codului în diferite locuri de mai multe ori, în mai multe locuri, fără a fi nevoie să tastați din nou și din nou întregul cod. Acest lucru nu numai că economisește timp, dar are ca rezultat un cod fără erori.
Să înțelegem acest lucru cu un exemplu:
proc print data=Policysnapshot;where policydate='09Sep14'd;title "Below are the policy detail for 09-Sep-14";Run;
Codul SAS de mai sus este scris pentru a extrage detalii la nivel de politică pentru 09-Sep-14 și să spunem că utilizatorul trebuie să ruleze acest cod zilnic după ce schimbă data (în ambele locuri) în data curentă.
Acum, haideți să analizăm același cod prin utilizarea macrourilor SAS.
Proc Print Data=Sales.Policysnapshot;Where policydate="&sysdate9"d;Title "Below are the policy detail for %sysdate9";Run;
În acest caz, utilizatorul nu trebuie să furnizeze o valoare pentru data curentă. Codul va alege automat o dată curentă dintr-un sistem.
Nu uitați să citiți – Funcții SAS
Beneficii ale utilizării macrourilor SAS
Macrourile SAS ne permit să:-
- Ne ușurăm munca prin reutilizarea unui cod similar de mai multe ori după ce am definit unul.
- Facem modificări într-o variabilă într-un singur loc și le reflectăm în mai multe locații.
- Să conducă datele din programul dumneavoastră, adică să lase SAS să decidă ce să facă pe baza valorilor reale ale datelor
Peste toate, ajută la reducerea eforturilor necesare pentru a citi și scrie codul SAS.
Componentele codului SAS Macro
Codul SAS Macro are două componente: Macros și variabilele macro. Într-un program SAS, acestea au referințe diferite ca:-
- &Numele se referă la variabila macro
- %Numele se referă la macro
Variabilele macro SAS
O variabilă macro este la fel ca o variabilă standard, cu excepția faptului că valoarea sa nu este un set de date și are doar o valoare cu un singur caracter. Valoarea unei variabile macro poate fi un nume de variabilă, o cifră sau orice text pe care doriți să îl înlocuiți în program.
Amplasamentul unei variabile macro poate fi local sau global, în funcție de modul în care am definit-o. Dacă este definită în interiorul unui program macro, domeniul de aplicare este local (disponibil doar pentru acel cod macro). Cu toate acestea, dacă am definit-o în exterior (în corpul principal), atunci o putem utiliza oriunde în programul SAS.
Utilizăm instrucțiunea %LET pentru a crea și atribui o valoare variabilelor macro.
% LET <Numele variabilei macro>=Valoare;
Valoarea variabilei macro în instrucțiunea %Let poate fi orice șir de caractere și are următoarele caracteristici:-
- Poate fi de orice lungime între 0 și 65,534 de caractere
- Valorile numerice sunt, de asemenea, stocate ca șir de caractere
- Expresiile matematice nu sunt evaluate
- Marca de ghilimele poate fi, de asemenea, stocată ca parte a unei valori
- Sunt eliminate spațiile libere de început și de sfârșit înainte de atribuire
SAS Macrovariabilele sunt referite prin utilizarea unei ampersand (&) urmată de numele macrovariabilei.
Nu uitați să verificați – SAS String Functions sau Character Functions
&<Numele variabilei macro>
Exemplu:-
Numele variabilei macro
De asemenea, putem declara mai multe variabile macro și le putem utiliza în locuri diferite în codul SAS. Variabila macro nu se rezolvă atunci când acestea accesează între ghilimele simple. Prin urmare, trebuie să folosim ghilimele duble pentru a le referi.
;
macro-variabila-1 <…macro-variabila-n>
este numele uneia sau mai multor macro-variabile SAS.
Declarația %GLOBAL creează una sau mai multe macro-variabile globale și atribuie valori nule variabilelor. Variabilele macro globale sunt variabile care sunt disponibile pe durata întregii execuții a sesiunii sau a lucrării SAS.
O variabilă macro creată cu instrucțiunea %GLOBAL are o valoare nulă până când îi atribuiți o altă valoare. Dacă o macrovariabilă globală există deja și specificați acea variabilă într-o instrucțiune %GLOBAL, valoarea existentă rămâne neschimbată.
Învățați neapărat – Ce este sintaxa SAS și cum le putem utiliza
ii. Variabilele macro locale SAS
Sintaxa unei variabile macro locale în programarea SAS:
%LOCAL macro-variabila-1 <…macro-variabila-n>;
macro-variabila-1 <…macro-variabila-n>
este numele uneia sau mai multor macro-variabile
Declarația %LOCAL creează una sau mai multe macro-variabile locale. O macrovariabilă creată cu %LOCAL are o valoare nulă până când îi atribuiți o altă valoare. Variabilele macro locale sunt variabile care sunt disponibile numai în timpul execuției macroului în care sunt definite.
Utilizați instrucțiunea %LOCAL pentru a vă asigura că variabilele macro create anterior într-un program nu sunt modificate din greșeală de valorile atribuite variabilelor cu același nume în macroul curent. Dacă o variabilă macro locală există deja și specificați acea variabilă într-o instrucțiune %LOCAL, valoarea existentă rămâne neschimbată.
Înțelegeți conceptul – SAS Data Set – Special & Built-in Data Set in SAS
iii. Comparație – Variabile globale vs. variabile locale
- Atât instrucțiunea %LOCAL cât și instrucțiunea %GLOBAL creează variabile macro cu un domeniu de aplicare specific. Cu toate acestea, instrucțiunea %LOCAL creează variabile macro locale care există numai în timpul execuției macroului care conține variabila, iar instrucțiunea %GLOBAL creează variabile macro globale care există pe durata sesiunii sau a lucrării.
- Dacă definiți o variabilă macro locală și o variabilă macro globală cu același nume, facilitatea macro utilizează valoarea variabilei locale în timpul execuției macroului care conține acea variabilă locală. Atunci când macroul care conține variabila locală nu se execută, facilitatea macro utilizează valoarea variabilei globale.
Funcții ale macrourilor SAS
Aceste funcții ale macrourilor SAS au o sintaxă similară, în comparație cu funcțiile lor omologe din etapele de date și, de asemenea, returnează rezultatele într-un mod similar.
i.Funcția %UPCASE()
Utilizăm această funcție pentru a converti majusculele literelor în majuscule:
Sintaxa:- %UPCASE (Argument)
Exemplu:-
%Let heading=this is detail of country;Proc Print Data=Orion.Country;Title %UPCASE(&heading);Run;
Se va tipări titlul ca „THIS IS DETAIL OF COUNTRY”.
Explorați aplicațiile de top ale programării SAS
ii. Funcția %SUBSTR()
Această funcție returnează numărul dat de caractere de la poziția specificată.
Sintaxa:- %SUBSTR (argument, poziție )
Dacă nu este furnizat un număr de caractere, o funcție %SUBSTR va returna caracterele de la poziția dată până la sfârșitul șirului.
Exemplu:-
%Let abc=this is detail of country;%LET def=%SUBSTR(&abc,19,7);Proc Print Data=Orion.Country;Title %Upcase(&def);Run;
Summary
În concluzie, în acest tutorial de macro SAS. Sper că ați învățat noi modalități de manipulare a datelor în SAS. Acum veți putea economisi mult timp prin încorporarea Macro SAS în programul dumneavoastră. Rămâneți cu noi pentru a învăța mai multe astfel de lucruri interesante în SAS.
.