Top 50 pitanja i odgovora na SAS intervjuu (2026.)

Najฤeลกฤ‡a pitanja i odgovori za SAS intervju

Priprema za SAS intervju zahtijeva usredotoฤenu pripremu, posebno kada je u pitanju razumijevanje ลกto je zaista vaลพno u SAS intervjuu. Ove evaluacije otkrivaju dubinu rjeลกavanja problema, analitiฤko razmiลกljanje i praktiฤnu relevantnost u modernim podatkovnim okruลพenjima.

Moguฤ‡nosti u SAS ulogama obuhvaฤ‡aju analitiku, izvjeลกtavanje i poslovnu inteligenciju, gdje tehniฤko iskustvo i struฤnost u domeni oblikuju stvarni utjecaj. Struฤnjaci koji rade u tom podruฤju oslanjaju se na snaลพne analitiฤke vjeลกtine, profinjen skup vjeลกtina i samopouzdanje izgraฤ‘eno uobiฤajenim i naprednim pitanjima i odgovorima koji pomaลพu kandidatima poฤetnicima, srednjoลกkolcima i viลกim rukovoditeljima da ispune razliฤita tehniฤka oฤekivanja.
ฤŒitaj viลกeโ€ฆ

๐Ÿ‘‰ Besplatno preuzimanje PDF-a: Pitanja i odgovori za SAS intervju

Najฤeลกฤ‡a pitanja i odgovori za SAS intervju

1) Kako SAS interno obraฤ‘uje korak DATA i kroz koje faze ลพivotnog ciklusa prolazi?

Korak DATA u SAS-u funkcionira kroz dobro definirani ลพivotni ciklus koji se sastoji od dvije glavne faze: faze kompilacije i faze izvrลกavanja. Razumijevanje ovog ลพivotnog ciklusa kljuฤno je jer objaลกnjava kako SAS gradi skupove podataka, detektira sintaksu, dodjeljuje atribute varijabli i upravlja iteracijama. Tijekom kompilacije, SAS provjerava sintaksu, stvara vektor programskih podataka (PDV) i priprema deskriptorski dio izlaznog skupa podataka. Tijekom izvrลกavanja, SAS ฤita podatke, popunjava PDV vrijednosti, procjenjuje uvjete i zapisuje opaลพanja u izlazni skup podataka.

Faze ลพivotnog ciklusa:

Faza Karakteristike Primjer
Kompilacija Izraฤ‘uje PDV, dodjeljuje duljine varijabli, identificira nedostajuฤ‡e varijable Nedostatak toฤke-zareza uzrokuje pogreลกke prilikom kompajliranja
Izvrลกenje Izvrลกava naredbe redak po redak, zapisuje izlazne podatke SET sales;
profit = revenue โ€“ cost;

Ovaj ลพivotni ciklus pomaลพe u optimizaciji otklanjanja pogreลกaka i poboljลกanju performansi obrade podataka.


2) Koji su razliฤiti naฤini kombiniranja skupova podataka u SAS-u i kada treba koristiti koju metodu?

SAS nudi viลกe tehnika za kombiniranje skupova podataka, a svaka nudi jedinstvene prednosti ovisno o strukturi podataka, odnosu izmeฤ‘u skupova podataka i zahtjevima za performansama. Spajanje, dodavanje, spajanje, ispreplitanje i SQL spajanja rjeลกavaju drugaฤiji problem. Odabir ispravne metode poboljลกava toฤnost i sprjeฤava neลพeljene duplikate.

Kljuฤne metode:

  • SPAJANJE (KORAK PODATAKA): Koristi se kada skupovi podataka dijele zajedniฤku varijablu BY. Pogodno za odnose jedan-na-jedan ili jedan-na-viลกe.
  • SET (Spajanje): Vertikalno slaลพe skupove podataka. Koristi se kada su varijable iste, ali se opaลพanja razlikuju.
  • PROC SQL PRIDRUลฝIVANJE: Koristite za potpunu fleksibilnost - lijevo, desno, puno i unutarnje spajanje.
  • PREPLETANJE: Kombinira viลกe skupova podataka uz zadrลพavanje redoslijeda sortiranja.

Primjer: Spajanje prodaje i kupaca prema Customer_ID-u omoguฤ‡uje vam stvaranje obogaฤ‡enih profila za izvjeลกtavanje i analitiku.


3) Objasnite razliku izmeฤ‘u SAS informata i SAS formata s primjerima.

Inform i format imaju potpuno razliฤite uloge u SAS-u. Inform govori SAS-u. kako ฤitati podatke, dok format govori SAS-u kako prikazati podatkeOve karakteristike odreฤ‘uju hoฤ‡e li se podaci interpretirati ili jednostavno drugaฤije prikazati. Zapamฤ‡ivanje ove razlike kljuฤno je za ispravno rukovanje datumima, decimalnim brojevima, novฤanim vrijednostima i znakovnim varijablama.

Usporedna tablica:

svojstvo Informat Format
Svrha ฤŒitanje vanjskih podataka Prikaz internih podataka
Primijenjen Ulazni stupanj Izlazni stupanj
Primjer input date mmddyy10.; format date date9.;

Primjer: Ako podaci sadrลพe 20250114, informacije yymmdd8pretvara ga u SAS vrijednost datuma. Format date9. zatim ga prikazuje kao 14JAN2025Bez informacija, SAS bi potpuno krivo protumaฤio datum.


4) Koji ฤimbenici utjeฤu na performanse SAS-a i kako moลพete optimizirati program koji se sporo izvrลกava?

Performanse u SAS-u ovise o uฤinkovitosti koda, hardverskim resursima, veliฤini skupa podataka i koriลกtenju indeksa. Za optimizaciju sporog programa morate procijeniti faktore koraka DATA i koraka PROC. Neuฤinkovita spajanja, prekomjerno sortiranje, nepotrebne varijable ili nedostatak indeksiranja ฤesto dovode do uskih grla.

Strategije optimizacije:

  1. Graniฤne varijable: Koristiti KEEP= or DROP= kako bi se smanjila upotreba memorije.
  2. Optimiziraj spajanja: Koristite indeksirane BY varijable ili SQL s hashiranim spajanjima.
  3. Izbjegavajte nepotrebna sortiranja: Sortiranje zahtijeva puno procesora; sortiraj samo kada je potrebno.
  4. Koristite WHERE umjesto IF: WHERE filtrira podatke ranije u PDV ciklusu.
  5. Iskoristite Hash objekte: Uฤinkovito za pretraลพivanja u usporedbi s MERGE.

Primjer: Skup podataka s 10 milijuna redaka moลพe se obraditi znatno brลพe kada se indeksira, smanjujuฤ‡i vrijeme spajanja s minuta na sekunde.


5) Gdje biste trebali koristiti SAS naredbu WHERE umjesto naredbe IF i koje prednosti nudi?

Naredba WHERE se obraฤ‘uje tijekom dohvaฤ‡anja podataka, dok se IF izvrลกava nakon ลกto podaci uฤ‘u u PDV. To znaฤi da WHERE moลพe filtrirati podatke ranije, smanjujuฤ‡i I/O operacije i poboljลกavajuฤ‡i performanse. WHERE takoฤ‘er podrลพava indeksiranje, nudeฤ‡i brลพe podpostavljanje za velike skupove podataka.

Prednosti WHERE-a:

  • Filtrira podatke prije uฤitavanja u PDV
  • Podrลพava indekse za brลพi odabir
  • Radi i u koraku DATA i u koraku PROC
  • Obraฤ‘uje SQL-sliฤne operatore

Primjer:

set sales(where=(region='EUROPE'));

Ova verzija uฤitava samo europske zapise, dok bi koriลกtenje IF funkcije prvo uฤitalo sve podatke, a zatim filtriralo, ลกto bi znaฤilo gubljenje memorije i vremena.


6) Objasnite razliฤite vrste SAS varijabli, ukljuฤujuฤ‡i numeriฤke, znakovne, automatske i privremene varijable.

SAS varijable se klasificiraju na temelju svojih karakteristika i naฤina na koji ih SAS koristi. Numeriฤke i znakovne varijable pohranjuju korisniฤki definirane podatke, ali SAS takoฤ‘er generira automatske varijable i privremene varijable za internu obradu. Razumijevanje ovih tipova osigurava uฤinkovitu manipulaciju podacima i omoguฤ‡uje programerima lakลกe otklanjanje pogreลกaka.

Vrste SAS varijabli:

  • Brojฤano: Pohrani realne brojeve; zadana duljina je 8 bajtova.
  • Karakter: Pohrani nizove; duljina definirana od strane korisnika ili pretpostavljena.
  • Automatske varijable: Izradio SAS, kao ลกto je _N_ (brojaฤ iteracija) i _ERROR_.
  • Privremene varijable: Kreirano koriลกtenjem LENGTH ili RETAIN bez zapisivanja u skup podataka.

Primjer: _N_ se obiฤno koristi za obradu samo prvog opaลพanja za zadatke poput inicijalizacije nizova.


7) Koja je razlika izmeฤ‘u PROC MEANS i PROC SUMMARY? Navedite primjere.

Oba postupka izraฤunavaju deskriptivnu statistiku, ali PROC MEANS prikazuje rezultate prema zadanim postavkama, dok PROC SUMMARY zahtijeva eksplicitnu naredbu OUTPUT. Ova razlika izmeฤ‘u zadanog ponaลกanja ฤini PROC SUMMARY prikladnijim za izradu skupova podataka bez ispisanog izlaza.

usporedba:

svojstvo PROC SREDSTVA SAลฝETAK POSTUPKA
Izlaz Ispisano prema zadanim postavkama Nema ispisanog sadrลพaja
Koristite sluฤaj Brzi pregled statistike Izradite saลพetak skupova podataka

Primjer:

  • proc means data=sales; var revenue; run; shows results immediately.
  • proc summary data=sales; var revenue; output out=summary_stats sum=Total; run; stvara samo skup podataka.

8) Kako SAS indeksi funkcioniraju i koje prednosti nude za velike skupove podataka?

Indeksi u SAS-u funkcioniraju poput indeksa knjige - ubrzavaju pretraลพivanje izbjegavanjem potpunog skeniranja skupova podataka. Pohranjuju ureฤ‘ene pokazivaฤe na opaลพanja na temelju kljuฤnih varijabli. Indeksi su posebno korisni za velike skupove podataka i ponovljena pretraลพivanja.

Prednosti:

  • Brลพa obrada WHERE
  • Poboljลกane performanse spajanja
  • Smanjene I/O operacije
  • Poboljลกane operacije spajanja s naredbom BY

Primjer: Izrada indeksa na Customer_ID u tablici od 15 milijuna redaka omoguฤ‡uje SAS-u gotovo trenutno dohvaฤ‡anje odreฤ‘enih zapisa o kupcima, dok bez indeksiranja mora sekvencijalno ฤitati cijeli skup podataka.


9) Nude li hash objekti u SAS-u prednosti u odnosu na tradicionalne MERGE naredbe? Objasnite primjerom.

Hash objekti pruลพaju mehanizam pretraลพivanja u memoriji, ลกto ih ฤini znatno brลพim od MERGE-a za pretraลพivanja viลกe na jedan. Izbjegavaju sortiranje, smanjuju I/O i uฤinkovito obraฤ‘uju velike tablice pretraลพivanja. Njihov ลพivotni ciklus postoji samo tijekom koraka DATA, ลกto ih ฤini idealnim za privremena spajanja.

Prednosti:

  • Nema potrebe za sortiranjem podataka
  • Brลพe pretrage
  • Uฤinkovito za skupove podataka u dimenzijskom stilu
  • Smanjenje ulazno-izlaznih operacija na disku temeljeno na memoriji

Primjer: Koriลกtenje hash objekta za usklaฤ‘ivanje glavnih podataka kupaca (300 tisuฤ‡a redaka) s transakcijama (50 milijuna redaka) rezultira dramatiฤnim poboljลกanjem performansi u usporedbi s MERGE-om, koji zahtijeva sortirane podatke i viลกe prolaza.


10) Koje su razliฤite vrste SAS funkcija i kako se koriste u stvarnim scenarijima?

SAS nudi bogatu biblioteku funkcija kategoriziranih po namjeni kao ลกto su matematiฤke funkcije, znakovne funkcije, funkcije datuma/vremena, statistiฤke funkcije i posebne funkcije. Ove funkcije poboljลกavaju uฤinkovitost obrade podataka, toฤnost i ฤitljivost.

Kljuฤne vrste:

  • Funkcije znakova: SCAN, UPCASE, SUBSTR za obradu teksta
  • Funkcije datuma: INTNX, INTCK, MDY za manipulaciju datumima
  • Matematiฤke funkcije: ROUND, SUM, ABS
  • Statistiฤke funkcije: MEAN, STD, VAR

Primjer: Poslovni analitiฤar moลพe izraฤunati dob kupca pomoฤ‡u funkcija datuma INTCK('year', BirthDate, Today()), osiguravajuฤ‡i toฤnu demografsku segmentaciju.


11) Kako funkcionira naredba RETAIN u SAS-u i koje praktiฤne prednosti nudi?

Naredba RETAIN upuฤ‡uje SAS da ne resetira vrijednost varijable na nedostajuฤ‡u na poฤetku svake iteracije koraka DATA. Normalno, SAS inicijalizira varijable na nedostajuฤ‡e tijekom svake petlje, ali RETAIN ฤuva vrijednost prethodne iteracije. Ova je moguฤ‡nost bitna za kumulativne izraฤune, sekvencijalno numeriranje i prijenos vrijednosti. RETAIN se takoฤ‘er implicitno pojavljuje pri koriลกtenju naredbi SUM. (var + expression).

Prednosti:

  • Odrลพava tekuฤ‡e ukupne iznose
  • ฤŒuva prethodne nepropuลกtene vrijednosti
  • Izbjegava nepotrebne privremene varijable
  • Pomaลพe u implementaciji logike retrospektivnog pregleda

Primjer:

retain Total_Sales 0;
Total_Sales + Sales;

Ovaj kod izraฤ‘uje kumulativni zbroj svih opaลพanja bez vanjskih petlji.


12) Koja je razlika izmeฤ‘u koraka DATA MERGE i PROC SQL JOIN u SAS-u? Navedite scenarije u kojima je svaki od njih poลพeljniji.

MERGE zahtijeva unaprijed sortirane skupove podataka i operira s varijablama BY, dok SQL JOIN-ovi ne zahtijevaju sortiranje i mogu upravljati sloลพenijim odnosima. MERGE je uฤinkovit za odnose jedan-na-jedan ili jedan-na-viลกe kada su skupovi podataka sortirani i ฤisti. SQL JOIN je fleksibilniji, podrลพava unutarnje, lijeve, desne i potpune spojeve, zajedno s naprednim uvjetima, izrazima i filtriranjem unutar samog spoja.

Kada koristiti MERGE:

  • Podaci su veฤ‡ sortirani
  • BY varijable se savrลกeno podudaraju
  • ลฝelim deterministiฤko ponaลกanje SAS DATA koraka

Kada koristiti SQL JOIN:

  • Potrebni su vanjski spojevi
  • Skupovi podataka sadrลพe nedostajuฤ‡e ili neusklaฤ‘ene vrijednosti
  • Potrebna je sloลพena logika spajanja

Primjer: Obogaฤ‡ivanje skupa podataka o prodaji demografskim podacima o kupcima ฤesto koristi SQL radi praktiฤnosti i ฤitljivosti.


13) ล to su SAS automatske varijable i kako se N i POGREล KA obiฤno se koristi?

Automatske varijable se kreiraju i njima se interno upravlja u SAS-u tijekom izvrลกavanja DATA koraka. One se ne zapisuju u skupove podataka, veฤ‡ pomaลพu SAS-u. track ciklusa obrade i pogreลกaka. _N_ broji iteracije koraka DATA, ลกto ga ฤini korisnim za uvjetno izvrลกavanje ili otklanjanje pogreลกaka u odreฤ‘enim redovima. _ERROR_ je binarni indikator koji postaje 1 kada SAS naiฤ‘e na greลกku u izvrลกavanju.

