Просто чтобы дать ответ, который разъясняет вложенную часть, вот пример использования do if
вместо if
.
do if any(1, a to c).
do if any(1, s to x).
compute xx=1.
end if.
end if.
Этот код находит строки с хотя бы однимвремя оценка 1 по любой из переменных a
до c
.Только среди этих строк он находит строки, по крайней мере, один раз со значением 1 по любой из переменных от s
до x
.Строки, которые передают первый оператор и затем передают второй оператор, присваиваются xx=1
.
Это дает те же результаты, что и:
if any(1, a to c)
and
any(1, s to x) xx=1.
Однако следующие результаты дают разные результаты:
if any(1, a to c) xx=1.
if any(1, s to x) xx=1.
По сути это означает то же самое, что и использование или между 2 условными выражениями
if any(1, a to x)
or
any(1, s to x) xx=1.