Перейти к основному содержимому

Исправление ошибки при выгрузке массива

· 4 мин. чтения

Во время программировании анкеты или после начала сбора данных в проект можно допустить ошибки, из-за которых массив может не выгружаться. В этой статье описаны возможные ошибки и способы их устранения.

Выгрузка массива может завершиться ошибкой:

При этом файл с результатом может быть доступен для скачивания, а может отсутствовать.

Чтобы узнать о причине ошибки, нажмите на иконку конверта в правой колонке таблицы. В открывшемся журнале выгрузки смотрите последние строки:

Там могут быть различные сообщения о возникших проблемах. Давайте разбираться с каждым из них.

Что-то не так с именами переменных

Ниже перечислены ошибки, которые возникают из-за некорректного имени переменной в массиве:

Ошибка при подготовке списка полей массива для вопроса QXXX: Колонка с именем "X" уже существует в массиве

Ошибка при подготовке списка полей массива для вопроса QXXX: Недопустимое имя переменной "X" для вопроса QXXX

Ошибка при подготовке списка полей массива для вопроса QXXX: Индекс (отсчитываемый от нуля) должен быть больше или равен нулю, но меньше размера списка аргументов

Ошибка при подготовке списка полей массива для вопроса QXXX: Input string was not in a correct format

Ошибка при создании переменной X

SPSS function spssSetVarName for X returned error code SPSS_INVALID_VARNAME

Если вы видите одно из этих сообщений — прочитайте статью и исправьте ошибку. Вы также можете удалить из вопроса имя переменной, чтобы система присвоила стандартное.

Ответы не соответствуют анкете

В SURVEYSTUDIO массив формируется по текущей анкете при каждой выгрузке. Если в сохранённых интервью есть ответ, которого нет в анкете, то сообщение будет таким:

Выгрузка завершена с ошибкой.
В интервью есть ответы, которых нет в анкете, и их не удалось добавить в массив. Эти ответы находятся выгруженном файле.

Скачайте и откройте файл с результатом. В нём перечислены ответы, которых быть не должно, например:

ID: 75102545, Q371, Row: 14, Code: 8, OpenValueNum: <null>, OpenValueTxt: <null>
ID: 75102582, Q410, Row: <null>, Code: 1, OpenValueNum: <null>, OpenValueTxt: <null>

Далее можно сверить эти ответы с анкетой в режиме просмотра. Например, смотрим первую строку файла: в вопросе Q371 какого-то интервью, в строке 14 выбран ответ с кодом 8. Затем идём в анкету и видим, что в Q371 среди вариантов ответа нет ответа с кодом 8. Это означает, что либо этот ответ был в анкете, но его потом удалили или изменили ему код на какой-то другой, либо добавили его в интервью через Редактирование ответов.

note

Также может быть, что в вопросе нет строки с кодом 14, либо вопроса Q371 вообще нет в анкете, либо он есть, но не табличный — строк быть не может. И так далее, но суть та же: в базе есть лишние ответы.

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

Если потеря этих ответов недопустима — приведите анкету к исходному виду, либо внесите правки через Редактирование ответов по ID ответа из файла.

note

Почитать об изменении анкеты после начала сбора данных можно здесь

Данные не помещаются в файл

Для выгрузки в Excel (*.xls) максимально допустимое количество колонок - 256.

Для выгрузки в Excel (*.xlsx) максимально допустимое количество колонок - 16384.

Превышен допустимый лимит по количеству строк (1048576 шт) в файле Excel (*.xlsx).

При запросе массива был выбран формат файла, который не поддерживает указанное количество колонок или строк. Выберите другой формат файла.

Код ответа 0 в альтернативном режиме

Ошибка при подготовке списка полей массива для вопроса QXXX: Элемент с тем же ключом уже был добавлен

Ошибка при подготовке списка полей массива для вопроса QXXX: An item with the same key has already been added. Key: 0

Это очень редкая ошибка, и связана она с выгрузкой ответов вопроса с множественным выбором в альтернативном режиме, если у одного из ответов есть код 0, ведь ноль означает, что ответ не выбран. А если выбрали ответ 0 — непонятно ответ выбран или таки нет. Поэтому такие вопросы нужно выгружать в другом режиме.

Другие ошибки

Если вы видите в журнале выгрузки сообщение, которого нет в этой статье, и не можете выгрузить массив — обратитесь, пожалуйста, в поддержку. Укажите текст сообщения и ссылку на проект.