To samo makro może wyprodukować daną makrozmienną raz jako lokalną a innym razem jako globalną, w zależności od tego, czy makrozmienna o tej samej nazwie została przed wywołaniem makra zdefiniowana jako globalna. Kod: %macro test; %if 10.5>2 %then %put tak; %else %put nie; %mend; %test; da w wyniku "nie", gdyż %if używa arytmetyki całkowitej a 10.5 nie jest liczbą całkowitą, więc uznaje ją za tekst i porównuje alfabetycznie teksty "10.5" oraz "2". Porównywanie liczb można osiągnąć przez: %macro test; %if %sysevalf(10.5>2) %then %put tak; %else %put nie; %mend; %test; Ujęcie w makro jest konieczne, bo poza makrami nie działa %if. Niektóre funkcje nie są dostępne w niektórych procedurach. Funkcje input i put pozwalające na konwersję tekstu na liczbę i odwrotnie nie są dostępne w procedurze SQL, co sprawia, że nie da się przeprowadzić w SAS takiej konwersji za pomocą SQL.
Certyfikaty SAS Institute oferuje dwa certyfikaty ze znajomości SAS 4GL: SAS Certification: Base Programming for SAS 9 SAS Certification: Advanced Programming for SAS 9.
Przypisy
Kategoria:Języki programowania Kategoria:Oprogramowanie statystyczne