서식
모아폼 변수 및 로직(고급) 배워보기 2
모아폼 변수 및 로직(고급) 배워보기 2

모아폼 변수

모아폼 변수는 설문편집화면 좌측 상단 '변수' 탭으로 들어가 설정할 수 있습니다. '새 변수 정의하기' 버튼을 눌러 변수를 생성한 후 변수명과 변수값을 입력하면 변수가 정의됩니다.

변수값에는 점수가 부여된 질문이나 수치형 주관식 질문을 삽입할 수 있으며 연산기호들(+, *, -, /, (, ), ^)과 숫자를 이용해 수식형태로 구성하면 됩니다.

정의된 변수는 로직 조건으로 사용될 수 있으며 설문지 내 삽입할 수도 있습니다.

아래 '다음' 버튼을 눌러 정의된 변수 및 정의된 변수의 로직 활용에 대해 예제들을 통해 알아보도록 하겠습니다.

정의된 변수 활용 - 일반

먼저 아래 산수문제 4개를 모두 풀어보세요.

산수 1번
1 + 1 = ?

1

2

3

4

산수 2번
3 * 2 = ?

4

5

6

7

산수 3번
2 * ( 4 - 2 ) = ?

6

1

3

4

산수 4번
2 + 4 * 3 = ?

18

24

14

16

당신의 산수점수는 점 / 100점 입니다.

위 질문들은 정답시 각각 25점이 배점되어 총 100점입니다. 점수 배점은 객관식 질문을 만들 때 '보기 점수 부여' 옵션을 켜고 원하시는 보기에 점수를 부여하시면 됩니다.

그런 다음, 설문 편집 화면 좌측패널 상단 '변수' 탭으로 들어가 '새 변수 정의하기' 버튼을 누른 후 변수명을 적고(예: 산수점수) 변수값으로 아래와 같이 설정하면 됩니다.

산수 1번의 점수 + 산수 2번의 점수 + 산수 3번의 점수 + 산수 4번의 점수

그러면 '산수점수' 라는 변수는 위 4개의 질문이 획득한 점수 합이 됩니다. 이 '산수접수' 변수를 정보글이나 다른 질문에 변수삽입으로 삽입하면 위 처럼 합산점수를 답변자에게 보여줄 수 있습니다.

정의된 변수 활용 - 일반

아래 영어문제 4개를 모두 풀어보세요.

영어 1번
I ______ a boy.

am

are

is

will

영어 2번
You _____ a girl.

am

are

is

will

영어 3번
A: How are you?
B: ___________________

B: No, I am not.

B: Yes, you can.

B: I will do it.

B: Fine, thank you, and you?

영어 4번
A: Thank you.
B: __________________.

B: You can do it.

B: You're welcome.

B: Yes, I can.

B: Good morning.

당신의 영어점수는 점 / 100점 입니다.

당신의 영어점수와 산수점수 총점은 점 / 200점 (정답률: %)

위 질문들 역시 정답시 각각 25점이 배점되어 총 100점이고 '영어점수'라는 변수로 아래와 같이 설정되어 있습니다.

영어 1번의 점수 + 영어 2번의 점수 + 영어 3번의 점수 + 영어 4번의 점수

그러면 '영어점수' 라는 변수는 위 4개의 질문이 획득한 점수 합이 됩니다. 

추가로 '총점' 이라는 변수와 '정답률' 이라는 점수를 아래와 같이 만들었습니다.

총점 = 영어점수 + 산수점수
정답률 = 총점 / 200 * 100

위와 같이 정의된 변수의 변수값에 다른 정의된 변수를 삽입할 수도 있고, 단순한 덧셈 외 더 복잡한 수식도 입력 가능합니다.

정의된 변수 활용 - 로직

정의된 변수를 로직에 활용할 수도 있습니다. 앞서 답변하신 산수시험과 영어시험의 결과를 Show/Hide 로직에 이용하여 오답노트를 구성해 보았습니다. 이전 페이지로 돌아가서 산수, 영어에 오답을 몇 개 선택한 다음 이 페이지로 돌아와 보세요.

당신의 점수는 점 / 200점 입니다. (정답률: %)

산수점수: 점 / 100점

영어점수: 점 / 100점

많이 부족합니다!

조금 더 노력하세요.

참 잘 했어요.

끝내 주내요!

산수 오답노트

산수는 모두 정답입니다! 훌륭합니다.

산수는 총 4문제 중 문제 틀렸습니다.

1 + 1 = 2 입니다.
당신은 (이)라고 답변하셨습니다.

3 * 2 = 6 입니다.
당신은 (이)라고 답변하셨습니다.

