Примеры отбора данных
Пример 7
Отберем респондентов, которые опрашивались в Западной Германии:
fragebnr
>
=
"W-"
Здесь более изящным будет применение функции SUBSTR:
SUBSTR(fragebnr,
1
,
1
)
=
"W"
…или:
SUBSTR(fragebnr,
1
,
2
)
=
"W-"
Можно также применить функцию RANGE:
RANGE(fragebnr, W
-
001
, W
-
999
)
…или:
RANGE(fragebnr,
"W-001"
,
"W-999"
)
Пример 8
Отберем респондентов, которые опрашивались в Восточной Германии:
fragebnr
>
=
"0-"
& fragebnr
<
"W-"
Достаточно также просто ввести:
fragebnr
<
"W-"
И в этом случае изящнее будет вариант с SUBSTRING:
SUBSTR(fragebnr,
1
,
1
)
=
"0"
…или:
SUBSTR(fragebnr,
1
,
2
)
=
"0-"
Можно также применить функцию RANGE:
RANGE(fragebnr,
"0-001"
,
"0-999"
)
Удобно использовать оператор NOT:
~fragebnr
>
=
"W"
Далее мы рассмотрим применение функций UPCASE и LOWER. При этом будем исходить из следующей ситуации.: При вводе номеров анкет иногда по ошибке вме-^то прописного "W" для Западной Германии было закодировано строчное "w". Эти наблюдения не будут отобраны по условию SUBSTR(fragebnr, 1.1) = "W". В таком случае может помочь функция UPCASE или LOWER:
SUBSTR(UPCASE(fragebnr,
1
,
1
)
=
"W"
Рассмотренная конструкция называется вложенной функцией. Вложенные функции вычисляются в направлении изнутри наружу. Функция UPCASE преобразует содержимое переменной fragebnr в прописные буквы. Преобразованное содержимое затем передается в функцию SUBSTR. Эта функция выделяет из строки первую букву. Полученная буква сравнивается с буквой W. Если они совпадают, данное наблюдение выбирается, то есть переменная фильтра filter_S приобретает значение 1. Если применяется функция LOWER, строка в редакторе условий будет выглядеть так:
SUBSTR(LOWER(fragebnr,
1
,
1
)
=
"w"
Функция LOWER преобразует содержимое переменной fragebnr в строчные буквы. Преобразованное содержимое передается в функцию SUBSTR. Эта функция выделяет из строки первую букву. Полученная буква сравнивается с буквой w. Если они совпадают, данное наблюдение отбирается.