Programmazione SAS - Impara a programmare in SAS!



Questo blog sulla programmazione SAS ti introduce ai concetti di programmazione SAS e ti aiuta a comprendere i vari fondamenti di SAS in dettaglio con esempi.

In questo blog, ti presenterò alcuni dei concetti importanti della programmazione SAS. Prima di iniziare, è importante acquisire familiarità con SAS. Il mio precedente blog su Tutorial SAS ti aiuterà a capire SAS, le sue applicazioni e ti aiuterà a installare SAS University Edition, che useremmo qui come ambiente di programmazione. Ti chiedi quali sono le competenze, dovresti padroneggiare quest'anno? Inoltre, se hai intenzione di entrare in Data Analytics, è uno dei modi migliori per iniziare con lo stesso.

Edureka 2019 Tech Career Guide è disponibile! Ruoli di lavoro più interessanti, percorsi di apprendimento precisi, prospettive del settore e altro nella guida. Scarica adesso.





Quindi senza ulteriori informazioniritardo,iniziamo con la programmazione SAS, vero?

Questo blog ti aiuterà a comprendere i seguenti argomenti:



Prima di iniziare a scrivere codice, vorrei informarti su alcuni termini importanti che sono importanti per la programmazione SAS.

Fondamenti di programmazione SAS

SAS Windows

Le grandi organizzazioni e gli istituti di formazione preferiscono utilizzare SAS Windows. SAS Windows ha molte utilità che aiutano a ridurre il tempo necessario per scrivere i codici.

L'immagine seguente mostra le diverse parti di SAS Windows.



SAS-Windows - Programmazione SAS - Edureka

  • Finestra di registro : È una finestra di esecuzione. Qui puoi controllare l'esecuzione del tuo programma. Visualizza anche errori, avvertenze e note.
  • Finestra del codice :Questa finestra è anche nota come finestra dell'editor. Consideralo come un foglio bianco o un blocco note, dove puoi scrivere il tuo codice SAS.
  • Finestra di output : Come suggerisce il nome, questa finestra mostra l'output del programma / codice che scrivi nell'editor.
  • Finestra dei risultati : È un indice che elenca tutti gli output dei programmi eseguiti in una sessione. Poiché contiene i risultati di una particolare sessione, se chiudi il software e lo riavvii, la finestra dei risultati sarà vuota.
  • Esplora finestra : Contiene l'elenco di tutte le librerie nel sistema. Puoi anche sfogliare i file supportati dal sistema qui.

Alcune organizzazioni utilizzano Linux, tuttavia, senza un'interfaccia utente grafica è necessario scrivere codice per ogni query. Quindi è scomodo da usare.

Set di dati SAS

I set di dati SAS vengono chiamati come file di dati. I file di dati sono costituiti da righe e colonne. Le righe contengono le osservazioni e le colonneNomi variabili.

Variabili SAS

SAS ha due tipi di variabili:

  • Variabili numeriche : Questo è il tipo di variabile predefinito. Queste variabili vengono utilizzate nelle espressioni matematiche.
  • Variabili di carattere :Le variabili carattere vengono utilizzate per i valori che non vengono utilizzati nelle espressioni matematiche.
    Sono trattati come testo o stringhe. Una variabile diventa una variabile carattere aggiungendo un'$'ignalla fine del nome della variabile.

Librerie SAS

La libreria SAS è una raccolta di file SAS archiviati nella stessa cartella o directory sul computer.

  • Biblioteca temporanea : In questa libreria, il set di dati viene eliminato al termine della sessione SAS.
  • Biblioteca permanente : I set di dati vengono salvati in modo permanente. Pertanto, sono disponibili in tutte le sessioni.

Gli utenti possono anche creare o definire una nuova libreria nota come librerie definite dall'utente utilizzando la parola chiave LIBNAME . Queste sono anche biblioteche permanenti.

Programmazione SAS: struttura del codice SAS

La programmazione SAS si basa su due elementi costitutivi:

  • Passaggio DATI : La fase DATA crea un set di dati SAS e quindi trasferisce i dati a una fase PROC
  • Passaggio PROC : La fase PROC elabora i dati

