Коллеги в Институте регионального развития проводят серию предвыборных социологических опросов в нескольких районах Псковской области. Анализа никакого проводить не требуется, нужно лишь вывести последовательность частотных таблиц и таблиц сопряжённости по вопросам, содержащимся в анкете. Во всех исследуемых районах структура этого отчёта одинаковая.

Обычно я решаю эту задачу силами R: делаю шаблон отчёта, а затем прогоняю его по каждому из массивов. Но сейчас возникла потребность то же самое выполнить в IBM SPSS. В SPSS, помимо выпадающих выпадающих меню, существует встроенный язык программирования, позволяющий автоматизировать выполнение рутинных задач. Этим языком я и решил воспользоваться. Язык этот можно сильно и не изучать, т.к. формирование команд можно осуществлять через выпадающее меню: пользователь выбирает нужную команду, указывает используемые переменные, а затем нажимает кнопку “Вставить”. Соответствующие инструкции добавятся в файл скрипта.

Частотные таблицы, предлагаемые SPSS по-умолчанию (команда FREQUENCIES в синтаксисе SPSS), мне не подходили: эта команда не позволяет отобрать нужные параметры частот, а “вываливает” сразу всё, включая абсолютные частоты, процент, валидный процент и накопленный процент. Заказчику обычно нужен только процент.

Подходящим вариантом стала команда “Настраиваемые таблицы” (CTABLES), позволяющая в таблице выводить только нужные статистики, объединять в одной строке/колонке  сразу несколько переменных, добавлять итоги, отфильтровывать категории.

Следующей задачей стало создание заголовков и подзаголовков отчёта. В синтаксисе я обнаружил две команды: TITLE и SUBTITLE. Ограничение этих команд оказалось в том, что они не позволяют задавать форматирование. А при экспорте в формат XLS эти строки не помечаются никакими стилями, поэтому автоматизировать задачу оформления затруднительно.

Долго провозился с заголовками, которые SPSS вставляет в вывод перед каждой отдельной функцией, например “Настраиваемая таблица”. Мне не удалось найти способ поменять название этого заголовка на метку переменной. Отключается вывод этих заголовков в настройках SPSS.

В конце скрипта я добавил функцию EXPORT OUTPUT по экспорту вывода в файл формата XLS.