Функции
Список функций, который мы сейчас рассмотрим, – следующая важная часть диалогового окна Select Cases: If.
Этот список содержит множество математических функций, большая часть из которых, однако, имеет отношение только к модификации данных (расчету новых переменных). Поэтому обзор этих функций представлен в соответствующем разделе (см. раздел 8.1.2). Здесь мы рассмотрим только логические и строковые функции.
Логические функции
В SPSS реализованы две логические функции:
- RANGE (variable, begin, end): Функция RANGE возвращает значение 1, или true, если значение переменной лежит в диапазоне между заданными начальным и конечным значениями. Переменная может иметь как численный, так и строковый тип. RANGE (alter, 18, 22) возвращает значение 1, то есть true, если значение переменной alter лежит между 18 и 22 включительно. Можно задавать несколько диапазонов, например, RANGE (alter, 1.17, 63, 99). В этом случае функция возвращает true, если значение переменной alter лежит между 1 или 17 или между 63 и 99 включительно. В функции RANGE можно также использовать переменные строкового типа, например, RANGE (name, A, Mzzzzzz). Тогда функция будет возвращать 1 для имен, начинающихся с букв от А до М включительно. Если имя начинается с другой буквы, функция возвратит 0.
- ANY (variable, vail, va!2, val3,…): Функция ANY возвращает значение 1, или true, если значение переменной (значение первого аргумента) совпадает по крайней мере с одним из значений, указанных в последующем списке параметров (vail, va!2, va!3,…). В противном случае возвращается значение 0 или false. Первый элемент, как правило, – переменная численного или символьного типа. Примеры: ANY (jahr, 1991, 1992, 1993, 1994) возвращает true, если значение переменной jahr равно 1991, 1992, 1993 или 1994. ANY (name, Schmidt, Meier, Raabe) возвращает значение true или 1 в тех случаях, когда переменная name содержит значения Schmidt, Meier или Raabe. Во всех остальных случаях возвращается значение 0. Не забывайте заключать строковые значения в двойные кавычки.
Строковые функции
Из общего количества 18 строковых функций мы рассмотрим три самых важных, на наш взгляд.
- SUBSTR (variable, begin, length): Эта функция извлекает определенную часть из строки. Она возвращает подстроку или отдельный символ. Например, если строковая переменная name содержит значение Mannheim, то следующий вызов функции:
SUBSTR(name,
1
,
2
)
…возвратит значение Ма. Здесь из переменной name извлекаются два знака (третий аргумент) начиная с первой позиции (второй аргумент). Выражение:
SUBSTR(name,
1
,
2
)
=
Ma
…будет истинным для значений переменной Maus, Mannesmann или Mahlmann. При сравнении со строками вместо двойных кавычек (= "Ма") можно также применять простые (= 'Ма'). Однако смешение простых и двойных кавычек (= 'Ма") не допускается.
- UPCASE (argument): Функция UPCASE преобразует строчные буквы в прописные. В качестве аргумента можно задавать строку или переменную символьного типа. UPCASE (vorname) возвращает значение ANNA, если переменная vorname имеет значение Anna.
- LOWER (argument): Функция LOWER преобразует прописные буквы в строчные.
В качестве параметра можно задавать строку или переменную символьного типа.
- LOWER (vorname) возвращает значение anna, если переменная vorname имеет значение ANNA или Anna.
Функции переносятся в редактор условий следующим образом:
- Поместите курсор на место в условном выражении, на котором должна быть вставлена функция.
- Дважды щелкните на функции в списке функций или выделите функцию и щелкните на кнопке с треугольником около списка функций.
Функция будет вставлена в выражение. Вместо аргументов в этой функции будут стоять вопросительные знаки. Количество вопросительных знаков указывает минимальное количество аргументов, которое следует вставить. Отредактировать функцию можно следующим образом:
- Выделите вопросительные знаки во вставленной функции.
- Замените их соответствующими аргументами. Имена переменных для аргументов можно перенести из списка исходных переменных.
В заключение мы составим список приоритетов при построении логических выражений:
Приоритет | Оператор/функция | Значение |
---|---|---|
1 | 0 | Оператор скобок |
2 | Функции | Различные значения |
3 | < | Меньше |
<= | Меньше или равно | |
> | Больше | |
>= | Больше или равно | |
= | Равно | |
"= | Не равно | |
4 | - (минус) | Логическое НЕ |
5 | & | Логическое И |
6 | I | Логическое ИЛИ |