Chart Template Issue

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Chart Template Issue

Jason Schoeneberger

Hi Everyone,

 

I saw a number of posts in the archives referring to Chart Templates, but did not stumble across any solutions.  I have two scatterplot templates that I want to apply to two separate plots.  If I try this in SPSS 15, the chart templates don’t apply.  If I try this in 16, the processor gets hung up on Running INLINE…

 

I am doing this all inside a macro, as I’ve got about 190 schools I need to create output for…any see anything wrong with the following:

 

**CREATE MACRO TO GENERATE GRAPHS BY LEARNING COMMUNITY, FOR EACH SCHOOL BY FILE.

DEFINE !LCGRAPH (ARG1 = !TOKENS(1) / ARG2 = !TOKENS(1) / ARG3 = !TOKENS(1)).

 

!LET !GDATASET=!CONCAT('"graphdataset"').

!LET !TEMPL1=!CONCAT('"C:\SPSSTemp\Plot1.sgt"').

!LET !TEMPL2=!CONCAT('"C:\SPSSTemp\Plot2.sgt"').

!LET !DIBSCR=!CONCAT('"DIBEL_SCORE"').

!LET !SCRNUM=!CONCAT('"SCORE_NUMBER"').

!LET !XLABEL1=!CONCAT('"2007-08 DIBELS EOY ORF Score"').

!LET !YLABEL1=!CONCAT('"2008-09 3rd Grade EOG Pre-Test Score"').

!LET !XLABEL2=!CONCAT('"2006-07 DIBELS EOY ORF Score"').

!LET !YLABEL2=!CONCAT('"2007-08 3rd Grade EOG Score"').

 

**SCATTERPLOT OF 2007-08 ORF EOY AND 08-09 EOG PRE-TEST SCORES.

TEMP.

SELECT IF (LEARN_COMMUNITY = 'ACHZONE') AND (SCHOOL_ID = '335') AND (FILE = 0).

GGRAPH

  /GRAPHDATASET NAME=!GDATASET VARIABLES=DIBEL_SCORE SCORE_NUMBER MISSING=LISTWISE REPORTMISSING=NO

  /GRAPHSPEC SOURCE=INLINE TEMPLATE=[!TEMPL1].

BEGIN GPL

  SOURCE: s=userSource(id(!GDATASET ))

  DATA: DIBEL_SCORE_EOY=col(source(s), name(!DIBSCR))

  DATA: SCORE_NUMBER=col(source(s), name(!SCRNUM))

  GUIDE: axis(dim(1), delta(50), label(!XLABEL1))

  GUIDE: axis(dim(2), delta(10), label(!YLABEL1))

  SCALE: linear(dim(1), min(0), max(300))

  SCALE: linear(dim(2), min(290), max(370))

  ELEMENT: point(position(DIBEL_SCORE_EOY*SCORE_NUMBER))

END GPL.

 

**SCATTERPLOT OF 2006-07 ORF EOY AND 07-08 EOG SCORES.

TEMP.

SELECT IF (LEARN_COMMUNITY = !QUOTE(!ARG1)) AND (SCHOOL_ID = !QUOTE(!ARG2)) AND (FILE = 1).

GGRAPH

  /GRAPHDATASET NAME=!GDATASET VARIABLES=DIBEL_SCORE SCORE_NUMBER MISSING=LISTWISE REPORTMISSING=NO

  /GRAPHSPEC SOURCE=INLINE TEMPLATE=[!TEMPL2].

BEGIN GPL

  SOURCE: s=userSource(id(!GDATASET))

  DATA: DIBEL_SCORE_EOY=col(source(s), name(!DIBSCR))

  DATA: SCORE_NUMBER=col(source(s), name(!SCRNUM))

  GUIDE: axis(dim(1), delta(50), label(!XLABEL2))

  GUIDE: axis(dim(2), delta(10), label(!YLABEL2))

  SCALE: linear(dim(1), min(0), max(300))

  SCALE: linear(dim(2), min(290), max(370))

  ELEMENT: point(position(DIBEL_SCORE_EOY*SCORE_NUMBER))

END GPL.

 