Upotrijebite sluฤajeve:

  • Pokreni inicijalizacijski kod samo za prvo opaลพanje: if _N_=1 then put 'Start';
  • Zabiljeลพite problematiฤne retke pomoฤ‡u _ERROR_ za provjere kvalitete.

Primjer: _N_ ฤesto se koristi za jednokratno uฤitavanje hash objekta, osiguravajuฤ‡i optimalno koriลกtenje memorije.


14) Objasnite razliฤite vrste SAS nizova i kako oni pojednostavljuju transformacije podataka.

SAS nizovi grupiraju povezane varijable pod jednim imenom, omoguฤ‡ujuฤ‡i iterativnu obradu koja smanjuje ponavljajuฤ‡i kod. Nizovi ne stvaraju nove varijable, veฤ‡ pruลพaju strukturiranu metodu za referenciranje postojeฤ‡ih. Najฤeลกฤ‡i tipovi su numeriฤki nizovi, nizovi znakovai privremeni nizoviPrivremeni nizovi postoje samo tijekom koraka DATA i ne pojavljuju se u izlaznom skupu podataka.

Prednosti:

  • Pojednostavite rukovanje ponovljenim varijablama (npr. mjeseฤnim vrijednostima)
  • Omoguฤ‡ite petlje kako biste smanjili redundanciju koda
  • Podrลพava uvjetne transformacije meฤ‘u grupama varijabli

Primjer: Pretvaranje viลกe rezultata ispita u postotke moลพe se obaviti pomoฤ‡u DO petlje preko niza umjesto pisanja 10 zasebnih naredbi.


15) Koje vrste nedostajuฤ‡ih vrijednosti postoje u SAS-u i kako ih SAS tretira tijekom sortiranja i izraฤuna?

SAS podrลพava nekoliko vrsta nedostajuฤ‡ih vrijednosti: generiฤku numeriฤku nedostajuฤ‡u vrijednost predstavljenu kao "." i posebne numeriฤke nedostajuฤ‡e vrijednosti kao ลกto su ".A" do ".Z". Sve nedostajuฤ‡e vrijednosti znakova predstavljene su kao prazne. Ove razliฤite vrste omoguฤ‡uju analitiฤarima kodiranje kategorija nedostajuฤ‡ih vrijednosti, kao ลกto su "Nije primjenjivo" ili "Odbija odgovoriti".

Tijekom sortiranja, SAS postavlja sve nedostajuฤ‡e numeriฤke vrijednosti ispred bilo kojih stvarnih brojeva. U izraฤunima, nedostajuฤ‡e vrijednosti se opฤ‡enito ลกire, uzrokujuฤ‡i da nedostaju rezultati osim ako se s njima eksplicitno ne postupa funkcijama poput SUM() koji zanemaruju nedostajuฤ‡e vrijednosti.

Primjer: Prilikom analize anketa, .A moลพe predstavljati "Nema odgovora" dok .B moลพe oznaฤavati โ€žSistemsku greลกkuโ€œ.


16) Koje prednosti nude obrada BY-grupe i varijable FIRST./LAST.?

Obrada BY-grupe omoguฤ‡uje SAS-u da tretira sortirane podatke kao grupirane segmente, omoguฤ‡ujuฤ‡i snaลพne i uฤinkovite operacije poput kumulativnih saลพetaka, transformacija na razini grupe i izvjeลกtavanja specifiฤnog za segment. FIRST.variable i LAST.variable su privremeni indikatori koji se automatski stvaraju tijekom obrade BY-grupe. Oni identificiraju poฤetna i zavrลกna opaลพanja svake grupe.

Prednosti:

  • Pojednostavljuje izraฤun ukupnih iznosa grupe
  • Omoguฤ‡uje hijerarhijsku obradu podataka
  • Smanjuje ruฤnu logiku za grupe s viลกe redova
  • Podrลพava ฤiลกฤ‡i kod za transformacije vremenskih serija

Primjer scenarija: Za izraฤun ukupnog prihoda po kupcu, mogu se akumulirati vrijednosti sve dok se LAST.Customer_ID pokreฤ‡e ispis u saลพetak skupa podataka.


17) Kako funkcionira PROC TRANSPOSE i kada transpozicija treba biti poลพeljnija od restrukturiranja s nizovima?

PROC TRANSPOSE preoblikuje podatke rotiranjem varijabli u opaลพanja ili obrnuto. Idealan je kada je potrebno podatke preoblikovati za analizu, izvjeลกtavanje ili spajanje s drugim sustavima. Primarna prednost je automatizacija - PROC TRANSPOSE obraฤ‘uje dinamiฤki broj varijabli i dobro funkcionira s nepoznatim ili promjenjivim strukturama shema.

Koristite kada:

  • Potrebno je pretvoriti ลกiroke podatke u dugi format ili obrnuto
  • Broj varijabli je velik ili nepredvidiv
  • Izvorni skupovi podataka ฤesto se mijenjaju

Nizovi su bolji kada su imena varijabli poznata i logika transformacije se moลพe uฤinkovito izvoditi u petlji.

Primjer: Pretvaranje tromjeseฤnih varijabli prodaje (Q1, Q2, Q3, Q4) u vertikalnu strukturu za analizu vremenskih serija.


18) Koje su prednosti i nedostaci koriลกtenja SAS makroa? Navedite stvarne primjere.

SAS makroi automatiziraju repetitivne zadatke generiranjem dinamiฤkog koda, poboljลกavajuฤ‡i produktivnost i dosljednost. Pomaลพu u parametrizaciji logike, generiranju viลกe procedura i stvaranju viลกekratno upotrebljivih usluลพnih programa. Meฤ‘utim, makroi takoฤ‘er mogu uvesti sloลพenost i izazove u otklanjanju pogreลกaka ako su loลกe napisani.

Tablica prednosti i nedostataka:

Prednosti Nedostaci
Automatizira repetitivan kod Otklanjanje pogreลกaka moลพe biti teลกko
Poboljลกava odrลพavanje Moลพe zamagliti tijek programa
Omoguฤ‡uje stvaranje dinamiฤke logike Prekomjerna upotreba ฤini kod neฤitljivim
Smanjuje ruฤne pogreลกke Zahtijeva uฤenje makro jezika

Primjer: Makro koji generira tjedna izvjeลกฤ‡a za viลกe regija pomoฤ‡u jednog predloลกka drastiฤno smanjuje vrijeme razvoja.


19) Moลพete li objasniti razliku izmeฤ‘u makro varijable i varijable DATA step s primjerima?

Makro varijable se rjeลกavaju tijekom kompilacije i djeluju kao alati za zamjenu teksta, dok varijable DATA koraka postoje tijekom izvrลกavanja DATA koraka i sadrลพe stvarne vrijednosti podataka. Makro varijable ne mogu izravno komunicirati s PDV-om osim ako nisu eksplicitno proslijeฤ‘ene ili referencirane.

Kljuฤne razlike:

  • Makro: globalni ili lokalni, evaluira se prije izvrลกavanja
  • Korak PODATAKA: kreirano redak po redak tijekom izvrลกavanja
  • Makro varijable ne pohranjuju numeriฤke tipove - one pohranjuju tekst
  • Varijable DATA mogu biti numeriฤke ili znakovne

Primjer:

%let threshold = 100;
if sales > &threshold then flag='High';

Ovdje makro varijabla ubacuje vrijednost 100, ali sama usporedba se dogaฤ‘a u vrijeme izvrลกavanja.


20) Koje su razliฤite vrste spajanja u PROC SQL-u i kako se razlikuju u praktiฤnoj upotrebi?

PROC SQL podrลพava nekoliko vrsta spajanja, ukljuฤujuฤ‡i unutarnje, lijevo, desno i potpuno spajanje, a svako rjeลกava razliฤite izazove obrade podataka. Unutarnje spajanje ฤuva podudarne zapise, dok vanjsko spajanje ฤuva nepodudarne retke iz jednog ili oba skupa podataka. POTPUNO SPAJANJE je posebno moฤ‡no u usklaฤ‘ivanju podataka jer istiฤe nepodudarnosti.

