Advertisement
Guest User

Untitled

a guest
Jan 6th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SAS 4.37 KB | None | 0 0
  1. data z1;
  2.     tekst='elko mordziaty';
  3.     liczba=123;
  4.     output;
  5.     tekst="dobry wieczor, witam pana";
  6.     liczba=3456;
  7.     output;
  8. run;
  9.  
  10. data z2;
  11.     x1=1;
  12.     x2=2;
  13.     x3=3;
  14.     x4=4;
  15.     srednia1 = mean(of x1-x4);
  16.     srednia2 = mean(x1,x2,x3,x4);
  17.     srednia3 = mean(x1,.,.,x4);
  18. run;
  19.  
  20. data z3;
  21.     x1="Poznańska, Warszawa";
  22.     miasto1 = scan(x1, 2);*rozdzieli stringa na czesci, zarowno po spacji jak i przecinku, 2 argument to co chcemy wybrac z tego rozdzielonego stringa
  23.     miasto2 = scan(x1, 13, 2); *nie dziala;
  24.     miasto3 = substr(x1, 1, 10);*od 1 znaku wytnie 10 kolejnych;
  25.     miasto4 = substr(x1, 2);*od 2 znaku wytnie wszystkie do konca;
  26.     miasto5 = cat(x1, "ala ma kota", "2222"); *doklei na koncu liczbe 2, czyli powstanie nam string;
  27. run;
  28.  
  29. data z4;
  30.     set sashelp.cars;
  31. run;
  32.  
  33. proc sort data=z4;
  34.     by DESCENDING msrp;
  35. run;
  36.  
  37. data Tabela_X;
  38.      input id wiek;
  39.      datalines;
  40.       1 74
  41.       2 80
  42.       3 13
  43.       4 15
  44.       5 56
  45.       6 28
  46.       ;
  47. run;
  48. data Tabela_Y;
  49.      input identyfikator waga;
  50.      datalines;
  51.       1 4
  52.       2 9
  53.       3 2
  54.       4 6
  55.       ;
  56. run;
  57. proc sql;
  58.     create table wyniki as
  59.     select a.*, b.waga from Tabela_X as a left join Tabela_Y as b
  60.     on a.ID=b.identyfikator;
  61. run;
  62.  
  63. data tabela1;
  64.      input age cnt;
  65.      datalines;
  66.       20 5
  67.       20 4
  68.       30 3
  69.       30 2
  70.       50 1
  71. run;
  72.  
  73. data tabela2;
  74. set tabela1;
  75. by age;
  76. if last.age then output; *https://blogs.sas.com/content/iml/2018/02/26/how-to-use-first-variable-and-last-variable-in-a-by-group-analysis-in-sas.html;
  77. run;
  78.  
  79. data tabela3;
  80. input imie$ wzrost;
  81. datalines;
  82.     Anna 167
  83.     Ewa 172
  84.     Jan 187
  85.     Beata 183
  86.     Kamil 194
  87. run;
  88.  
  89. data wynik(drop=wzrost);
  90. set tabela3;
  91. x_sum=sum(wzrost);
  92. if imie='Kamil' then output;
  93. drop imie;
  94. run;
  95.  
  96. data zad13 (rename=(srednia=srednia_rename)); *jak zmienic nazwe zmiennej;
  97.     set sashelp.cars(keep = make type invoice);
  98.     where Type = 'Sedan';
  99.     by make;
  100.     if first.make then
  101.         count = 0;
  102.     if first.make then
  103.         sum = 0;
  104.     count + 1;
  105.     sum + invoice;
  106.     if last.make;
  107.     drop type invoice;
  108.     srednia = sum/count;
  109. run;
  110.  
  111. proc sort data=zad13;
  112.     by descending srednia;
  113. run;
  114.  
  115. data _data_dzis;
  116.      input data;
  117.      datalines;
  118.       210216
  119.       ;
  120. run;
  121.  
  122. proc sql;
  123. create table data_dzis1 as
  124. select data_dzis, data_dzis format mmddyy10. as data_poprawna
  125. from data_dzis;
  126. quit;
  127.  
  128. data string_functions;
  129.     a = lowcase("STRING");
  130.     b = upcase("string");
  131.     c = compress("this $ is & a demo", "$&");
  132.     d = find("String", "S");
  133.     e = substr("string", 1, 3);
  134.     mediana = median(1, 2, 3, 4, 5, 5, 5, 76);
  135.     srednia = mean(1, 2, 3, 4, 5, 5, 5, 76);
  136. run;
  137.  
  138. data tabela3;
  139. input imie$ wzrost;
  140. datalines;
  141.     Anna 167
  142.     Ewa 172
  143.     Jan 187
  144.     Beata 183
  145.     Kamil 194
  146. run;
  147.  
  148. data zad3_2;
  149. set tabela3;
  150. nazwisko = "edward";
  151. run;
  152.  
  153. data daty;
  154.     moja_data = today();
  155.     rok = year(moja_data);
  156.     rok2 = scan(moja_data, 3);
  157. run;
  158.  
  159. data zad9;
  160.     input typ$ ilosc total;
  161.     datalines;
  162.         AA 200 500
  163.         BB 300 500
  164.     ;
  165. run;
  166.  
  167. data zad9rozw;
  168. set zad9;
  169. udz_pct = cat(ilosc/total*100, "%");
  170. format udz_pct2 percent7.0;
  171. udz_pct2 = ilosc/total;
  172. run;
  173.  
  174. proc sql;
  175. create table zad9rozwSQL as
  176. select Ilosc, Total, Ilosc/Total as udz_pct format percent10.0
  177. from zad9;
  178. run;
  179.  
  180. data miasta;
  181.     input miasto$ grupa$ stawka;
  182.     datalines;
  183.     WAW A 100
  184.     KRAK B 200
  185.     POZN B 200
  186.     WAW B 300
  187.     WAW C 500
  188.     KRAK A 100
  189. run;
  190.  
  191. proc sort data=miasta;
  192. by miasto;
  193. run;
  194.  
  195. data zestawienie(keep=miasto suma_stawka);
  196. set miasta;
  197. where miasto='WAW';
  198. by miasto;
  199. if first.miasto then suma_stawka=0;
  200. suma_stawka+stawka;
  201. if last.miasto then output;
  202. run;
  203.  
  204. data zadanie12;
  205.     input Age ID;
  206.     datalines;
  207.     20 15
  208.     20 14
  209.     30 316
  210.     30 111
  211.     50 5
  212. run;
  213.  
  214. data zad12tabela;
  215. set zadanie12;
  216. n=N;
  217. if n=4 then output;
  218. run;
  219.  
  220. data miast2a;
  221.     input miasto$ grupa$ stawka;
  222.     datalines;
  223.     WAW A 100
  224.     KRAK B 200
  225.     POZN B 200
  226.     WAW B 300
  227.     WAW C 400
  228.     KRAK A 100
  229.     ;
  230. run;
  231.  
  232. proc sql;
  233. create table tabela_wynik as
  234. select Miasto, sum(stawka) as suma_stawka
  235. from miast2a
  236. group by miasto
  237. having suma_stawka>=300;
  238.  
  239. data Tabela1_zad11;
  240.     input id wiek;
  241.     datalines;
  242.     1 25
  243.     2 25
  244.     3 35
  245.     4 35
  246.     5 55
  247.     ;
  248. run;
  249.  
  250. data Tabela2_zad11;
  251.     input id plec$;
  252.     datalines;
  253.     1 K
  254.     4 M
  255.     5 K
  256.     ;
  257. run;
  258.  
  259. data zad11_3_2;
  260. merge Tabela1_zad11 (in=a) Tabela2_zad11 (in=b);
  261. by id;
  262. if a=b;
  263. run;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement