Oggi parliamo delle macro SAS per principianti e di come le macro SAS ci semplificano la vita riducendo la ridondanza o la ripetitività di un codice. SAS Macro fornisce un modo incredibile per rendere un processo facile e automatico. Qui, vedremo diverse variabili SAS Macro, funzioni di Macro nel linguaggio di programmazione SAS. Inoltre, impariamo componenti del codice SAS Macro e alcuni vantaggi di SAS Macro
Vediamo come funziona SAS Macro.
Non diventare obsoleto & ottenere un Pink Slip
Seguire DataFlair su Google News &Stare davanti al gioco
1. Cos’è la macro di SAS?
Le macro aiutano fondamentalmente a riutilizzare il codice in diversi punti più volte senza dover digitare di nuovo l’intero codice. Questo non solo fa risparmiare tempo, ma si traduce in un codice privo di errori.
Ci permetta di capire questo con un esempio:
proc print data=Policysnapshot;where policydate='09Sep14'd;title "Below are the policy detail for 09-Sep-14";Run;
Il codice SAS qui sopra è scritto per estrarre i dettagli a livello di politica per 09-Sep-14 e diciamo che l’utente ha bisogno di eseguire questo codice su base giornaliera dopo aver cambiato la data (in entrambi i luoghi) alla data corrente.
Ora, guardiamo lo stesso codice usando le macro SAS.
Proc Print Data=Sales.Policysnapshot;Where policydate="&sysdate9"d;Title "Below are the policy detail for %sysdate9";Run;
In questo caso, l’utente non ha bisogno di fornire un valore per la data corrente. Il codice sceglierà automaticamente una data corrente da un sistema.
Non dimenticate di leggere – Funzioni SAS
Benefici dell’uso delle macro SAS
Le macro SAS ci permettono di:-
- Rendere il nostro lavoro più facile riutilizzando un codice simile più volte dopo averlo definito una volta.
- Apportare modifiche a una variabile in un unico punto e rifletterle in più punti.
- I dati del tuo programma guidati, cioè lasciando che SAS decida cosa fare in base ai valori effettivi dei dati
Soprattutto, aiuta a ridurre gli sforzi richiesti per leggere e scrivere il codice SAS.
Componenti del codice Macro SAS
Il codice Macro SAS ha due componenti: Macro e variabili Macro. In un programma SAS, si sono riferiti diversamente come:-
- &Nome si riferisce alla Variabile Macro
- %Nome si riferisce alla Macro
Variabili Macro SAS
Una variabile macro è proprio come una variabile standard, eccetto che il suo valore non è un set di dati e ha solo un valore a carattere singolo. Il valore di una variabile macro può essere un nome di variabile, un numero, o qualsiasi testo che volete sostituire nel vostro programma.
Lo scopo di una variabile macro può essere locale o globale, a seconda di come l’abbiamo definita. Se è definita all’interno di un programma macro, lo scopo è locale (disponibile solo per quel codice macro). Tuttavia, se l’abbiamo definita all’esterno (nel corpo principale), allora possiamo usarla ovunque nel programma SAS.
Utilizziamo l’istruzione %LET per creare e assegnare un valore alle variabili macro.
% LET <Nome della variabile macro>=Valore;
Valore della variabile macro nell’istruzione %Let può essere qualsiasi stringa e ha le seguenti caratteristiche:-
- Può essere di qualsiasi lunghezza tra 0 e 65,534 caratteri
- I valori numerici sono anche memorizzati come una stringa di caratteri
- Le espressioni matematiche non sono valutate
- Il segno di citazione può anche essere memorizzato come parte di un valore
- Gli spazi vuoti iniziali e finali sono rimossi prima dell’assegnazione
SAS Le variabili macro sono referenziate usando una e commerciale (&) seguita dal nome della variabile macro.
Non dimenticare di controllare – SAS Funzioni Stringa o Funzioni Carattere
&<Nome della variabile macro>
Esempio:-
Nome della variabile macro
Possiamo anche dichiarare più variabili macro e utilizzarle in diversi punti del codice SAS. La variabile macro non si risolve quando accedono tra virgolette singole. Quindi, dovremmo usare le doppie virgolette per farvi riferimento.
;
macro-variabile-1 <…macro-variabile-n>
è il nome di una o più variabili macro SAS.
La dichiarazione %GLOBAL crea una o più variabili macro globali e assegna valori nulli alle variabili. Le variabili macro globali sono variabili che sono disponibili durante l’intera esecuzione della sessione o del lavoro SAS.
Una variabile macro creata con un’istruzione %GLOBAL ha un valore nullo finché non le si assegna un altro valore. Se una variabile macro globale esiste già e si specifica tale variabile in un’istruzione %GLOBAL, il valore esistente rimane invariato.
Deve imparare – Cos’è la sintassi SAS e come possiamo usarla
ii. SAS Local Macro Variables
La sintassi di una variabile Local Macro nella programmazione SAS:
%LOCAL macro-variabile-1 <…macro-variabile-n>;
macro-variabile-1 <…macro-variabile-n>
è il nome di una o più variabili macro
La frase %LOCAL crea una o più variabili macro locali. Una variabile macro creata con %LOCAL ha un valore nullo finché non le si assegna un altro valore. Le variabili macro locali sono variabili che sono disponibili solo durante l’esecuzione della macro in cui sono definite.
Utilizzate l’istruzione %LOCAL per assicurare che le variabili macro create in precedenza in un programma non siano inavvertitamente cambiate dai valori assegnati alle variabili con lo stesso nome nella macro corrente. Se una variabile macro locale esiste già e si specifica tale variabile in un’istruzione %LOCAL, il valore esistente rimane invariato.
Comprendere il concetto – Set di dati SAS – Set di dati speciali & integrati in SAS
iii. Confronto – Variabili Globali e Locali
- Entrambe le dichiarazioni %LOCAL e %GLOBAL creano variabili macro con un ambito specifico. Tuttavia, l’istruzione %LOCAL crea variabili macro locali che esistono solo durante l’esecuzione della macro che contiene la variabile, mentre l’istruzione %GLOBAL crea variabili macro globali che esistono per la durata della sessione o del lavoro.
- Se definite una variabile macro locale e una variabile macro globale con lo stesso nome, la struttura macro utilizza il valore della variabile locale durante l’esecuzione della macro che contiene quella variabile locale. Quando la macro che contiene la variabile locale non è in esecuzione, la struttura macro utilizza il valore della variabile globale.
Funzioni delle macro SAS
Queste funzioni delle macro SAS hanno una sintassi simile, rispetto alle loro controparti nelle fasi dei dati e restituiscono anche risultati in modo simile.
i.%UPCASE() Funzione
Utilizziamo questa funzione per convertire il caso delle lettere in maiuscolo:
Sintassi:- %UPCASE (Argomento)
Esempio:-
%Let heading=this is detail of country;Proc Print Data=Orion.Country;Title %UPCASE(&heading);Run;
Stamperà il titolo come “QUESTO È DETTAGLIO DI PAESE”.
Esplora le migliori applicazioni della programmazione SAS
ii. Funzione %SUBSTR()
Questa funzione restituisce il numero dato di caratteri dalla posizione specificata.
Sintassi:- %SUBSTR (argomento, posizione )
Se non viene fornito un numero di caratteri, una funzione %SUBSTR restituirà caratteri dalla posizione data fino alla fine della stringa.
Esempio:-
%Let abc=this is detail of country;%LET def=%SUBSTR(&abc,19,7);Proc Print Data=Orion.Country;Title %Upcase(&def);Run;
Sommario
Quindi, in questo tutorial sulle macro SAS. Spero che abbiate imparato alcuni nuovi modi di manipolare i dati in SAS. Ora sarete in grado di risparmiare un sacco di tempo incorporando le macro di SAS nel vostro programma. Restate sintonizzati per imparare altre cose interessanti in SAS.