Un programma SAS dovrebbe seguire le regole indicate di seguito:

  • Quasi ogni codice inizierà con DATA o un passaggio PROC
  • Ogni riga di codice SAS termina con un punto e virgola
  • Un codice SAS termina con la parola chiave RUN o QUIT
  • I codici SAS non fanno distinzione tra maiuscole e minuscole
  • È possibile scrivere un codice su righe diverse oppure è possibile scrivere più istruzioni in una riga

Ora che abbiamo visto alcune terminologie di base, iniziamo con la programmazione SAS con questo codice di base:

DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ datalines 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Run

Nel codice precedente, abbiamo creato un set di dati chiamato Employee_Info. Ha tre variabili, una variabile numerica come Emp_Id e due variabili carattere come Emp_Name e Emp_Verticals. Il comando Esegui visualizza il set di dati nella finestra di output.

L'immagine sotto mostra l'output del codice sopra menzionato.

Supponiamo che tu voglia vedere il risultato nella visualizzazione di stampa, beh puoi farlo usando una procedura PROC PRINT, il resto del codice rimane lo stesso.

DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ datalines 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Run PROC PRINT DATA = Employee_Info Run

L'immagine sotto mostra l'output del codice precedente.

Abbiamo appena creato un set di dati e capito come funziona la procedura PRINT. Ora, prendiamo il set di dati di cui sopra e usiamolo per ulteriori programmazioni. Supponiamo di voler aggiungere la data di adesione del dipendente al set di dati. Quindi creiamo una variabile chiamata DOJ, la diamo come input e stampiamo il risultato.

DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ DOJ datalines 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Esegui PROC PRINT DATA = Employee_Info Run

L'immagine sotto mostra l'output del codice sopra. È visibile che è stata creata una variabile, ma il valore di DOJ non è stato stampato. Invece, vediamo che i punti hanno sostituito i valori della data.


Perché è successo questo? Bene, la variabile DOJ è senza suffisso '$', il che significa che per impostazione predefinita SAS la leggerà come una variabile numerica. Tuttavia, i dati che abbiamo inserito hanno un carattere speciale '/', quindi non stampa il risultato poiché non sono dati puramente numerici. Se controlli la finestra di log vedrai un messaggio di errore come 'dati non validi per la variabile DOJ'

Ora come risolviamo questo problema? Bene, un modo per risolverlo è usare un suffisso '$' per la variabile DOJ. Questo convertirà la variabile DOJ in carattere e sarai in grado di stampare i valori della data. Apportiamo le modifiche al codice e vediamo l'output.

DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ DOJ $ datalines 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09 / 2016 Esegui PROC PRINT DATA = Employee_Info Run

La schermata di output visualizzerà il seguente output.


Puoi vedere che i valori dei dati vengono visualizzati come date convertendo DOJ in carattere. Tuttavia, questa è una soluzione temporanea. Lascia che ti spieghi come?

Bene, immagina che una banca abbia un set di dati simile. Il set di dati contiene i dettagli del titolare del conto come importo del prestito, rate,edata di scadenza della rata del prestito. Immagina, il titolare ha mancato il termine per pagare una rata e la banca vuole calcolare il ritardo. La banca dovrà calcolare la differenza tra la data di scadenza e la data corrente.

Tuttavia, se il set di dati della banca ha date in formato carattere, la banca non sarà in grado di eseguire operazioni matematiche su di esso. Questo problema potrebbe influire anche sul nostro set di dati. Allora come risolviamo questo problema?

Il prossimo concetto ti aiuterà a superare questo problema.

Informati e formati in SAS

È importante comprendere bene questo argomento se vuoi essere bravo nella programmazione SAS.Se ricordi, ho detto prima che SAS ha due tipi di variabili standard:

  • Numerico
  • Personaggio

Quando SAS incontra variabili non standard, SAS genererà un errore o non otterrai l'output desiderato. Per superare questo problema, SAS utilizzaInformatoe formati.

Scopri di più

Gli informat sono tipicamente usati per leggere o inserire dati da file esterni o file flat (comefile di testo o file sequenziali). L'informat istruisce SAS su come leggeredati in variabili SAS. SAS ha tre tipi di Informats:carattere, numerico e data / ora. Gli informati sono denominati in base a quanto seguestruttura della sintassi:

  • Informazioni sul personaggio: $ INFORMATw.
  • Numerico Informato: INFORMATw.d
  • Data / ora informata: INFORMATw.

