Hej,

Chciałbym stworzyć makro, które będzie tworzyło tabelę. Niestety po drodze robię jakiś błąd i nie wiem z czego on wynika. Tabela bez wprowadzanych zmian tworzyła się prawidłowo.
Idea jest następująca - na podstawie zmiennej w zbiorze makro chcę określić rodzaj procedury, która będzie zmieniała sposób tworzenia tabeli (jak więcej niż 20 to będzie inny układ). Bardzo proszę o pomoc

data makro;
set ile_zmiennych;
if ile_zmiennych < 20 then x=1;
else x=2;
run;

PROC SQL;
CREATE TABLE Statystyka_dla_&cel AS
SELECT distinct t1.&zmienna,
t1.&cel,
t2.ile_zmiennych,
(COUNT(t1.cid)) AS ILE
FROM zrodlo.abt_app t1 left join ile_zmiennych t2 on t1.&zmienna=t2.&zmienna where t1.&zmienna not is missing
GROUP BY t1.&zmienna,
t1.&cel
ORDER BY t1.&zmienna DESC;
QUIT;

%macro tabelka1(Statystyka_dla_cel,ILE,cel,zmienna);

proc format;
value temp 70- HIGH='red';
run;

PROC TABULATE
DATA= &Statystyka_dla_&cel format=commax10.2 ;

VAR &ILE;

CLASS &zmienna/ MISSING;
CLASS &cel/ MISSING;

TABLE 

/* Row Dimension */

&cel,
/* Column Dimension /
&ILE
ColPctSum* &zmienna*[style=[background=temp.]];

RUN;
%mend tabelka1;

data makro_2;
set makro;
if x=1 then call execute ('%tabelka1');
run;