Usporedba vrsta spajanja:

Vrsta pridruลพivanja Karakteristike Primjer upotrebe
UNUTARNJI Samo odgovarajuฤ‡i retci Kupac s valjanim transakcijama
LIJEVO Sve lijevo + odgovarajuฤ‡e desno Zadrลพite sve kupce ฤak i bez kupnje
PRAVO Desno + lijevo Zadrลพite sve transakcije ฤak i bez podataka o kupcu
FULL Svi retci, podudaraju se ili ne Validacija podataka izmeฤ‘u sustava

Primjer: Revizija prodaje izmeฤ‘u CRM-a i sustava za naplatu obiฤno se oslanja na FULL JOIN za identifikaciju odstupanja.


21) Kako SAS obraฤ‘uje pretvorbe znakova u brojeve i brojeva u znakove i koji se problemi obiฤno javljaju?

SAS automatski izvodi implicitne konverzije kada se numeriฤka vrijednost koristi tamo gdje se oฤekuje znak ili obrnuto, ali to moลพe dovesti do upozorenja ili netoฤnih vrijednosti. Eksplicitna konverzija pomoฤ‡u PUT() i INPUT() nudi preciznu kontrolu i izbjegava dvosmislenost. Pretvorba znakova u brojeve zahtijeva informat, dok pretvorba brojeva u znakove zahtijeva format.

Uobiฤajeni problemi ukljuฤuju neusklaฤ‘ene duljine, netoฤne informacije i nevaลพeฤ‡e podatke koji generiraju nedostajuฤ‡e vrijednosti. Implicitna konverzija uvijek stvara NAPOMENU u zapisniku, signalizirajuฤ‡i potencijalne probleme s kvalitetom podataka.

Primjer:

  • Pretvori znak โ†’ broj: num = input(char_date, yymmdd8.);
  • Pretvori numeriฤki โ†’ znakovni: char = put(amount, dollar12.2);

22) Kakvu ulogu igra vektor programskih podataka (PDV) u SAS obradi i kako njegovo razumijevanje moลพe poboljลกati dizajn programa?

PDV je struktura memorijskog podruฤja koju SAS koristi za izgradnju opaลพanja tijekom izvrลกavanja DATA koraka. Pohranjuje vrijednosti varijabli, automatske varijable i privremene varijable za svaku iteraciju. PDV se resetira na poฤetku svake petlje, osim ako se varijable ne zadrลพe putem mehanizama poput naredbi RETAIN ili SUM.

Razumijevanje ponaลกanja PDV-a pojaลกnjava zaลกto se pojavljuju nedostajuฤ‡e vrijednosti, kako funkcioniraju nizovi i kako se aktiviraju logiฤke funkcije FIRST./LAST. Takoฤ‘er pomaลพe u optimizaciji performansi jer programeri mogu predvidjeti koriลกtenje memorije i izbjeฤ‡i nepotrebno stvaranje varijabli.

Primjer: Nenamjerno zadrลพavanje vrijednosti varijabli ฤesto proizlazi iz koriลกtenja SUM naredbi, gdje SAS implicitno primjenjuje RETAIN.


23) Koje vrste SAS indeksa postoje i kako odabrati izmeฤ‘u jednostavnih i sloลพenih indeksa?

SAS podrลพava jednostavan i mjeลกavina indeksi. Jednostavni indeks se stvara na jednoj varijabli, dok sloลพeni indeks kombinira dvije ili viลกe varijabli. Izbor indeksa ovisi o obrascima upita: ako veฤ‡ina upita koristi jedan kljuฤ poput Customer_ID, dovoljan je jednostavan indeks. Ako upiti obiฤno filtriraju viลกe varijabli kao ลกto su State i Category, tada sloลพeni indeks poboljลกava performanse.

Usporedna tablica:

Vrsta indeksa Karakteristike Najbolji sluฤaj upotrebe
Jednostavan Jedna varijabla Pretrage jedinstvenih identifikatora
Mjeลกavina Viลกe varijabli Viลกeuvjetni WHERE filteri

Primjer: Kompozitni indeks na (Region, Product) ubrzava analitiku proizvoda u svim regijama.


24) Objasnite prednosti koriลกtenja PROC FORMATA i kako korisniฤki definirani formati poboljลกavaju interpretabilnost.

PROC FORMAT omoguฤ‡uje programerima dodjeljivanje smislenih oznaka kodiranim vrijednostima, poboljลกavajuฤ‡i ฤitljivost izvjeลกฤ‡a, dosljednost meฤ‘u postupcima i kontrolu nad interpretacijom podataka. Korisniฤki definirani formati funkcioniraju poput tablica pretraลพivanja i mogu smanjiti potrebu za spajanjima ili CASE logikom. Formati se mogu ponovno koristiti u razliฤitim skupovima podataka i postupcima, poboljลกavajuฤ‡i odrลพavanje.

Primjer:

Stvaranje formata za 1=Male i 2=Female Omoguฤ‡uje PROC FREQ ili PROC REPORT automatsko prikazivanje opisnih oznaka. Sliฤno tome, rasponi prihoda mogu se grupirati pomoฤ‡u prilagoฤ‘enih formata vrijednosti za analizu segmentacije.

Primarna prednost je ลกto temeljni podaci ostaju nepromijenjeni, dok prikazani podaci postaju lakลกe interpretirani.


25) Kako PROC SORT interno funkcionira i koje opcije pomaลพu u optimizaciji sortiranja velikih skupova podataka?

PROC SORT preureฤ‘uje opaลพanja na temelju jedne ili viลกe varijabli; meฤ‘utim, moลพe zahtijevati puno resursa, posebno za velike skupove podataka. Interno, SAS stvara privremene pomoฤ‡ne datoteke, izvodi spajanja sortiranih dijelova i zapisuje rezultat u izlazni skup podataka.

Performanse se mogu poboljลกati:

  • Koriลกtenje SORTEDBY= za optimizaciju metapodataka
  • Primjena NODUPKEY or NODUPREC za uฤinkovito uklanjanje duplikata
  • Sortiranje samo potrebnih varijabli pomoฤ‡u KEEP= or DROP=
  • Koriลกtenje indeksa umjesto fiziฤkog sortiranja za neke operacije

Primjer: Sortiranje 50 milijuna redaka postaje brลพe kada se ฤitaju samo 3 obavezne varijable umjesto svih 100 polja u skupu podataka.


26) Zaลกto je naredba LENGTH vaลพna u SAS-u i kako netoฤno dodjeljivanje duljine utjeฤe na podatke?

Naredba LENGTH odreฤ‘uje veliฤinu pohrane znakovnih varijabli i utjeฤe na koriลกtenje memorije, rizik skraฤ‡ivanja i toฤnost rezultata. SAS postavlja zadane duljine znakova na temelju prvog naiฤ‘enog dodjeljivanja, ลกto moลพe uzrokovati skraฤ‡ivanje ako se kasnije pojave dulje vrijednosti. Eksplicitne naredbe LENGTH sprjeฤavaju ovaj problem i osiguravaju dosljednost u svim DATA koracima.

Netoฤne duljine mogu dovesti do skraฤ‡enih nizova, pogreลกno klasificiranih kategorija ili neoฤekivanih rezultata u spajanjima zbog neusklaฤ‘enih kljuฤeva.

Primjer: Postavka length ProductName $50; osigurava pohranjivanje potpunih imena ฤak i ako je prva vrijednost u skupu podataka kraฤ‡a.


27) Koja je svrha direktiva SAS kompajlera kao ลกto su %PUT, %EVAL i %SYSFUNC u obradi makroa?

Direktive kompajlera, koje se nazivaju i makro funkcije, poboljลกavaju obradu makroa omoguฤ‡avajuฤ‡i evaluaciju, zapisivanje i pozive funkcija tijekom kompajliranja. %PUT zapisuje poruke u zapisnik za otklanjanje pogreลกaka, %EVAL izvodi cjelobrojnu aritmetiku na makro varijablama i %SYSFUNC poziva funkcije DATA step unutar makro koda.