2 * ( 4 - 2 ) = 2 입니다.
당신은 (이)라고 답변하셨습니다.
수식에 괄호가 있으면 항상 괄호안 부터 먼저 계산해야 합니다.

2 + 4 * 3 = 14 입니다.
당신은 (이)라고 답변하셨습니다.
수식에 괄호 없이 덧샘, 뺄샘, 곱샘, 나눗샘이 섞여 있다면 곱샘과 나눗샘부터  먼저 계산해야 합니다.

영어 오답노트

영어는 모두 정답입니다! 훌륭합니다.

영어는 총 4문제 중 문제 틀렸습니다.

I am a boy. 입니다.
당신은 (이)라고 답변하셨습니다.
'나는 소년입니다.' 라는 의미이며, 1인칭 be 동사의 현재형인 am을 쓰는 것이 맞습니다.

You are a girl. 입니다.
당신은 (이)라고 답변하셨습니다.
'당신은 소녀입니다.' 라는 의미이며 2인칭 be 동사의 현재형인 are을 쓰는 것이 맞습니다.

A: How are you?
B: Fine Thank you, and you? 입니다.
당신은 (이)라고 답변하셨습니다.
'안녕하세요?' 라고 물었을 때 '좋습니다. (물어봐 주셔서) 고맙습니다. 당신은요?' 라는 의미이며 관용적으로 많이 사용되는 표현입니다.

A: Thank you.
B: You're welcome. 입니다.
당신은 (이)라고 답변하셨습니다.
'고맙습니다.' 라고 했을 때, '천만에요.' 라는 의미이며 관용적으로 많이 사용되는 표현입니다.

위 로직 구성은 총 3종류입니다.

  1. 전체 정답률에 따라 사진과 문구를 보여줍니다. 예를 들어 정답률이 50보다 크거나 같고 70보다 작다면 '조금 더 노력하세요.' 문구와 사진을, 70보다 크거나 같고 90보다 작다면 '참 잘 했어요.' 문구와 사진을 보여줍니다.
  2. 산수점수가 100점일 때 보여주는 문구와, 100점이 아닐 때 몇 문제 틀렸는지 보여주는 문구가 다릅니다. (영어도 마찬가지.)
  3. 산수문제들 중 틀린 문제들만 그 정답과 해설 등을 보여줍니다. (영어도 마찬가지.)

먼저 첫 번째 정답률에 따라 보여주는 사진과 문구는 '정답률' 이라는 정의된 변수를 이용해 Show/Hide 로직을 만들면 됩니다. 정답률 구간을 몇 개로 나눈 후 해당 구간에 보여줄 이미지와 문구들을 '정보' 항목으로 각각 만들어 두고 미리 '항목 숨기기'로 숨겨둔 후 '정답률' 변수로 Show/Hide 로직을 만들어 조건을 만족하면 그 항목을 Show 하도록 합니다.

두 번째 100점일 때와 아닐 때 보여주는 문구도 비슷합니다. '산수점수' 변수를 조건으로 Show/Hide 로직을 만들어 산수점수가 100점이면 '산수는 모두 정답입니다...' 문구를 보여줍니다. 100점 미만이면 보여줄 오답 개수를 계산하는 변수를 '산수 오답 개수'로 만들어 둔 후 '산수는 총 4문제 중 '산수 오답 개수'문제 틀렸습니다.' 문구를 만들고 100점 미만이면 이 항목이 보이도록 설정합니다. (영어도 마찬가지.)

세 번째 오답노트는 각각의 산수문제들을 조건으로 Show/Hide 로직을 설정합니다. 먼저 산수문제 4문제에 대한 해설을 각각 '정보' 항목으로 만들어 숨겨둔 후 산수 1번 질문에 0점을 획득했다면 그에 해당하는 해설 항목을 Show 하도록 설정합니다. 그렇게 나머지 3문제에 대해서도 동일하게 설정하면 됩니다. (영어도 마찬가지.)

이렇게 설정하면 산수와 영어에 대한 오답노트까지 만들 수 있습니다.

*** Show/Hide 로직을 설정하는 방법에 대해서는 '모아폼 로직(기본)만들기' 편을 참고하세요. ***

정의된 변수 활용 - 로직

정의된 변수를 로직에 활용하여 심리테스트 수준의 복잡한 기능도 구현 가능합니다. 아래 2개의 예제에 답변해 보세요. 당신의 성격을 알려드리겠습니다.

질문 1
나는 여가시간이 있으면 집에서 책을 읽거나 TV 보는 것이 밖에서 친구들을 만나는 것 보다 더 좋다.

매우 그렇다.

그렇다.

그렇지 않다.

