Kurze Frage zur Macroprogrammierung
Verfasst von AlexSolms am 4 Dezember, 2009 - 09:36
Liebe Sasler,
zur Zeit komme ich bei SAS mit einem -diesmal wirklich kleinen- Probelm nicht weiter und finde dazu leider nichts im Netz. Und zwar möchte ich eine Funktion definieren (Gausssche Hypergeometrische Funktion/Reihe) und muss dazu in dem Makro die Gammafunktion aufrufen:
%let F = %eval( gamma(&_x));
Anscheinend kann %eval nur einfachere Rechenoperationen (+,-,/,*,**) und verursacht die Fehlermeldung:
"ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand
is required. The condition was: gamma(2)"
Hatte jemand schonmal ein ähnliches Problem und bzw. oder kennt eine Lösung?
Danke vorab und viele Grüße
Alex
»
- Anmelden oder Registrieren um Kommentare zu schreiben

%sysfunc
Hallo,
die Makrofunktion %eval nutzt man in der Regel um einfache mathematische Operationen mit Makrovariablen durchzuführen. z.B.
Um die Funktionen aus den Datasets, z.B. Gamma, im Makrocode zu nutzen, muss man die Makrofunktion %sysfunc verwenden. Damit ist es möglich fast alle Funktionen auch im Makrocode anzusprechen.
Viel Spass
Lutz Ritter