'$' Indica un carattere informat. INFORMAT si riferisce a volte facoltativoNome informat SAS. La 'w' indica la larghezza (byte o numero di colonne) del filevariabile. La 'd' viene utilizzata per i dati numerici per specificare il numero di cifre a destra dila cifra decimale. Tutte le informazioni devono contenere un punto decimale (.) In modo che SAS possa farlo
differenziare una informazione da una variabile SAS.

Torniamo al nostro codice precedente e vediamo se Data / Ora Informat ci aiuta. Quindi, cambiamo il codice di conseguenza e aggiungiamo un Data Informat come segue:

DATA Inserimento informazioni_impiegato Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. datalines 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Esegui PROC PRINT DATA = Employee_Info Esegui

La riga numero 3 nel codice indica a SAS di leggere la variabile 'data di adesione' (DOJ) utilizzando la data
informat MMDDYYw. Poiché ogni campo data occupa 10 spazi, il qualificatore 'w.' Èimpostato su 10.

L'output del codice sarà il seguente.

Il risultato mostra che non abbiamo ancora il risultato desiderato, invece la colonna DOJ contiene alcuni valori numerici e non le date che abbiamo specificato. Perché è così? Bene, una volta che una data viene letta con una data informat, SAS memorizza la data come un numero. Ciò significa che viene letto come il numero di giorni tra la data e il 1 gennaio 1960 (ad esempio: 3/15/1994 viene memorizzato come 12492).

La ragione di ciò è che SAS ha tre contatori separati che tengono traccia di data e ora. Questi contatori di date sono iniziati da zero il 1 ° gennaio 1960. Pertanto, le date precedenti al 1/1/1960 hanno valori negativi e qualsiasi data successiva ha un valore positivo. Ogni giorno a mezzanotte, il contatore della data viene incrementato di uno.

Una storia narra che i fondatori di SAS volessero utilizzare la data di nascita approssimativa del sistema IBM 370 e scelsero il 1 gennaio 1960 come approssimazione facile da ricordare.

Ora che conosci il motivo per cui la colonna DOJ mostrava quei numeri, proviamo a risolvere questo problema. Per superare questo problema utilizziamo Format.

Formato

Le informat sono le istruzioni per leggere i dati, mentre i formati sono le istruzioni usate per visualizzare odati di output.La definizione di un formato per una variabile è il modo in cui si dice a SAS di visualizzare i valori nella variabile. I formati sono raggruppati nelle stesse tre classi degli informat (carattere, numerico e data-ora) e contengono sempre un punto.

La forma generale di una dichiarazione di formato è:

  • FORMAT nome variabile FORMAT-NAME.

Torniamo al nostro codice con il set di dati Employee_Info per vedere se possiamo visualizzare correttamente la data usando il comando FORMAT.

DATA Inserimento informazioni_impiegato Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. FORMATO DOJ ddmmyy10. datalines 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Esegui PROC PRINT DATA = Employee_Info Esegui

Abbiamo utilizzato il comando FORMAT nella riga numero 4 nel codice sopra. La seguente schermata di output ci darà l'output desiderato.

Abbiamo visualizzato correttamente il set di dati utilizzando il comando Formato data. Spero che tu abbia capito come usare format e informat.Andiamo avanti con il nostro blog di programmazione SAS e diamo un'occhiata a un altro concetto importante.

php crea array da string

Cicli SAS

Durante la programmazione SAS, è possibile che si verifichino situazioni in cui è necessario eseguire ripetutamente un fileblocco di codice più volte. È scomodo scrivere la stessa serie di affermazioni ancora e ancora. È qui che entrano in scena i loop. In SAS, l'istruzione Do viene utilizzata per implementare i cicli. È anche noto come Do Loop. L'immagine sotto mostra il fileforma generale delle istruzioni Do loop in SAS.

Di seguito sono riportati i tipi di loop DO in SAS:

  • Indice : Il ciclo continua dal valore iniziale fino al valore finale della variabile indice.
  • Mentre : Il ciclo continua finché il file Mentre la condizione diventa falsa.
  • Fino a : Il ciclo continua fino al Fino a la condizione diventa vera.

Fai il ciclo dell'indice

Usiamo una variabile indice come valore iniziale e finale per Fai il ciclo dell'indice . Le istruzioni SAS vengono eseguite ripetutamente fino a quando la variabile index raggiunge il valore finale.
Sintassi:

