pspp-users
[Top][All Lists]
Advanced

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

Re: Define macro


From: Oren Ish-Shalom
Subject: Re: Define macro
Date: Thu, 16 Jan 2025 20:26:54 +0200

Maybe like this:

DO REPEAT ssc = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 / limit = 0 10 14 18 22 26 30 34 38 42 46 49 52 55 58 62 65 100 100.
IF (ctraw >= limit) ct = ssc.
END REPEAT.
EXECUTE.


On Thu, 16 Jan 2025 at 20:16, 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]