I am trying to draw a number of histograms, using SGPANEL and PANELBY (SAS 9.4M4 within EG). I would also like to add, to each histogram, a vertical REFLINE showing the location of the 80th percentile for each of the BY groups. I have these values stored in my dataset in a variable called P80. PROC SGPANEL DATA=example;
PANELBY a_type / COLUMNS=2 ROWS=3 SPACING=10;
HISTOGRAM a_quantity;
REFLINE P80 / AXIS = X LEGENDLABEL="P80" NAME="pline";
KEYLEGEND "pline" / POSITION=TOP;
RUN; My problem is that my code to draw the graphs and save them to a PDF, which runs in a couple minutes without the REFLINE or with the REFLINE set to a constant value, takes upwards of half an hour with the REFLINE referring to a variable. I think it is related to the size of my dataset: around 25 BY groups, with around 100k observations in each group. My guess is that by calling REFLINE with reference to a variable, SAS is checking the value for each observation, even though I only want it to draw one line. It doesn't seem to make any difference if I only store the P80 value once per BY group. Is there a way I can tell SAS I only need one line per panel? Or some other way to speed this up? I would really like to be able to keep multiple panels per page if possible. Thanks!
... View more