top 30 sas interview questions
Lista celor mai populare Întrebări frecvente SAS cu răspunsuri:
În acest articol, vom arunca o privire asupra unor concepte de bază și avansate ale programării SAS prin cele mai frecvente întrebări și răspunsuri la interviu SAS.
Sistemul de analiză statistică, cunoscut sub numele de SAS, este considerat ca un set de software multiple care este integrat și utilizat pentru diverse operațiuni precum Managementul datelor, Analiza predictivă - Perspectivă și descriptivă, Îmbunătățirea calității, Analiza afacerii, Dezvoltarea aplicațiilor etc.
Numărul mare de personalizare a componentelor SAS, precum și abordarea extinsă a programării împreună, realizează sarcini de analiză și transformare a datelor. Poate rula pe orice sistem de operare (Linux, Windows etc.) deoarece este independent de platformă.
Cele mai populare întrebări și răspunsuri ale interviului SAS
Începem..
Q # 1) Înscrieți funcțiile îndeplinite de SAS.
Răspuns: SAS (Sistemul de analiză statistică) are propria importanță în fiecare domeniu de afaceri.
Mai jos sunt enumerate câteva dintre funcțiile rezumate care sunt îndeplinite de SAS:
- Managementul datelor și managementul proiectelor
- Depozitarea datelor
- Cercetare operațională și sprijin decizional
- Recuperarea informațiilor și managementul calității
- Planificarea afacerii
- Analize statistice
Q # 2) Care sunt cele 3 componente din programarea SAS?
Răspuns: Cele 3 componente din programarea SAS sunt:
- Declarații
- Variabile
- Set de date
Q # 3) Înregistrați regulile de sintaxă urmate în instrucțiunile SAS.
Răspuns: Programul SAS este scris în fereastra Editor. Aici conține o serie de afirmații urmate de sintaxa adecvată într-o ordine pentru ca programul SAS să o înțeleagă.
Unele dintre regulile de sintaxă care sunt urmate în cazul declarației componente ale SAS sunt după cum urmează:
- Sfârșitul oricărei afirmații este marcat printr-un punct și virgulă (;).
- Un punct și virgulă este, de asemenea, utilizat pentru a separa mai multe instrucțiuni care apar pe o singură linie.
- Instrucțiunile SAS nu sunt sensibile la majuscule și la mai multe spații înainte ca instrucțiunile să fie eliminate automat.
- Comentariile pot fi incluse în programul SAS pentru declarații în două moduri diferite, cum ar fi:
- O linie care începe cu un asterisc (*) și se termină cu un punct și virgulă (;).
- O linie care începe cu o bară de redirecționare și un asterisc (/ *) și se termină cu un asterisc și o bară de direcție (* /).
Q # 4) Care sunt tipurile de date pe care le conține SAS?
Răspuns: 'Numeric' și 'Caracter' sunt cele două tipuri de tipuri de date pe care le conține programul SAS.
Q # 5) Ce sunt PDV și funcțiile lor?
Răspuns: Vectorul de date de program (PDV) este un concept logic și este definit ca o zonă a memoriei în care SAS construiește un set de date.
Funcțiile PDV sunt următoarele:
- Se creează o bază de date cu o singură observație la un moment dat.
- Bufferul de intrare pentru păstrarea datelor dintr-un fișier extern este creat în momentul compilării.
- PDV conține două variabile automate și anume, _N_ (afișează numărul pasului de date care se execută) și _ERROR_ (notifică eroarea care apare la momentul execuției).
Q # 6) Ce știți despre setul de date SAS?
Răspuns: Setul de date SAS este denumit practic datele disponibile pentru analiză în cadrul unui program SAS. Setul de date SAS este denumit și tabelul de date SAS.
Tabelul de date SAS este format din două părți:
- Coloane ale variabilelor
- Rânduri de observații
Informațiile utile despre setul de date SAS pot fi rezumate după cum urmează:
- SAS Dataset poate citi și are surse de date încorporate pentru utilizare precum Excel, Access etc.
- Setul de date care este utilizat numai în cursul sesiunii curente și aruncat după încheierea sesiunii este cunoscut sub numele de set de date temporare.
- Setul de date care este stocat pentru utilizare în sesiunea viitoare este cunoscut și sub numele de set de date permanent.
- Setul de date încorporat poate fi accesat folosind această cale Biblioteci -> Bibliotecile mele-> SASHELP.
Q # 7) Explicați de ce se folosește dublă @@ în instrucțiunile de intrare?
Răspuns: În timpul iterației pasului de date, incluzând dublă @@ în instrucțiunile de intrare implică faptul că SAS ar trebui să dețină înregistrarea curentă în scopul executării următoarei instrucțiuni de intrare, mai degrabă decât să treacă la noua înregistrare.
Q # 8) Explicați diferența dintre opțiunile NODUP și NODUPKEY?
Răspuns: Pentru eliminarea valorilor duplicate din tabel, PROC SORT este clasificat practic între două opțiuni:
- NODUP
- NODUPKEY
Diferența dintre aceste două opțiuni poate fi văzută mai jos:
NODUPKEY | NODUP |
---|---|
Compară doar variabila BY prezentă în setul de date. | Compară toate variabilele prezente în setul de date. |
Elimină opțiunile duplicate pentru valorile variabilei listate în instrucțiunea BY. | Identifică și elimină observațiile duplicate. |
Sintaxă: PROC SORT DATA = readin NODUPKEY; BY nume variabil; ALERGA; | Sintaxă: PROC SORT DATA = readin NODUP; BY nume variabil; ALERGA; |
Q # 9) Ce comandă este utilizată pentru a efectua sortarea în programul SAS?
Răspuns: Comanda PROC SORT este utilizată pentru efectuarea sortării, fie că este vorba de o singură variabilă sau de mai multe variabile. Această comandă este efectuată pe setul de date în care noul set de date este creat ca urmare a sortării, dar setul de date original rămâne neschimbat.
Sintaxă:
PROC SORT DATA=original OUT=Sorted; BY variable;
Unde,
„Original” se referă la setul de date original
„Sortat” se referă la rezultat ca set de date sortat
„Variabilă” se referă la coloana pe care se efectuează operația de sortare.
Sortarea se poate face atât în ordine crescătoare, cât și descendentă.
Pentru ca setul de date să fie afișat în ordine descrescătoare, cuvântul cheie „Descendent” este utilizat în instrucțiunea BY cu numele coloanei pe care urmează să fie efectuată sortarea.
PROC SORT DATA=original OUT=Sorted; BY DESCENDING variable
Q # 10) Explicați diferența dintre Informat și Format cu un exemplu.
Răspuns: Diferența dintre Informat și Format poate fi explicată astfel:
Află mai multe | Format |
---|---|
Indicați SAS cum să citiți datele în variabila SAS. | Indicați SAS modul de afișare a valorilor în variabilă. |
Acestea sunt utilizate pentru citirea datelor sau preluarea datelor de intrare din fișiere externe. | Acestea sunt folosite pentru a scrie datele. |
Q # 11) Diferențierea INPUT și INFILE.
Răspuns: Includerea unei instrucțiuni INFILE în programarea SAS identifică un fișier extern care constă din date, în timp ce includerea instrucțiunii INPUT în programarea SAS descrie variabilele utilizate.
Sintaxa pentru INFILE:
INFILE ‘filename’;
Sintaxa pentru INPUT:
INPUT ‘varname1’ ‘varname2’;
Q # 12) Explicați utilizarea tipăririi PROC și a conținutului PROC?
Răspuns: Pasul PROC al programului SAS este utilizat pentru a invoca proceduri încorporate pentru analiza datelor setului de date.
Tipărire PROC: Asigură că datele prezente în setul de date sunt citite corect.
Conținut PROC: Afișează informațiile despre setul de date SAS.
Q # 13) Explicați DATA_NULL_?
Răspuns: După cum definește numele, DATA_NULL_ este un pas de date care de fapt nu creează niciun set de date.
Este folosit pentru:
- Crearea de variabile macro.
- Scrierea rezultatului fără niciun set de date.
Q # 14) Cum se transformă variabila de caractere într-o variabilă numerică și invers?
Răspuns: În cadrul programării SAS, apar multe sarcini în care o valoare a caracterului trebuie convertită în numerică și în același mod, o valoare numerică trebuie convertită într-o valoare a caracterului.
A PUNE() este folosit pentru a converti numeric în caracter. În acest caz, formatul sursă și tipul variabilei sursă trebuie să fie întotdeauna similare.
Exemplu:
char_var= PUT( num_var, 6.);
INPUT () este folosit pentru a converti un caracter în numeric. În acest caz, tipul variabilei sursă trebuie să fie întotdeauna variabile de caracter.
Exemplu:
Num_var= INPUT(char_var,2.0);
Q # 15) Care este scopul _CHARACTER_ și _NUMERIC_?
Răspuns: În setul de date curent,
_CARACTER_ definește toate variabilele de caracter care sunt definite în prezent.
Exemplu : Pentru a include toate variabilele de caracter în PROC MEANS, sunt utilizate următoarele afirmații:
PROC MEANS; Var_character_; Run;
_NUMERIC_ definește toate variabilele numerice care sunt definite în prezent.
Exemplu: Pentru a include toate variabilele numerice în PROC MEANS, sunt utilizate următoarele afirmații:
PROC MEANS; Var_numeric_; Run;
Q # 16) Ce comenzi sunt utilizate în cazul includerii sau excluderii unor variabile specifice în setul de date?
Răspuns: Opțiunile DROP, Keep și seturile de date sunt utilizate în acest scop.
Variabila pe care dorim să o eliminăm din pasul de date este specificată în instrucțiunea DROP.
Variabila pe care dorim să o păstrăm din pasul de date este specificată în instrucțiunea Keep.
Q # 17) Diferențiați între MEDIUL PROC și REZUMATUL PROC.
Răspuns: Diferența dintre PROC MEANS și PROC SUMAR poate fi înțeleasă după cum urmează:
MIJLOACE PROC | REZUMATUL PROC |
---|---|
Această procedură produce raportul tipărit în mod implicit în fereastra OUTPUT. | Această procedură include PRINT în declarație pentru a produce raportul tipărit. |
PROC MEANS implicit ia toate variabilele numerice din analiză. | REZUMAT PROC ia variabilele în analiza statistică care sunt descrise în declarația VAR. |
Q # 18) Explicați scopul funcțiilor SUBSTR în programarea SAS.
Răspuns: În programarea SAS, ori de câte ori există o cerință a programului de a abstractiza un șir, funcția SUBSTR este utilizată în cazul unei variabile de caractere.
Când sunt specificate o poziție de început și o lungime, atunci această funcție este utilizată pentru abstractizarea șirului de caractere.
Sintaxă: SUBSTR (char_var, start, length);
Q # 19) Numiți și descrieți câteva funcții de caracter SAS care sunt utilizate pe scurt pentru curățarea datelor.
Răspuns: Puține funcții de caracter SAS care sunt utilizate pentru curățarea datelor sunt prezentate mai jos:
- Comprimare (char_string) funcția este utilizată pentru eliminarea golurilor sau a unor caractere specificate dintr-un șir dat.
- TRIM(str) funcția este utilizată pentru eliminarea spațiilor goale dintr-un șir dat.
- LOWCASE (char_string) funcția este utilizată pentru a converti toate caracterele dintr-un șir dat în minuscule.
- UPCASE (char_string) funcția este utilizată pentru convertirea tuturor majusculelor dintr-un șir dat.
- COMPBL(str) funcția este utilizată pentru conversia mai multor goluri într-un singur gol.
Q # 20) Menționați câteva moduri prin care se realizează o „căutare a tabelelor” în programarea SAS.
Răspuns: În programarea SAS, valorile de căutare a tabelelor pot fi stocate în următoarele moduri:
- Cod
- Matrice
- Obiect Hash
- Format
- Set de date
Următoarele tehnici sunt utilizate pentru a efectua „căutarea tabelelor” în SAS, respectiv:
- Instrucțiunile SELECT / WHEN sau IF / THEN
- Valoarea indexului matricii
- Valoarea cheii obiectului Hash
- Instrucțiune FORMAT, funcție PUT
- Merge, join, KEY = Option
Să vedem un exemplu care arată modul „Cod” de a efectua căutarea tabelelor folosind instrucțiunile „IF / THEN”:
data location; set myinfo; if AreaCode='226' then Location='Ontario, Canada'; else if AreaCode='212' then Location='New York, NY'; else Location='Unknown'; run;
Q # 21) Diferențiați între funcțiile CEIL și FlOOR.
Răspuns: funcția CEIL este folosit pentru trunchierea valorilor numerice unde afișează ieșirea ca cel mai mic număr întreg. Prin cel mai mic număr întreg, aici înseamnă că valoarea întregului este mai mare decât / egală cu argumentul.
Exemplu: CEIL (12.85) va afișa ieșirea ca 13.
Funcția FLOOR este folosit pentru trunchierea valorilor numerice unde afișează ieșirea ca cel mai mare număr întreg. Prin cel mai mare număr întreg, aici înseamnă că valoarea întregului este mai mică decât / egală cu argumentul.
Exemplu: FLOOR (12.85) va afișa ieșirea ca 12.
Q # 22) Care sunt modalitățile prin care variabilele macro pot fi create în programarea SAS?
Răspuns: Ei bine, o serie de tehnici diferite pot fi utilizate pentru a crea variabile macro în programarea SAS.
Mai jos sunt enumerate cele mai frecvent utilizate cinci metode:
- Declarație% LET
- Parametrii macro (denumiți și poziționali)
- Declarație% DO (iterativă)
- INTO în PROC SQL
- RUTĂ CALL SYMPUTX
Q # 23) Explicați scopul declarației RETAIN.
Răspuns: Deoarece semnificația cuvântului „RETAIN” înseamnă să păstreze valoarea odată atribuită, scopul declarației RETAIN este același în programarea SAS, așa cum înseamnă semnificația sa.
În cadrul unui program SAS, atunci când este necesar să se treacă de la iterația curentă la următoarea etapă de date, atunci instrucțiunea RETAIN îi spune SAS să păstreze valorile, mai degrabă decât să le seteze la lipsă.
Exemplu: Să imprimăm un program care va afișa valoarea de ieșire a ‘z’ începând de la 1 folosind instrucțiunea RETAIN.
data abc; set xyz; RETAIN z 0; z = z + 1; run;
Q # 24) Ce comandă este utilizată pentru a salva jurnalele în fișierul extern?
Răspuns: PROCESUL IMPRIMAT comanda este utilizată pentru a salva jurnalele în fișierul extern.
întrebări și răspunsuri de interviuri cu server SQL pentru 5 ani experimentați
Exemplu:
PROC PRINTTO log='C:UsersabcDownloadsLOG11.txt' new; run;
Q # 25) Menționați câteva erori frecvente care sunt de obicei comise în programarea SAS.
Răspuns: Mai jos sunt enumerate câteva dintre erorile frecvente care sunt de obicei comise mai ales atunci când sunteți nou în acest limbaj de programare.
- Sintaxa de bază include un punct și virgulă la sfârșitul fiecărei instrucțiuni și lipsa unui punct și virgulă este cea mai frecventă greșeală.
- Omiteți verificarea jurnalelor după trimiterea programului.
- Comentarea erorilor, cum ar fi eșecul utilizării comentariilor acolo unde este necesar sau utilizarea comentariilor într-un mod inadecvat.
- Nu folosesc metode adecvate de depanare.
Q # 26) Menționați opțiunile sistemului SAS pentru a depana macrocomenzile SAS.
Răspuns: Pentru a ajuta la urmărirea codului macro, precum și a codului SAS generat de macro-uri, pot fi utilizate câteva opțiuni de sistem.
Sunt:
- MLOGIC
- MPRINT
- SIMBOLURI
Mesajul care va fi generat de aceste opțiuni de sistem poate fi văzut în jurnalul SAS.
Q # 27) Faceți diferența între funcțiile SAS și procedurile SAS.
Răspuns: Diferențele majore pot fi descoperite / înțelese prin cazul explicat atât pentru funcțiile SAS, cât și pentru proceduri.
Caz:
Pentru Funcţie , valoarea argumentului este furnizată sau spunem luată pentru calcul în cadrul observației menționate în declarația programului, în timp ce, în cazul Procedură , fiecare observație este de așteptat să aibă o singură variabilă prin care se face calculul așa cum se menționează în exemplul de mai jos.
Să o înțelegem cu exemple:
data average; set temp; avgtemp = mean( of T1 – T24 ); run;
Aici, în exemplele de mai sus, argumentele transmise funcției medii sunt luate pentru calcul ca observație.
proc sort; by month; run; proc means; by month; var avgtemp; run;
Aici, în exemplul de mai sus, Proc înseamnă că funcția calculează temperatura medie pentru un argument care este transmis ca o observație, adică de lună.
Î. 28) Ce știți despre SYMPUT și SYMGET?
Răspuns: Diferențele majore dintre cele două sunt menționate mai jos.
SYMPUT este utilizat pentru stocarea valorii unui set de date în variabila macro, în timp ce SYMGET este utilizat pentru recuperarea valorii din variabila macro în setul de date.
Q # 29) Explicați delimitatorii de intrare speciali folosiți în programarea SAS.
Răspuns: Delimitatorii de intrare speciali utilizați în programarea SAS sunt:
- DLM
- DSD
Acestea sunt utilizate în declarația „INFILE”, iar DSD are funcționalitatea de a ignora delimitatorii care apar cuprinși între ghilimele.
Q # 30) Care funcție este utilizată pentru a număra numărul de intervale între două date SAS?
Răspuns: Funcția de interval INTCK este utilizată pentru numărarea numărului de intervale între două date SAS date.
Sintaxă:
INTCK(interval,start-of-period,end-of-period)
Concluzie
Până în prezent, am văzut mai multe întrebări și răspunsuri care v-ar fi oferit o înțelegere clară a conceptelor de programare SAS, precum și v-ar fi dat o idee despre natura întrebărilor adresate în interviurile SAS.
Ei bine, dacă sunteți nou în programarea SAS, cunoașterea unor tehnologii de programare computerizată și familiarizarea cu SQL (Structured Query Language) vor fi un avantaj suplimentar pentru înțelegere, precum și pentru a învăța SAS rapid.
Sper că sunteți gata să faceți față oricărui interviu SAS cu încredere !!