Você está na página 1de 5

ID $ Denumire $ Categorie $ Furnizor $ Cantitate comandata Pret unitar

Valoare TVA Total

ID Nume $ Prenume $ Varsta ID_Produs Cantitate

1.)

data date;

infile '/home/u35398254/Date3.txt' dsd;

input ID $ Denumire $ Categorie $ Furnizor $ Cantitate_ comandata


Pret_unitar Valoare TVA Total;

run;

2.) a.)

data clienti;

set clienti;

where Varsta > 25;

if Cantitate > 1;

run;

Title "Lista clintilor cu varste peste 25 de ani si care au comandat mai mult de un produs";

proc print data=clienti noobs;

run;

b.)

data date;

length Denumire $ 1;

input ID $ Denumire $ Categorie $ Furnizor $ Cantitate_comandata Pret_unitar


Valoare TVA Total;

SELECT;

WHEN (Pret_unitar it between (0,1000)) GrupProduse= bunuri ieftine ;

WHEN (Pret_unitar it between (1001,2000)) GrupProduse =bunuri normale;

WHEN (Pret_unitar it between (2001,3500)) GrupProduse =bunuri scumpe;

WHEN (Pret_unitar > 3500) GrupProduse =bunuri de lux;

OTHERWISE GrupProduse =inexistent;

END;

datalines;
title "Date studenti introduse cu SELECT";

proc print data=date;

run;

data date;

length Denumire $ 1;

input ID $ Denumire $ Categorie $ Furnizor $ Cantitate_comandata Pret_unitar


Valoare TVA Total;

SELECT;

WHEN (Pret_unitar <1000)) GrupProduse= bunuri ieftine ;

WHEN (1001<Pret_unitar<2000) GrupProduse =bunuri normale;

WHEN (2001<Pret_unitar<3500) GrupProduse =bunuri scumpe;

WHEN (Pret_unitar > 3500) GrupProduse =bunuri de lux;

OTHERWISE GrupProduse =inexistent;

END;

datalines;

title "Date studenti introduse cu SELECT";

proc print data=date;

run;

data date;

GrupProduse $ 50;

input ID $ Denumire $ Categorie $ Furnizor $ Cantitate_comandata Pret_unitar


Valoare TVA Total;

if Pret_unitar <= 1000 then

do;

GrupProduse=’ bunuri ieftine’;

end;

else if 1001<=Pret_unitar<=2000 then

do;

GrupProduse =’bunuri normale’;

end;
else if 2001<=Pret_unitar<=3500 then

do;

GrupProduse =’bunuri scumpe’;

end;

else if Pret_unitar>3500 then

do;

GrupProduse =’bunuri de lux’;

end;

run;

title "Date studenti introduse cu SELECT";

proc print data=date;

run;

b.) Folosind datele din fişierul Excel ‘Produse’, afişaţi toate observaţiile pentru Categori de produse
Foto Video şi Cantitatea comandata este mai mare de 3 produse. Includeţi în listă orice observaţie
unde Pretul unitar este mai mic de 1000.

proc print data=date;

where (Categorie='Foto Video' and Cantitate>3) or Pret_unitar<1000;

run;

c.) Din setul de date Produse să se afişeze toate produsele care sunt furnizate de Samsung . Se vor
afişa categoria din care prosul face parte dar si cantitatea comandata si pretul acestuia.

title "Lista produselor Samsung";

proc print data=date;

where Furnizor like "Samsung";

var Categorie Cantitate_comandata Pret_unitar;

run;

3.)

data produse;

infile '/home/u35398254/Date3.txt' dsd;

input ID $ Denumire $ Categorie $ Furnizor $ Cantitate_ comandata


Pret_unitar Valoare TVA Total;

run;
Data produse;

Input input ID Denumire $ Categorie $ Furnizor $ Cantitate_ comandata Pret_unitar


Valoare TVA Total;

cards;

run;

Data clienti;

input ID Nume $ Prenume $ Varsta ID_Produs Cantitate;

cards;

run;

*FULL JOIN;

PROC SQL;

create table full_join as

Select * from clienti as f full join produse as p

On f.ID_Produs = p.ID;

QUIT;

data clienti;

infile '/home/u35398254/Clienti.txt' dsd;

input ID Nume $ Prenume $ Varsta ID_Produs Cantitate;

run;

Data produse;

Input input ID $ Denumire $ Categorie $ Furnizor $ Cantitate_ comandata Pret_unitar


Valoare TVA Total;

cards;

run;

Data clienti;
input ID Nume $ Prenume $ Varsta ID_Produs Cantitate;

cards;

run;

*FULL JOIN;

*ROC SQL;

*reate table full_join as

Select * from produse as f full join clienti as p

On f.ID = p.ID;

*QUIT;

*Utilizarea functiei SQL COALESCE care returneaza primul argument nenul;

proc SQL;

select f.id, coalesce (p.ID, f.ID,5) as ID from produse as f full join clienti as p on f.id = p.id;

QUIT;

Você também pode gostar