OUTPUT SAVE OUTFILE = !QUOTE(!CONCAT('T:\Program Evaluation\Sam\K-3 IR\DIBELS\Final Files\LC Scatter\',!ARG1,'\',!ARG2,'.spo')).

OUTPUT CLOSE *.

 

!ENDDEFINE.

 

!LCGRAPH ARG1= ACHZONE    ARG2= 335.

Reply | Threaded
Open this post in threaded view
|

Re: Chart Template Issue

ViAnn Beadle

The macro facility silently changes quotation marks into apostrophes—this didn’t use to be a problem since SPSS syntax honored either quotation marks or apostrophes. GPL is an externally-defined syntax which requires quotation marks. So for every substitution in the macro you have to stick the quotation marks back onto the strings using the !CONCAT function:

 

!CONCAT('"',C:\SPSSTemp\Plot1.sgt,'"')

 

You have to do this for every quoted string in your macro.

 

From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Jason Schoeneberger
Sent: Friday, March 13, 2009 11:25 AM
To: [hidden email]
Subject: Chart Template Issue

 

Hi Everyone,

 

I saw a number of posts in the archives referring to Chart Templates, but did not stumble across any solutions.  I have two scatterplot templates that I want to apply to two separate plots.  If I try this in SPSS 15, the chart templates don’t apply.  If I try this in 16, the processor gets hung up on Running INLINE…

 

I am doing this all inside a macro, as I’ve got about 190 schools I need to create output for…any see anything wrong with the following:

 

**CREATE MACRO TO GENERATE GRAPHS BY LEARNING COMMUNITY, FOR EACH SCHOOL BY FILE.

DEFINE !LCGRAPH (ARG1 = !TOKENS(1) / ARG2 = !TOKENS(1) / ARG3 = !TOKENS(1)).

 

!LET !GDATASET=!CONCAT('"graphdataset"').

!LET !TEMPL1=!CONCAT('"C:\SPSSTemp\Plot1.sgt"').

!LET !TEMPL2=!CONCAT('"C:\SPSSTemp\Plot2.sgt"').

!LET !DIBSCR=!CONCAT('"DIBEL_SCORE"').

!LET !SCRNUM=!CONCAT('"SCORE_NUMBER"').

!LET !XLABEL1=!CONCAT('"2007-08 DIBELS EOY ORF Score"').

!LET !YLABEL1=!CONCAT('"2008-09 3rd Grade EOG Pre-Test Score"').

!LET !XLABEL2=!CONCAT('"2006-07 DIBELS EOY ORF Score"').

!LET !YLABEL2=!CONCAT('"2007-08 3rd Grade EOG Score"').

 

**SCATTERPLOT OF 2007-08 ORF EOY AND 08-09 EOG PRE-TEST SCORES.

TEMP.

SELECT IF (LEARN_COMMUNITY = 'ACHZONE') AND (SCHOOL_ID = '335') AND (FILE = 0).

GGRAPH

  /GRAPHDATASET NAME=!GDATASET VARIABLES=DIBEL_SCORE SCORE_NUMBER MISSING=LISTWISE REPORTMISSING=NO

  /GRAPHSPEC SOURCE=INLINE TEMPLATE=[!TEMPL1].

BEGIN GPL

  SOURCE: s=userSource(id(!GDATASET ))

  DATA: DIBEL_SCORE_EOY=col(source(s), name(!DIBSCR))

  DATA: SCORE_NUMBER=col(source(s), name(!SCRNUM))

  GUIDE: axis(dim(1), delta(50), label(!XLABEL1))

  GUIDE: axis(dim(2), delta(10), label(!YLABEL1))

  SCALE: linear(dim(1), min(0), max(300))

  SCALE: linear(dim(2), min(290), max(370))

  ELEMENT: point(position(DIBEL_SCORE_EOY*SCORE_NUMBER))

END GPL.

 

**SCATTERPLOT OF 2006-07 ORF EOY AND 07-08 EOG SCORES.

TEMP.

SELECT IF (LEARN_COMMUNITY = !QUOTE(!ARG1)) AND (SCHOOL_ID = !QUOTE(!ARG2)) AND (FILE = 1).

GGRAPH

  /GRAPHDATASET NAME=!GDATASET VARIABLES=DIBEL_SCORE SCORE_NUMBER MISSING=LISTWISE REPORTMISSING=NO

  /GRAPHSPEC SOURCE=INLINE TEMPLATE=[!TEMPL2].

BEGIN GPL

  SOURCE: s=userSource(id(!GDATASET))

  DATA: DIBEL_SCORE_EOY=col(source(s), name(!DIBSCR))

  DATA: SCORE_NUMBER=col(source(s), name(!SCRNUM))

  GUIDE: axis(dim(1), delta(50), label(!XLABEL2))

  GUIDE: axis(dim(2), delta(10), label(!YLABEL2))

  SCALE: linear(dim(1), min(0), max(300))

  SCALE: linear(dim(2), min(290), max(370))

  ELEMENT: point(position(DIBEL_SCORE_EOY*SCORE_NUMBER))

END GPL.

 

OUTPUT SAVE OUTFILE = !QUOTE(!CONCAT('T:\Program Evaluation\Sam\K-3 IR\DIBELS\Final Files\LC Scatter\',!ARG1,'\',!ARG2,'.spo')).

OUTPUT CLOSE *.

 

!ENDDEFINE.

 

!LCGRAPH ARG1= ACHZONE    ARG2= 335.