Имя:
Пароль:
ENEnglish version

Справка по языку формул

Примеры

Пример 1

Q[1].Num = 1 AND Q[2].Num = 2

Значит, что результат будет показан, если на первый вопрос был дан ответ номер 1, а на второй вопрос, ответ номер 2. Это также можно записать как

q1a1 + q2a2 = 2

Переменная q1a1 вернет 1, если пользователь на первый вопрос выберет первый ответ и 0, если любой другой

Пример 2

Sum >= 2 AND Sum < 10

Сумма значений для всех ответов выбранных пользователем больше либо равна 2 и меньше 10.

Пример 3

Можно ввести измерения, добавив сумму балов по измерению в переменную. Например если тест определяет тип человека и в нем два вопроса

  1. Где проще взять миллион?
    1. Заработать
    2. Выиграть в лотерею
  2. Ваши действия во время пожара?
    1. Бежать
    2. Посмотреть план эвакуации

Тогда можно создать переменную c именем Real для типа Реалист и формулой

q1a1 + q2a2

и переменную Sens для типа Чуствительный c формулой

q1a2 + q2a1

Теперь создавая 2 категории

  1. Вы Реалист. Формула Real = Max(Real; Sens)
  2. Вы Человек Чувства. Формула Sens = Max(Sens; Real)

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

Что можно использовать в формулах

Номера, значения и текст оветов

  • Q[N].Val - зничение ответа (из колонки значение)
  • Q[N].Vals - массив всех значений*
  • Q[N].Num - номер ответа
  • Q[N].Nums - массив номеров всех ответов*
  • Q[N].Text - текст ответа
  • Q[N].Texts - массив текстов ответов*
  • Q[N].QuestionText - текст вопроса

N = 1..колл. вопр

* если вопрос со множеством ответов

Логические операторы

  • AND - опертор И
  • OR - оператор ИЛИ
  • NOT - оператор НЕ

Приоритет операторов можно задавать беря выражения в круглые скобки - ( и )

Дополнительные функции

Аргументы функций разделяются символом точка с запятой - ";"

  • q № вопроса a № ответа — (напр. q3a1) возвращает 1, если в данном вопросе выбран данный ответ, 0 в противном случае
  • Max(arg1; arg2;..;arg12) - максимум среди всех введеных значений arg1 .. arg 12
  • Min(arg1; arg2;..;arg12) - минимум среди всех введеных значений arg1 .. arg 12

Операции со строками

Строки задаются двойными кавычками. Например "видео"

  • Q[1].Text = "валокардин" - можно сравнить с другой строкой
  • Q[1].Text.Contains("мерседес")- можно задать часть строки для сравнения. В этом случае будет возвращено Правда, если пользователь введет "меседес" или "мерседес бенц"