Ovi alati poboljลกavaju moguฤ‡nosti dinamiฤkog programiranja omoguฤ‡ujuฤ‡i precizniju manipulaciju makro varijablama.

Primjer:

%let today = %sysfunc(today(), date9.);
%put Current Date: &today;

Ovo generira formatirani datum tijekom kompajliranja makroa.


28) Kako SAS obraฤ‘uje pogreลกke, upozorenja i biljeลกke i zaลกto je praฤ‡enje zapisnika bitno?

SAS zapisnici klasificiraju probleme u tri kategorije: pogreลกke, upozorenja i biljeลกke. Pogreลกke sprjeฤavaju izvrลกavanje programa ili stvaranje skupa podataka, upozorenja ukazuju na potencijalne probleme, a biljeลกke pruลพaju informativne poruke, ukljuฤujuฤ‡i implicitne konverzije i neinicijalizirane varijable. Praฤ‡enje zapisnika osigurava toฤnost podataka, sprjeฤava tihe kvarove i identificira uska grla u performansama.

Ignoriranje zapisnika moลพe uzrokovati nezapaลพene pogreลกke poput rukovanja nevaลพeฤ‡im podacima, skraฤ‡enih varijabli ili nenamjernih spajanja.

Primjer: NAPOMENA o โ€žVrijednosti znakova pretvorene su u numeriฤkeโ€œ signalizira implicitnu pretvorbu koja bi mogla uzrokovati nedostajuฤ‡e vrijednosti.


29) Koje tehnike moลพete koristiti za validaciju kvalitete podataka u SAS-u prije analize ili izvjeลกtavanja?

Validacija podataka u SAS-u oslanja se na statistiฤke provjere, strukturne provjere i provjere poslovnih pravila. Tehnike ukljuฤuju koriลกtenje PROC FREQ za otkrivanje neoฤekivanih kategorija, PROC MEANS za outliere, PROC COMPARE za usklaฤ‘ivanje skupova podataka i PROC SQL upite za validaciju. Prilagoฤ‘ena validacija s IF-THEN logikom, provjerama FIRST./LAST. ili hash pretragama osigurava dublju evaluaciju pravila.

Uobiฤajene tehnike:

  • Provjere raspona koriลกtenjem IF uvjeta
  • Detekcija duplikata s PROC SORT + NODUPKEY
  • Nedostajuฤ‡i obrasci vrijednosti pomoฤ‡u PROC FREQ
  • Validacija meฤ‘u tablicama pomoฤ‡u PROC TABULATE

Primjer: Koriลกtenje PROC COMPARE za validaciju migriranih podataka izmeฤ‘u sustava osigurava strukturnu i vrijednosnu konzistentnost.


30) Kada biste trebali koristiti SAS ODS (Output Delivery System) i koje prednosti pruลพa za izvjeลกtavanje?

ODS kontrolira formatiranje izlaza, omoguฤ‡ujuฤ‡i SAS procedurama da proizvode rezultate u HTML, PDF, Excel, RTF i drugim formatima. Odvaja generiranje podataka od prezentacije, nudeฤ‡i moguฤ‡nosti stiliziranja, predloลพaka i usmjeravanja izlaza. Analitiฤari se oslanjaju na ODS za prilagodljiva izvjeลกฤ‡a profesionalnog izgleda.

Prednosti:

  • Podrลพava viลกe izlaznih formata
  • Omoguฤ‡uje stilizirane tablice, grafikone i predloลกke
  • Omoguฤ‡uje snimanje izlaznih skupova podataka pomoฤ‡u ODS OUTPUT-a
  • Poboljลกava automatizaciju za ponavljajuฤ‡a izvjeลกฤ‡a

Primjer: Generiranje automatiziranih tjednih nadzornih ploฤa za performanse u Excelu putem ODS Excel pojednostavljuje tijekove rada za izvjeลกtavanje.


31) Kako INFILE naredba funkcionira u SAS-u i koje opcije pomaลพu u kontroli ฤitanja sirovih datoteka?

Naredba INFILE govori SAS-u kako ฤitati vanjske datoteke sirovih podataka. Radi zajedno s naredbom INPUT za mapiranje fiksnog, razgraniฤenog ili mijeลกanog teksta u strukturirane skupove podataka. Opcije INFILE pruลพaju detaljnu kontrolu nad duljinom zapisa, rukovanjem razdjelnicima, nedostajuฤ‡im podacima i pokazivaฤima redaka.

Korisne opcije ukljuฤuju DLM= za prilagoฤ‘ene razdjelnike, PROMAล AJ kako bi se sprijeฤilo da SAS ฤita izvan dostupnih polja, PRVI OBJEKTI= odrediti poฤetnu liniju, LRECL= za duge zapise i TRUNCOVER za retke promjenjive duljine. Ove opcije osiguravaju dosljedan unos podataka ฤak i iz loลกe formatiranih datoteka.

Primjer:

infile "sales.txt" dlm="," missover dsd lrecl=300;

Ova konfiguracija ลกtiti od nedostajuฤ‡ih zavrลกnih polja i vrijednosti u navodnicima.


32) Koje su razliฤite vrste SAS biblioteka i kako se koriste u poslovnim okruลพenjima?

SAS biblioteke djeluju kao pokazivaฤi na lokacije za pohranu gdje se nalaze skupovi podataka, katalozi i druge SAS datoteke. Biblioteke mogu biti privremene ili trajne, a izbor ovisi o potrebama za postojanoลกฤ‡u i arhitekturi platforme.

Vrste knjiลพnica:

  • RADNA KNJIลฝNICA: Privremena pohrana koja nestaje na kraju sesije.
  • Stalne knjiลพnice: Kreirano pomoฤ‡u LIBNAME koja upuฤ‡uje na lokacije na disku ili baze podataka.
  • Biblioteke temeljene na motoru: Kao ลกto su V9, BASE, SPDE i mehanizmi baza podataka (npr. ORACLE, TERADATA).
  • Biblioteke metapodataka: Koristi se u okruลพenjima SAS Enterprise Guide i SAS Studio za kontrolirani pristup.

Primjer: U velikim organizacijama, LIBNAME veze ฤesto upuฤ‡uju izravno na sigurne Oracle ili Hadoop tablice, ลกto omoguฤ‡uje besprijekornu analizu bez dupliciranja podataka.


33) Koja je svrha funkcije COMPRESS i opcije COMPRESS= skup podataka i po ฤemu se razlikuju?

Iako dijele naziv, funkcija COMPRESS i opcija COMPRESS= dataset sluลพe razliฤitim svrhama. Funkcija COMPRESS uklanja odreฤ‘ene znakove iz nizova znakova, helping s ฤiลกฤ‡enjem ili standardizacijom podataka. Nasuprot tome, COMPRESS= opcija skupa podataka smanjuje fiziฤku veliฤinu skupa podataka primjenom RLE (Run Length Encoding) ili RDC algoritama kompresije na pohranjena opaลพanja.

Usporedna tablica:

svojstvo Funkcija COMPRESS KOMPRESIJA = Opcija
Svrha Uklonite znakove iz teksta Smanjite veliฤinu datoteke
Djelokrug Varijabilna razina Razina skupa podataka
Primjer name_clean = compress(name,,'kd'); set data(compress=yes);

Primjer: Komprimiranje skupa podataka od 50 milijuna redaka moลพe smanjiti pohranu za 60%, poboljลกavajuฤ‡i performanse ulazno/izlaznih operacija.


34) Kako uฤinkovito otklanjati greลกke u SAS programima i koje znaฤajke pomaลพu u identificiranju problema?

Uฤinkovito otklanjanje pogreลกaka u SAS-u zahtijeva sustavno koriลกtenje poruka dnevnika, PUT naredbi, ODS-a TRACE i dijagnostiฤke opcije. Zapisnik pruลพa tragove putem poruka ERROR, WARNING i NOTE, identificirajuฤ‡i sintaktiฤke probleme, neinicijalizirane varijable ili neusklaฤ‘enosti tipova. Naredba PUTLOG omoguฤ‡uje prilagoฤ‘eni izlaz za otklanjanje pogreลกaka, helping tracvrijednosti varijabli tijekom izvrลกavanja.

