pspp-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Define macro


From: Ben Pfaff
Subject: Re: Define macro
Date: Thu, 16 Jan 2025 10:39:17 -0800

What was the original syntax?

On Thu, Jan 16, 2025 at 10:16 AM Nanci Avitable <avitabile@aaahawk.com> wrote:
>
> I am working on a new MacBookPro, M4 chip with Sequoia. I have downloaded and 
> installed the PSPP version 2.0.1-2 bundle.
>
> I have several SPSS programs that I use to score some protocols and output 
> information for use in WORD via mail merge.
>
> These programs include Define routines. Although the information I've read 
> indicates that they should transfer okay, I'm running into problems. It may 
> be that I don't fully understand when to use periods and things like "+". 
> Below is a syntax portion that I've been trying to get to run. The actual 
> program is around 1300 lines long so I'm just focusing on a small bit.
>
> My interpretation from the error messages is that there is something wrong 
> with the "if" statement. Unless the problem is that Do Repeat cannot be used 
> in a macro body.
>
> Thanks for whatever information you can give me about using Define properly. 
> -- Nanci
>
> Data list / ctraw cutraw fatraw sltraw hstraw ltraw sctraw sdtraw straw (9f3).
> Begin data.
> 45 37 52 52 42 35 54 43 46
> end data.
>
> set Printback on.
> set mprint yes.
>
> define subscore3 (!pos !tokens(1)/!pos !enclose('(',')')/!pos !tokens(1))
> do repeat ssc = 1 to 19/limit = !2.
> if (!1 ge limit)  !3 = ssc.
> end repeat.
> !enddefine.
>
> do repeat ssc = 1 to 19 / limit = 0 10 14 18 22 26 30 34 38 42 46 49 52 55 58 
> 62 65 100 100.
> if(ctraw ge limit)ct = ssc.
> end repeat.
>
> /Users/nanciavitable/Cloud-drive/Private 
> Practice/Scoring&Report/ABASIII/ABASmacro.sps:7.1-7.78: error: DO REPEAT: In 
> syntax expanded from `subscore3 ctraw (0 10 14 18 22 26 30 34 38 42 46 49 52 
> 55 58...': Syntax error expecting END REPEAT.
>     7 | subscore3 ctraw (0 10 14 18 22 26 30 34 38 42 46 49 52 55 58 62 65 
> 100 100) ct.
>       | 
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> /Users/nanciavitable/Cloud-drive/Private 
> Practice/Scoring&Report/ABASIII/ABASmacro.sps:7.1-7.78: error: END REPEAT: In 
> syntax expanded from `subscore3 ctraw (0 10 14 18 22 26 30 34 38 42 46 49 52 
> 55 58...': No matching DO REPEAT.
>     7 | subscore3 ctraw (0 10 14 18 22 26 30 34 38 42 46 49 52 55 58 62 65 
> 100 100) ct.
>       | 
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> subscore3 ctraw (0 10 14 18 22 26 30 34 38 42 46 49 52 55 58 62 65 100 100) 
> ct.
>
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]