Примеры отбора данных
Пример 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. Если они совпадают, данное наблюдение отбирается.
