I want to dynamically change the place where a proc gchart gets displayed, because the number of entries in another report changes, and with it its size. The size the gchart should have is given by the input() statement in the last line. The ODS Region variable seems to not accept calculated values. Is there a way to solve this? %macro get_table_size(inset,macvar);
data _null_;
set &inset NOBS=size;
call symput("&macvar",size);
stop;
run;
%mend;
%let reccount=;
%get_table_size(OI_SORTED_desc_CM,reccount);
%put (&reccount*0.5)+4.91;
*height = 18.41cm;
ODS Region width = 7cm height = input((&reccount*0.5)+4.91,8.0) cm x = 13cm y = 5.05cm; Log: 452 %get_table_size(OI_SORTED_desc_CM,reccount);
SYMBOLGEN: Makrovariable INSET wird in OI_SORTED_desc_CM aufgelöst
SYMBOLGEN: Makrovariable MACVAR wird in reccount aufgelöst
NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
452:63
NOTE: There were 1 observations read from the data set WORK.OI_SORTED_DESC_CM.
NOTE: Verwendet wurde: DATA statement - (Gesamtverarbeitungszeit):
real time 0.00 seconds
cpu time 0.00 seconds
SYMBOLGEN: Makrovariable RECCOUNT wird in 28 aufgelöst
453 %put (&reccount*0.5)+4.91;
( 28*0.5)+4.91
454
455
456
457 *height = 18.41cm;
458 ODS Region width = 7cm height =
458 ! input((&reccount*0.5)+4.91,8.0) cm x = 13cm y = 5.05cm;
_____
22
SYMBOLGEN: Makrovariable RECCOUNT wird in 28 aufgelöst
458 input((&reccount*0.5)+4.91,8.0) cm x = 13cm y = 5.05cm;
_____
76
ERROR 22-322: Expecting eine numerische Konstante.
ERROR 76-322: Syntax error, statement will be ignored.
... View more