Dodatne tehnike ukljuฤuju koriลกtenje OPTIONS MPRINT, SYMBOLGENi MLOGIC za otklanjanje pogreลกaka makroa i koriลกtenje PROC CONTENTS za pregled atributa skupa podataka. Za ispravljanje pogreลกaka u koraku DATA, interaktivni Program za ispravljanje pogreลกaka koraka DATA omoguฤ‡uje postupno izvrลกavanje, toฤke prekida i nadzor varijabli.

Primjer: Aktiviranje MPRINT-a pomaลพe u potvrฤ‘ivanju ispravnosti SQL koda generiranog makroom.


35) Koja je razlika izmeฤ‘u PROC REPORT i PROC TABULATE i kada bi se svaki od njih trebao koristiti?

PROC REPORT pruลพa svestrano prilagoฤ‘eno izvjeลกtavanje s kontrolom po redovima, omoguฤ‡ujuฤ‡i stupce na razini detalja, na razini saลพetka i izraฤunate stupce. PROC TABULATE stvara viลกedimenzionalne saลพetke s naglaskom na tablice orijentirane na prezentaciju. Razumijevanje ovih karakteristika pomaลพe analitiฤarima da odaberu najฤitljiviji i najuฤinkovitiji format.

usporedba:

svojstvo IZVJEล ฤ†E O POSTUPKU PROC TABLETA
kontrola Visoka kontrola nad logikom redova Visoka kontrola nad strukturiranim tablicama
Izlaz Tekstualna ili stilizirana izvjeลกฤ‡a Matrice s unakrsnim tablicama
Koristite sluฤaj Prilagoฤ‘ene nadzorne ploฤe s kljuฤnim pokazateljima uspjeลกnosti (KPI) Viลกedimenzionalni saลพeci

Primjer: Financijska nadzorna ploฤa koja zahtijeva uvjetno oblikovanje pripada u PROC REPORT, dok 3D saลพetak prodaje po regiji, tromjeseฤju i segmentu odgovara PROC TABULATE.


36) Koji je znaฤaj naredbi CLASS i BY u SAS procedurama i po ฤemu se razlikuju?

CLASS i BY stvaraju analize na razini grupe, ali se ponaลกaju drugaฤije. CLASS ne zahtijeva prethodno sortirane podatke i koristi se unutar procedura kao ลกto su PROC MEANS, PROC SUMMARY i PROC TABULATE za generiranje statistike po kategoriฤkim varijablama. BY zahtijeva sortirane podatke i proizvodi zasebna izvrลกavanja procedura za svaku BY grupu, nudeฤ‡i veฤ‡u proceduralnu neovisnost i odvojene ODS izlazne blokove.

Kljuฤne razlike:

  • KLASA: Nije potrebno sortiranje, uฤinkovitije u agregaciji.
  • PO: Potrebno je sortiranje, proizvodi neovisne izlaze.

Primjer: Za izraฤun odvojenih regresijskih modela po regiji, poลพeljna je obrada BY. Za saลพimanje prodaje po regiji u jednoj tablici, prikladna je CLASS.


37) Kako SAS interno obraฤ‘uje datume i vremena i zaลกto je vaลพno razumjeti ovu strukturu pohrane?

SAS pohranjuje datume kao broj dana od 1. sijeฤnja 1960., a vrijednosti datuma i vremena kao broj sekundi od tog datuma. Vremenske vrijednosti predstavljaju sekunde od ponoฤ‡i. Ovi numeriฤki prikazi omoguฤ‡uju matematiฤke manipulacije, poput dodavanja dana ili izraฤunavanja trajanja.

Razumijevanje ove strukture kljuฤno je za toฤno izvjeลกtavanje, sprjeฤavanje pogreลกaka koje se razlikuju od jedne za drugu i osiguravanje ispravne upotrebe formata i informacija. Aritmetika datuma bez odgovarajuฤ‡ih formata ฤesto zbunjuje poฤetnike jer se umjesto ฤitljivih datuma pojavljuju sirove numeriฤke vrijednosti.

Primjer:

difference = intck('day', StartDate, EndDate);

Ovaj izraฤun funkcionira jer oba datuma dijele dosljednu numeriฤku osnovu.


38) Koje prednosti pruลพaju SAS makro funkcije poput %SCAN, %SUBSTR i %UPCASE tijekom generiranja koda?

Makro funkcije nude manipulaciju na razini teksta tijekom kompajliranja, omoguฤ‡ujuฤ‡i dinamiฤku konstrukciju naziva varijabli, naziva skupova podataka i uvjetnih segmenata koda. %SCAN extracts rijeฤi iz makro varijabli, %SUBSTR reลพe tekstualne segmente, a %UPCASE osigurava ujednaฤenu upotrebu velikih slova za usporedbe.

Ove funkcije poboljลกavaju generalizaciju omoguฤ‡ujuฤ‡i makroima da se prilagode parametrima koje je unio korisnik. Na primjer, generiranje mjeseฤnih skupova podataka pomoฤ‡u %substr(&date,1,6) omoguฤ‡uje automatsko imenovanje tablica.

Primjer:

%let region = north america;
%put %upcase(&region);

To proizvodi SJEVERNA AMERIKA, osiguravajuฤ‡i dosljedno podudaranje u makro logici.


39) Koje ฤimbenike treba uzeti u obzir pri odabiru izmeฤ‘u SAS skupova podataka i vanjskih baza podataka za pohranu?

Izbor izmeฤ‘u SAS skupova podataka i vanjskih baza podataka ovisi o koliฤini podataka, zahtjevima za konkurentnost, sigurnosnim kontrolama i potrebama integracije. SAS skupovi podataka pruลพaju brz sekvencijalni pristup i idealni su za analitiฤke tijekove rada, ali im nedostaje konkurentnost viลกe korisnika i robusne kontrole transakcija. Vanjske baze podataka poput Oracle, Teradata i SQL Server nude indeksiranje, usklaฤ‘enost s ACID-om, skalabilnost i kontrolirani pristup.

ฤŒimbenici ukljuฤuju:

  • Veliฤina podataka i oฤekivani rast
  • Istodobnost upita
  • Sigurnost i korisniฤka dopuลกtenja
  • Integracija s poslovnim sustavima
  • Troลกkovi i administrativni reลพijski troลกkovi

Primjer: Tim za znanost o podacima koji dnevno analizira 5 milijuna redaka moลพe preferirati SAS skupove podataka, dok poduzeฤ‡e CRM s milijardom zapisa zahtijeva bazu podataka.


40) Kako SAS odreฤ‘uje duljinu i tip varijable tijekom faze kompilacije i koji problemi nastaju zbog nekonzistentnih izvora?

Tijekom kompilacije, SAS pregledava prvo pojavljivanje svake varijable kako bi dodijelio tip i duljinu. Za znakovne varijable, duljina se prema zadanim postavkama postavlja na najduลพu vrijednost dodijeljenu tijekom tog prvog pojavljivanja. Kada se varijable pojavljuju u viลกe SET ili MERGE skupova podataka, nedosljedne duljine uzrokuju skraฤ‡ivanje i upozorenja. Numeriฤke varijable uvijek primaju 8 bajtova osim ako nisu izriฤito dodijeljene.

Problemi poput nedosljednih duljina znakova dovode do neusklaฤ‘enih kljuฤeva i netoฤnih spajanja. Programeri ฤesto koriste naredbe LENGTH prije naredbi SET kako bi osigurali dosljednost.

Primjer:

length ID $15;
set data1 data2;

To osigurava da ID ostane ujednaฤen na oba ulaza.


41) Koja je svrha naredbe OUTPUT u SAS-u i kako ona moลพe kontrolirati stvaranje skupa podataka?