Do indexvariable = initialvalue to finalvalue istruzioni SAS End

Diamo un'occhiata al codice di esempio per comprendere Do Index Loop. Nel codice seguente, VAR è la variabile indice.

DATA SampleLoop SUM = 0 Do VAR = da 1 a 10 SUM = SUM + VAR END PROC PRINT DATA = SampleLoop Run

Quando esegui il codice precedente, otterrai il seguente output.

java trova il numero più alto nell'array

Fai mentre loop

Il Fare durante loop utilizza una condizione WHILE. Questo ciclo esegue il blocco di codice quando la condizione è vera e continua a eseguirlo finché la condizione non diventa falsa. Una volta che la condizione diventa falsa, il ciclo viene terminato.

Sintassi:

Do While (condizione) istruzioni SAS End

Il seguente codice di esempio ti aiuterà a capire il ciclo DO WHILE.

DATA SampleLoop SUM = 0 VAR = 1 Do While (VAR<15) SUM = SUM + VAR VAR+1 END PROC PRINT DATA = SampleLoop Run 

Il codice sopra ti darà il seguente output.

Fai fino al ciclo

Il ciclo Do Until utilizza un file Fino a condition. Questo ciclo esegue il blocco di codice quando la condizione è falsa e continua a eseguirlo, finché la condizione non diventa vera. Una volta che la condizione diventa vera, il ciclo viene terminato.

Sintassi:

Do Until (condizione) istruzioni SAS END

Diamo un'occhiata al programma di esempio.

DATA SampleLoop SUM = 0 VAR = 1 Do Until (VAR> 15) SUM = SUM + VAR VAR + 1 END PROC PRINT Esegui

Il codice ha il seguente output.

Così abbiamo finito il concetto di loop nella programmazione SAS. Tutti gli argomenti che abbiamo studiato fino ad ora hanno parlato delle basi della programmazione SAS in generale.

Vediamo ora alcune procedure statistiche. Queste procedure costituiranno una base per avanzati procedure analitiche.

Iscriviti al nostro canale youtube per ricevere nuovi aggiornamenti ..!

Procedure statistiche di base utilizzando SAS

PROC MEZZI

Questa procedura viene utilizzata per calcolare la media aritmetica e la deviazione standard. Per le persone che non conoscono le statistiche, potrebbe essere difficile comprendere questi termini. Quindi, prima di iniziare a scrivere codice e utilizzare questa procedura. Cercherò di spiegare cosa significano questi termini.

Cominciamo con la media aritmetica e vediamo come PROC MEANS viene utilizzato nella programmazione SAS per calcolarlo.

Significato aritmetico

La somma del valore delle variabili numeriche, diviso per il numero di variabili, ti dà il significato aritmetico . È anche noto come media ed è una misura della tendenza centrale. Una misura della tendenza centrale è un singolo valore che tenta di descrivere un insieme di dati identificando la posizione centrale all'interno di tale insieme di dati.

Nella programmazione SAS, si utilizza PROC MEANS per calcolare la media aritmetica. Questa procedura consente di trovare la media di tutte le variabili o di poche variabili di un set di dati. È inoltre possibile formare gruppi e calcolare la media delle variabili specifiche di quel gruppo.

Sintassi:

PROC SIGNIFICA DATA = DATASET Class Variables Variabili Var
  • Variabili : Le variabili nella sintassi precedente indicano le variabili dal set di dati di cui calcolare la media.

Media di un set di dati

Se tufornire solo il nome del set di dati senza variabili, è possibile calcolare la media di tutte le variabili in un set di dati.

Diamo un'occhiata a un codice di esempio. Ho preso in considerazione un set di dati SAS predefinito chiamato 'automobili'. Il comando seguente visualizzerà il set di dati.

PROC PRINT data = sashelp.CARS Run

L'immagine sotto mostra l'output del codice precedente.


Ora utilizziamo questo codice del set di dati e calcoliamo la media di ciascuna variabile nel set di dati'automobili'.

PROC SIGNIFICA DATI = sashelp.CARS Mean SUM MAXDEC = 2 Run

L'immagine sotto mostra la media di tutte le variabili nei dati impostati fino a due decimali.

Media delle variabili selezionate

