I changed my code and I did like you said. But still get the same problem with array called "zmienna" as in my code in earlier post. What's going on..?? 😞 1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK; 61 62 PROC surveyselect data=PROJEKT.vin 63 out=vin_sample 64 method=srs sampsize=3000;/* simple random sample - srs */ 65 run; NOTE: The data set WORK.VIN_SAMPLE has 3000 observations and 9 variables. NOTE: PROCEDURE SURVEYSELECT used (Total process time): real time 0.20 seconds cpu time 0.11 seconds 66 67 data expanded; 68 set PROJEKT.PODZIALY_ZNAKOWE; 69 70 do k=1 to countw(war, ','); 71 72 war_expanded = scan(war, k, ','); 73 74 output; 75 76 end; 77 78 drop war k; 79 80 rename war_expanded=war; 81 82 run; NOTE: There were 18 observations read from the data set PROJEKT.PODZIALY_ZNAKOWE. NOTE: The data set WORK.EXPANDED has 21 observations and 3 variables. NOTE: DATA statement used (Total process time): real time 0.01 seconds cpu time 0.00 seconds 83 84 85 /* sortuje tabele po zmiennych i warunkach */ 86 proc sort data=expanded out=expanded; 87 by zmienna war; 88 quit; NOTE: There were 21 observations read from the data set WORK.EXPANDED. NOTE: The data set WORK.EXPANDED has 21 observations and 3 variables. NOTE: PROCEDURE SORT used (Total process time): real time 0.05 seconds cpu time 0.00 seconds 89 90 91 /*czytam wszystkie wiersze w kolejnosci, zeby odpowiadaly sobie nawzajem przy warunkach */ 92 93 /* zmienna */ 94 Proc sql noprint; 95 Select zmienna into :zm separated by ' ' 96 from expanded order by zmienna; 97 quit; NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 98 99 %put &zm.; app_char_branch app_char_branch app_char_branch app_char_branch app_char_branch app_char_cars app_char_cars app_char_city app_char_city app_char_city app_char_city app_char_gender app_char_gender app_char_home_status app_char_home_status app_char_job_code app_char_job_code app_char_job_code app_char_marital_status app_char_marital_status app_char_marital_status 100 %let ilosc=&sqlobs; /*sqlobs - liczba obserwacji z proc sql */ 101 %put &ilosc.; 21 102 103 /* warunek */ 104 Proc sql noprint; 105 /* Select cats('"',war,'"') */ 106 Select war into :war separated by ' ' 107 from expanded order by zmienna; NOTE: The query as specified involves ordering by an item that doesn't appear in its SELECT clause. 108 quit; NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 109 110 %put &war.; 'Computers' 'DiY' 'Empty' 'Fenitures' 'Radio-TV' 'No' 'Owner' 'Big' 'Large' 'Medium' 'Small' 'Female' 'Male' 'Owner' 'Rental' 'Owner company' 'Permanent' 'Retired' 'Divorced' 'Maried' 'Widowed' 111 112 /* grupa */ 113 Proc sql noprint; 114 Select cats("'",grp,"'") 115 into :grp separated by ' ' 116 from PROJEKT.PODZIALY_ZNAKOWE order by zmienna; NOTE: The query as specified involves ordering by an item that doesn't appear in its SELECT clause. 117 quit; NOTE: PROCEDURE SQL used (Total process time): real time 0.01 seconds cpu time 0.01 seconds 118 119 %put &grp.; '2' '3' '1' '1' '2' '1' '3' '2' '1' '2' '1' '2' '1' '3' '2' '3' '1' '2' 120 121 122 /* tworze nowa tabele na bazie starej z vin znakowym uzywajac sformulowania select when */ 123 data vin_grp(drop=i); 124 set vin_sample; 125 126 /*tworze tablice ktore przechowaja mi zmienne stworzone przez proc sql */ 127 /* array zmienna (5) app_char_branch app_char_branch app_char_branch app_char_cars app_char_cars; */ 128 array zmienna (&ilosc.) &zm.; 129 array warunek (&ilosc.) $100 _temporary_ (&war.); 130 array grupa (&ilosc.) $1 _temporary_ (&grp.); WARNING: Partial value initialization of the array grupa. 131 132 put zmienna(1); 133 put zmienna(5); 134 /* lece w petli ze wzgledu na tablice */ 135 do i = 1 to 5; 136 137 /* przy warunkach dodalam podwojne uszy ("), zeby zlaczyc 138 wiele obserwacji, teraz musze je usunac */ 139 /* warunek(i)=tranwrd(warunek(i), '"', ''); */ 140 141 /* wyswietlam w logach wartosci, zeby sledzic co jest nie tak */ 142 put warunek(i); 143 put zmienna(i); 144 put grupa(i); 145 146 147 select (zmienna(i)); 148 when (warunek(i)) zmienna(i)=grupa(i); /*jezeli zachodzi warunek to zmienna przyjmuje wartosc grupy */ 149 150 /* jesli warunek nie zajdzie, to w logach wyrzuca nam informacje o problemie z obserwacja */ 151 otherwise put 'PROBLEM OBSERVATION'; 152 end; 153 end; 154 run; Empty Empty Computers Empty 2 PROBLEM OBSERVATION DiY Empty 3 PROBLEM OBSERVATION Empty Empty 1 Fenitures 1 1 PROBLEM OBSERVATION Radio-TV 1 2 (...)
... View more