Naredba OUTPUT eksplicitno govori SAS-u kada treba zapisati trenutni sadrลพaj vektora programskih podataka (PDV) u jedan ili viลกe skupova podataka. Bez naredbe OUTPUT, SAS automatski zapisuje jedno opaลพanje po iteraciji koraka DATA. Namjernim koriลกtenjem naredbe OUTPUT moลพete generirati viลกe opaลพanja iz jedne iteracije, zapisati selektivna opaลพanja ili usmjeriti izlaz u razliฤite skupove podataka na temelju uvjeta.

Primjer:

data high low;
  set sales;
  if revenue > 10000 then output high;
  else output low;
run;

Ovim se iz jednog koraka DATA stvaraju dva skupa podataka. Razumijevanje OUTPUT-a kljuฤno je za naprednu manipulaciju podacima, kao ลกto je proลกirivanje zapisa ili pisanje viลกe saลพetaka.


42) Kako PROC COMPARE pomaลพe u validaciji skupova podataka i koje opcije poboljลกavaju toฤnost usporedbe?

PROC COMPARE procjenjuje dva skupa podataka i istiฤe razlike u strukturi, metapodacima i stvarnim vrijednostima podataka. Obiฤno se koristi za validaciju migracije, provjere kvalitete ETL-a i regresijsko testiranje u analitiฤkim cjevovodima. Kljuฤne opcije kao ลกto su KRITERIJ=, POPIล I SVE, MAXPRINT=i IZLAZ pomoฤ‡i u izradi detaljnijih izvjeลกฤ‡a i kontrolirati razine tolerancije za numeriฤke razlike.

Ovaj postupak identificira neusklaฤ‘ene tipove varijabli, neoฤekivane nedostajuฤ‡e vrijednosti, razlike na razini redaka i strukturne probleme.

Primjer: Prilikom migracije iz Oracle Za SAS, PROC COMPARE osigurava da rezultirajuฤ‡i SAS skup podataka odgovara izvoru bez tihih pogreลกaka skraฤ‡ivanja ili zaokruลพivanja.


43) Koji je znaฤaj naredbe RETAIN u kombinaciji s logikom FIRST./LAST.?

Koriลกtenje RETAIN zajedno s FIRST./LAST. omoguฤ‡uje snaลพne izraฤune na razini grupe, posebno za kumulativne zbrojeve, tekuฤ‡e razlike i kategoriฤke zastavice. FIRST.variable oznaฤava poฤetak BY grupe, pa RETAIN pomaลพe u resetiranju ili akumuliranju vrijednosti na odgovarajuฤ‡i naฤin.

Ilustrativni primjer:

by Customer_ID
if first.Customer_ID then Total=0;
Total + Amount;
if last.Customer_ID then output;

Ova logika agregira ukupne iznose na razini korisnika bez potrebe za PROC SUMMARY. Pokazuje vaลพnost RETAIN-a u oฤuvanju vrijednosti u retcima unutar grupe prilikom resetiranja za svaku novu grupu. Razumijevanje ovog obrasca kljuฤno je za uฤinkovito saลพimanje koraka DATA.


44) ล to razlikuje PROC FREQ od PROC SUMMARY za kategoriฤku analizu?

PROC FREQ stvara tablice frekvencija, unakrsne tablice i testove povezanosti poput hi-kvadrat testa, ลกto ga ฤini idealnim za kategoriฤke distribucije i analizu kontingencije. PROC SUMMARY izraฤunava numeriฤke statistike za kontinuirane ili diskretne skupine, ali ne generira sam broj frekvencija osim ako nije drugaฤije navedeno.

Usporedna tablica:

svojstvo PROC FREQ SAลฝETAK POSTUPKA
Izlaz Tablice frekvencija Sumarna statistika
Idealno za Brojevi, postoci, asocijacije Srednje vrijednosti, zbrojevi, rasponi
Statistiฤki testovi Hi-kvadrat, Fisherov egzaktni test Nema prema zadanim postavkama

Primjer: Za procjenu demografskih podataka kupaca (spol, regija), PROC FREQ je superiorniji. Za izraฤun prosjeฤnog prihoda po segmentu, PROC SUMMARY je prikladan.


45) Kako opcije FIRSTOBS i OBS pomaลพu u kontroli uzorka extraccija?

FIRSTOBS i OBS su opcije skupa podataka koje ograniฤavaju dio skupa podataka koji se ฤita. FIRSTOBS odreฤ‘uje prvo opaลพanje za ฤitanje, dok OBS odreฤ‘uje posljednje. Ove opcije su korisne za uzorkovanje, otklanjanje pogreลกaka i testiranje performansi jer smanjuju vrijeme obrade tijekom razvoja.

Primjer:

set bigdata(firstobs=1 obs=1000);

Ovaj bivลกitracts samo prvih 1000 redaka, ลกto omoguฤ‡uje brzo izvoฤ‘enje koda tijekom testnih ciklusa. Vrijednosti ne mijenjaju sam skup podataka i primjenjuju se samo tijekom koraka DATA ili izvrลกavanja postupka. Ove opcije poveฤ‡avaju uฤinkovitost pri radu s vrlo velikim skupovima podataka.


46) Koja je prednost koriลกtenja PROC FORMATA s CNTLIN-om i CNTLOUT-om i kako podrลพava dinamiฤke formate?

CNTLIN vam omoguฤ‡uje stvaranje formata iz skupa podataka, omoguฤ‡ujuฤ‡i dinamiฤke sustave oznaฤavanja voฤ‘ene podacima. CNTLOUT extracPrenosi postojeฤ‡e formate u skupove podataka, omoguฤ‡ujuฤ‡i izmjene, revizije ili verzioniranje formata. Ova funkcionalnost je vrijedna kada se vrijednosti formata ฤesto mijenjaju ili su regulirane poslovnim pravilima pohranjenim u tablicama baze podataka.

Primjer: Banka moลพe imati skup podataka koji sadrลพi kodove rizika i njihova opisna znaฤenja. Koriลกtenjem CNTLIN-a, SAS automatski generira formate bez ruฤnog pisanja izjava o vrijednosti. Ovaj pristup centralizira logiku formatiranja i pojednostavljuje odrลพavanje u velikim sustavima izvjeลกtavanja.


47) Po ฤemu se naredba SUM razlikuje od funkcije SUM() u SAS-u i kada je svaka od njih poลพeljnija?

Izjava SUM (x + y;) implicitno zadrลพava varijablu i tretira nedostajuฤ‡e vrijednosti kao nulu, ลกto je ฤini idealnom za tekuฤ‡e zbrajanje. Funkcija SUM() (x = sum(a,b,c);) procjenjuje argumente samo unutar trenutne iteracije i zanemaruje nedostajuฤ‡e vrijednosti bez zadrลพavanja rezultata.

usporedba:

Aspekt Izjava SUM Funkcija SUM()
Zadrลพavanje Da Ne
Nedostaju vrijednosti Tretira se kao nula Ignorirano
Koristite sluฤaj Kumulativni iznosi Zbrojevi na razini retka

Primjer: total + amount; akumulira se kroz opaลพanja, dok sum(amount1, amount2) izraฤunava zbrojeve samo unutar istog retka.


48) Koja je svrha opcije END= skupa podataka i kako pomaลพe u otkrivanju posljednjeg retka u skupu podataka?

Opcija END= skupa podataka dodjeljuje privremenu varijablu koja se postavlja na 1 kada SAS proฤita posljednje opaลพanje skupa podataka. Ovo je izuzetno korisno pri izvoฤ‘enju inicijalizacije ili zadataka zavrลกetka kao ลกto su pisanje saลพetaka, zatvaranje datoteka ili finaliziranje izlaza hash objekata.

Primjer:

set sales end=last;
if last then put "Dataset processing complete.";

Ova logika osigurava da se odreฤ‘ene radnje dogode samo jednom nakon svih iteracija. END= je posebno koristan u programskom generiranju izvjeลกฤ‡a i izgradnji kumulativnih saลพetih skupova podataka.


49) Koje su glavne prednosti i nedostaci koriลกtenja SPDE-a (Scalable Performance Data Engine) u SAS-u?

SPDE mehanizam poboljลกava performanse za velika, viลกenitna podatkovna okruลพenja. Distribuira podatke po jedinicama za pohranu i izvodi paralelna ฤitanja i pisanja. Pogodan je za analitiku visokog protoka i velika ETL optereฤ‡enja.

Prednosti u odnosu na nedostatke:

Prednosti Nedostaci
Paralelni I/O za brลพe performanse Zahtijeva okruลพenje s viลกe diskova
Uฤinkovito za velike skupove podataka Sloลพena konfiguracija
Podrลพava particioniranje i indeksiranje Nije idealno za male skupove podataka

Primjer: Obrada 300 milijuna zapisa pomoฤ‡u SPDE-a moลพe drastiฤno smanjiti vrijeme izvoฤ‘enja, posebno na sustavima s viลกe CPU-a i diskova.


50) Kako PROC SQL obraฤ‘uje podupite i koje prednosti nude u SAS programiranju?

PROC SQL podrลพava korelirane i nekorelirane podupite, omoguฤ‡ujuฤ‡i dublje filtriranje, uvjetne pretrage i dinamiฤke izraฤune. Podupiti omoguฤ‡uju SQL-u izraฤunavanje vrijednosti u hodu, usklaฤ‘ivanje filtriranih podskupova ili izvoฤ‘enje uvjetnih spajanja bez meฤ‘uskupova podataka.

Primjer:

select * from sales
where revenue > (select avg(revenue) from sales);

Ovo identificira visokouฤinkovite zapise. Podupiti smanjuju potrebu za privremenim skupovima podataka, poboljลกavaju ฤitljivost i omoguฤ‡uju sloลพeniju logiku u jednoj SELECT naredbi. Posebno su korisni u upitima metapodataka i analitiฤkom filtriranju.

๐Ÿ” Najฤeลกฤ‡a pitanja za SAS intervju sa stvarnim scenarijima i strateลกkim odgovorima

1) Koja je razlika izmeฤ‘u koraka DATA i koraka PROC u SAS-u?

Oฤekivano od kandidata: Anketar ลพeli procijeniti vaลกe razumijevanje osnova SAS-a te naฤin na koji obraฤ‘ujete i analizirate podatke.

Primjer odgovora:

โ€žKorak DATA koristi se za ฤitanje, manipuliranje i stvaranje skupova podataka, dok se korak PROC koristi za analizu podataka ili generiranje izvjeลกฤ‡a. Korak DATA usredotoฤuje se na pripremu podataka, a koraci PROC primjenjuju statistiฤke ili analitiฤke postupke.โ€œ


2) Kako se rjeลกavaju nedostajuฤ‡e vrijednosti u SAS-u?

Oฤekivano od kandidata: Anketar ลพeli znati vaลก pristup kvaliteti i potpunosti podataka.

Primjer odgovora:

โ€žNedostajuฤ‡e vrijednosti obraฤ‘ujem tako da ih prvo identificiram putem PROC MEANS ili PROC FREQ. Zatim odreฤ‘ujem hoฤ‡u li ih imputirati, izbrisati ili tretirati kao zasebnu kategoriju na temelju konteksta analize i utjecaja na model.โ€œ


3) Moลพete li objasniti svrhu MERGE naredbe u SAS-u?

Oฤekivano od kandidata: Anketar ลพeli znati razumijete li spajanje podataka i relacijske koncepte.

Primjer odgovora:

โ€žNaredba MERGE koristi se za kombiniranje skupova podataka na temelju zajedniฤke varijable. Omoguฤ‡uje vam horizontalno spajanje skupova podataka i zahtijeva da skupovi podataka budu sortirani prema varijabli BY.โ€œ


4) Opiลกite izazovan SAS projekt na kojem ste radili i kako ste ga vodili.

Oฤekivano od kandidata: Evaluacija rjeลกavanja problema, inicijative i sposobnosti postizanja rezultata.

Primjer odgovora (koristi obaveznu frazu #1):

โ€žU prethodnoj sam ulozi radio na sloลพenom projektu integracije podataka koji je ukljuฤivao viลกe nekonzistentnih izvora podataka. Izradio sam prilagoฤ‘ena pravila validacije, standardizirane formate i automatizirane provjere kvalitete pomoฤ‡u SAS makroa. To je osiguralo toฤno izvjeลกtavanje i smanjilo vrijeme obrade.โ€œ


5) Kako optimizirate SAS kod za bolje performanse?

Oฤekivano od kandidata: Razumijevanje uฤinkovitosti, optimizacije i najboljih SAS praksi.

Primjer odgovora:

โ€žOptimiziram SAS kod minimiziranjem upotrebe nepotrebnih varijabli, koriลกtenjem WHERE umjesto IF prilikom podskupljavanja, indeksiranjem velikih skupova podataka i izbjegavanjem ponovljenih izraฤuna putem makro varijabli. Takoฤ‘er pregledavam logove kako bih uklonio neuฤinkovitosti.โ€œ


6) Recite mi o situaciji kada ste morali suraฤ‘ivati โ€‹โ€‹s timom kako biste rijeลกili problem vezan uz SAS.

Oฤekivano od kandidata: Teamwork, komunikacijske vjeลกtine i vjeลกtine rjeลกavanja konflikata.

Primjer odgovora (koristi obaveznu frazu #2):

โ€žNa prethodnoj poziciji suraฤ‘ivao sam s timom za podatkovno inลพenjerstvo kako bih rijeลกio nedosljednosti u rezultatima izvjeลกtavanja. Vodio sam rasprave kako bih razumio tok podataka, validirao skupove podataka pomoฤ‡u PROC COMPARE-a i dokumentirao zajedniฤki proces za buduฤ‡u upotrebu.โ€œ


7) Kako osiguravate toฤnost i integritet vaลกih SAS podataka?

Oฤekivano od kandidata: Paลพnja prema detaljima, osiguranje kvalitete i metode provjere.

Primjer odgovora:

โ€žToฤnost osiguravam provjerom validacije podataka, koriลกtenjem PROC CONTENTS za provjeru svojstava varijabli i unakrsnom provjerom rezultata s neovisnim upitima. Takoฤ‘er odrลพavam procese recenziranja kritiฤkih izvjeลกฤ‡a.โ€œ


8) Opiลกite situaciju u kojoj su rokovi bili kratki, ali je SAS analiza bila sloลพena. Kako ste to rijeลกili?

Oฤekivano od kandidata: Upravljanje vremenom, odreฤ‘ivanje prioriteta i smirenost pod pritiskom.

Primjer odgovora (koristi obaveznu frazu #3):

โ€žNa prethodnom poslu morao sam dostaviti detaljno statistiฤko izvjeลกฤ‡e u vrlo kratkom roku. Prvo sam dao prioritet bitnim analizama, automatizirao repetitivne zadatke pomoฤ‡u SAS makroa i ฤesto komunicirao aลพuriranja statusa kako bih upravljao oฤekivanjima.โ€œ


9) Kako se koriste SAS makroi i koje prednosti pruลพaju?

Oฤekivano od kandidata: Poznavanje automatizacije, skalabilnosti i uฤinkovitosti kodiranja.

Primjer odgovora:

โ€žKoristim SAS makroe za automatizaciju repetitivnih zadataka, smanjenje pogreลกaka u kodiranju i poboljลกanje ponovne upotrebe koda. Pomaลพu u odrลพavanju dosljednosti u velikim projektima i pojednostavljuju analize temeljene na parametrima.โ€œ


10) Objasnite scenarij iz stvarnog svijeta u kojem ste poboljลกali proces koristeฤ‡i SAS.

Oฤekivano od kandidata: Praktiฤna primjena, poboljลกanja uฤinkovitosti i utjecaj na poslovanje.

Primjer odgovora (koristi obaveznu frazu #4):

โ€žU svojoj posljednjoj ulozi automatizirao sam mjeseฤni tijek rada za izvjeลกtavanje koji je ruฤno kreiran. Koriลกtenjem PROC SQL-a i SAS makroa smanjio sam vrijeme obrade s nekoliko sati na minute, ลกto je znaฤajno poboljลกalo produktivnost tima.โ€œ

Saลพmite ovu objavu uz: