*Лирическое вступление*
Меня зовут Дмитрий, я работаю в научно-исследовательском институте, занимающимся, в частности, психологическими исследованиями. У нас есть комплекс авторских методик, которые уже давно и не особо успешно мы пытаемся автоматизировать (перенести в электронный формат), но проблема заключается в последующей обработке данных - для исследований мы используем сложный статистический анализ, а для разовых тестирований нужен удобный вывод индивидуальных результатов. Идеальный вариант - это конструктор тестов с экспортом первичных данных в Excel (что доступно в последней версии системы Indigo), поиском которого я в данный момент и занимаюсь. По совокупности достоинств ваша система однозначно оставила самое приятное впечатление, это отличный продукт, готовый к использованию практически любым пользователем. Но, к сожалению, как и почти во всех других подобных системах, чувствуется изначальная заточенность под тесты знаний, а возможность конструирования психологических тестов - это, по большей части, бонус. Несложные методики, где отдельные вопросы соответствуют отдельным шкалам перенести в Indigo не составило труда, но вот с одной из сложных методик возникла проблема.
Перехожу непосредственно к проблеме.
Методика оценивает поведенческие установки человека. Испытуемый отвечает на 16 вопросов, каждый из которых - некая жизненная ситуация, в которую он попадает. В каждом из 16 вопросов имеется 4 варианта ответов - действий в данной ситуации. Задача испытуемого - один из 4 вариантов ответа (одно из действий) выбрать как предпочтительное (ответить "Да"), а другой вариант (из оставшихся 3) выбрать как отвергаемый (ответить "Нет"). Частично это решается дублированием вопросов с заменой задания (сперва просим испытуемого выбрать наиболее предпочтительный вариант, затем - наименее предпочтительный), но вариант ответа, выбранный как "Да", затем можно выбрать и как "Нет", что может разрушить алгоритм обработки.
Но настоящая проблема кроется в ином: методика имеет 4 шкалы, соответственно, каждый вариант ответа в каждом вопросе соответствует той или иной шкале. Подсчет баллов в шкале производится на основе выбора того или иного варианта ответа. Допустим, Вопрос 4 -> Ответ 2 -> балл начисляется в Шкалу 3; если в том же вопросе мы выбираем Ответ 3, то балл начисляется другой шкале. Очевидно, что для подобной обработки нужны условия отбора вопросов и вариантов ответа. В Excel это реализовано через функцию СЧЁТЕСЛИ(), где в скобках мы задаем нужную ячейку и значение для отбора, например, идентификатор варианта ответа (допустим, "a", "b", "c", "d"). Задать индивидуальные идентификаторы вариантов ответа в Indigo, как я понимаю, не представляется возможным. Можно попробовать использовать функцию "за каждый вариант ответа свой балл", и эти баллы взять как индивидуальные идентификаторы. У нас есть 1, 2, 3 и 4. Теперь наша задача прописать в шкале учет вопроса только при определенном значении. Насколько я понимаю, в системе Indigo это делается следующим образом:
(Балл(группа_вопросов->вопрос 1)=1)+(Балл(группа_вопросов->вопрос 4)=1)
Если моя логика верна, то таким образом в шкалу будут отбираться вопросы 1 и 4 только при ответе 1.
Появляется другая проблема - поскольку в роли идентификаторов у нас выступают значения, то и результаты шкал между собой будут значительно отличаться - в 1 шкале у нас будут суммирроваться значения 1, во 2 шкале - значения 2 и т.д. По логике, это легко решить последующим делением на то значение, что использовалось в данной шкале в качестве идентификатора, например:
(Балл(группа_вопросов->вопрос 1)=2)+(Балл(группа_вопросов->вопрос 4)=2)/2
Получается, что мы возвращаем количество ответов, т.е. подсчет ведется так, будто учтенное значение = 1.
Увы, но проделанные манипуляции, почему-то, не работают. При завершении тестирования открывается пустой белый экран "Результаты", а на сервере все тестирования все еще продолжают быть активными. Прикладываю изображения ниже.