매우 그렇지 않다.

질문 2
나는 새로운 사람을 만나고 사귀는 것이 어색하지 않고 즐겁다.

매우 그렇다.

그렇다.

그렇지 않다.

매우 그렇지 않다.

아래 '다음' 버튼을 누르면 결과를 알려드립니다.

정의된 변수 활용 - 로직

당신은 활동적이고 외향적인 사람입니다!

다음 페이지에서 설정 방법에 대해 설명드립니다.

정의된 변수 활용 - 로직

당신은 차분하고 내향적인 사람입니다!

다음 페이지에서 설정 방법에 대해 설명드립니다.

정의된 변수 활용 - 로직

앞 테스트에서는 정의된 변수를 조건으로 하는 Jump to 로직이 사용되었습니다.

먼저 앞의 질문 1(나는 여가시간이 있으면 집에서 책을 읽거나 TV 보는 것이 밖에서 친구들을 만나는 것 보다 더 좋다.) 에서 각 보기들의 점수는 아래와 같이 설정되었습니다.

  • 매우 그렇다: 21점
  • 그렇다: 11점
  • 그렇지 않다: 11점
  • 매우 그렇지 않다: 21점

이 질문의 경우 '... 그렇다' 방향은 내향성을 나타내고 '... 그렇지 않다' 방향은 외향성을 나타냅니다.

질문 2(나는 새로운 사람을 만나고 사귀는 것이 어색하지 않고 즐겁다.) 에서 가가 보기들의 점수는 아래와 같이 설정되었습니다.

  • 매우 그렇다: 20점
  • 그렇다: 10점
  • 그렇지 않다: 10점
  • 매우 그렇지 않다: 20점

이 질문의 경우 '... 그렇다' 방향은 외향성을 나타내고 '... 그렇지 않다' 방향은 내향성을 나타냅니다.

여기서 내향성 점수와 외향성 점수를 변수로 만듭니다.

외향성 점수 = 질문1 '그렇지 않다' 보기 점수 + 질문1 '매우 그렇지 않다' 보기 점수 + 질문2 '그렇다' 보기 점수 + 질문2 '매우 그렇다' 보기 점수

내향성 점수 = 질문1 '그렇다' 보기 점수 + 질문1 '매우 그렇다' 보기 점수 + 질문2 '그렇지 않다' 보기 점수 + 질문2 '매우 그렇지 않다' 보기 점수

보기 점수는 해당 보기가 답변으로 선택되었을 때만 그 보기에 할당된 점수가 계산됩니다. 만약 해당 보기가 답변으로 선택되지 않으면 0으로 계산됩니다.

그렇기 때문에 위 외향성 점수 및 내향성 점수는 해당 보기들을 선택한 경우에만 그 점수들이 합산되어 내향성과 외향성을 나타내는 점수를 계산해 냅니다. (질문1의 점수들이 1점 더 많은 이유는 동점 상황을 만들지 않기 위한 것일 뿐입니다.)

이제 외향성과 내향성 점수를 알았으니 외향성과 내향성을 판단하는 변수를 만듭니다.

외향성 내향성 판단 = 외향성 점수 - 내향성 점수

'외향성 내향성 판단' 변수의 값이 양수면 이 답변자는 외향성이 강한 사람이고 음수면 내향성이 강한 사람이라고 판단할 수 있습니다.

이제 이 답변자가 외향적임을 안내하는 페이지와 내향적임을 안내하는 페이지 두 개를 추가한 후 '외향성 내향성 판단' 변수를 조건으로 하는 Jump to 페이지 로직을 만들어 '외향성 내향성 판단' 변수가 양수면 외향적임을 안내하는 페이지로, 음수면 내향적임을 안내하는 페이지로 이동시킵니다.

반드시 유념하셔야 할 점은, 정의된 변수를 조건으로 하는 Jump to 및 End survey 로직을 설정할 때는 반드시 WHEN 설정까지 수동으로 직접 해 주셔야 합니다. 변수의 경우 여러 질문들의 점수가 변수에 포함될 수 있고, 질문들에 답변을 진행하는 과정에서 계속해서 변수의 값이 변할 수 있기 때문에 어느 시점에서 로직을 수행해야는지 자동으로 판단하기 어렵습니다. 그래서 반드시 사용자가 직접 WHEN 설정을 해 주어야 합니다. (Show/Hide 로직은 항상 실시간으로 판단하기 때문에 직접 WHEN 설정을 하지 않아도 됩니다.)

*** 기본적인 Jump to 및 End survey 로직의 사용법에 대해서는 '모아폼 로직(기본) 배워보기' 편을 참고해 주세요. ***