Fornendo i nomi nell'opzione Var è possibile ottenere la media delle variabili specificate. Fare riferimento al codice sottostante.

PROC MEANS DATA = sashelp.CARS mean SUM MAXDEC = 2 var hp cilindri Run

Media per classe

Puoi trovare la media delle variabili numeriche organizzandole in gruppi usandoqualche parametro per raggrupparli.Considera il seguente codice di esempio. Scopriamo la media della potenza per diversi gruppi classificati dalle classi 'marca' e 'tipo' di automobili diverse.

PROC SIGNIFICA DATI = sashelp CARS MEANS SOMMA MAXDEC = 2 classe marca tipo var horsepower Run

L'immagine sotto mostra l'output del codice sopra.

Continuiamo con il nostro blog sulla programmazione SAS e diamo uno sguardo ad un altro importante concetto statistico.

Deviazione standard

La deviazione standard (SD) è una misura della variabilità dei dati in un dato set di dati. Matematicamente, ti dice quanto è vicino ogni punto di dati al valore medio di un set di dati. Se il valore della deviazione standard è vicino a 0, indica che i punti dati sono molto vicini alla media del set di dati e una deviazione standard alta indica che i punti dati sono distribuiti su un ampio intervallo di valori.

In SAS, è possibile calcolare il valore della deviazione standard utilizzando due procedure. Sono:

  • PROC MEZZI
  • INDAGINI

Deviazione standard utilizzando PROC MEANS

Puoi misurare la deviazione standard usando i mezzi proc, devi scegliere il ORE opzione nel passaggio PROC. Visualizzerà i valori di deviazione standard per ciascuna variabile numerica nel set di dati.

Sintassi:

PROC SIGNIFICA DATI = dataset STD

Considera questo codice di esempio, creiamo un altro set di dati CARS1 dal set di dati CARS nella libreria SASHELP. Per fare questo usiamo la procedura PROC SQL. Cerchiamo di raggruppare i dati utilizzando 'tipo' e 'marca' di automobili e calcolare la deviazione standard per le variabili selezionate utilizzando l'opzione STD con il passaggio significa PROC.

PROC SQL crea la tabella CARS1 come SELEZIONA marca, tipo, potenza, cilindri, peso DA SASHELP.CARS WHERE make in ('Audi', 'BMW') RUN PROC SIGNIFICA DATA = CARS1 STD Run

Il codice precedente fornirà la deviazione standard per le variabili selezionate. L'immagine seguente mostra l'output.

INDAGINE PROC

Questa procedura viene utilizzata per misurare la deviazione standard insieme ad alcune funzionalità avanzate come la misurazione della deviazione standard per le variabili categoriali e la varianza.

Sintassi:

PROC SURVEYMEANS opzioni statistiche-parole chiave Per variabili Variabili di classe Variabili var

Di seguito la descrizione dei parametri utilizzati:

  • Di viene utilizzato per indicare le variabili utilizzate per creare gruppi di osservazioni.
  • Classe indica le variabili utilizzate per le variabili categoriali.
  • Dove indica le variabili per le quali verrà calcolata la SD.

Diamo un'occhiata a questo codice di esempio che descrive l'uso del parametro di classe, che crea le statistiche per ciascuno dei valori nella variabile di classe.

METODI DI SONDAGGIO PROC DATA = CARS1 STD Tipo di classe Var tipo di potenza ods statistiche di output = rettangolo Esegui PROC STAMPA DATI = rettangolo Esegui

Le immagini seguenti mostrano l'output del codice sopra. Mostra la distribuzione dei dati per la variabile 'Potenza' per l'intervallo di confidenza del 95%. (Intervallo di confidenza indica un intervallo di valori così definito che esiste una probabilità specificata che il valore di un parametro si trovi al suo interno.)

Quindi, questo ci porta alla fine del blog di programmazione SAS. Per qualsiasi dubbio o problema con il contenuto del blog, si prega di lasciarli nella sezione commenti, li risolverò al più presto e risponderò.

Se desideri imparare SAS e costruire una carriera nel dominio dell'analisi, dai un'occhiata al nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto nella vita reale. Questa formazione ti aiuterà a comprendere in profondità SAS e ti aiuterà a padroneggiare vari concetti del linguaggio di programmazione SAS.

Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo.