Advertisement
Guest User

Untitled

a guest
Jan 6th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SAS 4.25 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. data miasta;
  175.     input miasto$ grupa$ stawka;
  176.     datalines;
  177.     WAW A 100
  178.     KRAK B 200
  179.     POZN B 200
  180.     WAW B 300
  181.     WAW C 500
  182.     KRAK A 100
  183. run;
  184.  
  185. proc sort data=miasta;
  186. by miasto;
  187. run;
  188.  
  189. data zestawienie(keep=miasto suma_stawka);
  190. set miasta;
  191. where miasto='WAW';
  192. by miasto;
  193. if first.miasto then suma_stawka=0;
  194. suma_stawka+stawka;
  195. if last.miasto then output;
  196. run;
  197.  
  198. data zadanie12;
  199.     input Age ID;
  200.     datalines;
  201.     20 15
  202.     20 14
  203.     30 316
  204.     30 111
  205.     50 5
  206. run;
  207.  
  208. data zad12tabela;
  209. set zadanie12;
  210. n=N;
  211. if n=4 then output;
  212. run;
  213.  
  214. data miast2a;
  215.     input miasto$ grupa$ stawka;
  216.     datalines;
  217.     WAW A 100
  218.     KRAK B 200
  219.     POZN B 200
  220.     WAW B 300
  221.     WAW C 400
  222.     KRAK A 100
  223.     ;
  224. run;
  225.  
  226. proc sql;
  227. create table tabela_wynik as
  228. select Miasto, sum(stawka) as suma_stawka
  229. from miast2a
  230. group by miasto
  231. having suma_stawka>=300;
  232.  
  233. data Tabela1_zad11;
  234.     input id wiek;
  235.     datalines;
  236.     1 25
  237.     2 25
  238.     3 35
  239.     4 35
  240.     5 55
  241.     ;
  242. run;
  243.  
  244. data Tabela2_zad11;
  245.     input id plec$;
  246.     datalines;
  247.     1 K
  248.     4 M
  249.     5 K
  250.     ;
  251. run;
  252.  
  253. data zad11_3_2;
  254. merge Tabela1_zad11 (in=a) Tabela2_zad11 (in=b);
  255. by id;
  256. if a=b;
  257. run;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement