VTL이란?
VTL은 Variable Transform Language의 약자로, 오픈서베이가 변수를 조합하는 작업을 처리하기 위해 활용하는 언어 체계입니다. 리코드·조합·수식 등 다양한 변수 생성 작업을 마우스로 버튼을 클릭하는 GUI 기반으로 진행하면 많은 양의 작업을 빠르게 처리하기 어려운데, 이런 경우 VTL을 직접 입력하는 방식으로 새로운 변수를 생성하거나 조합할 수 있습니다.
VTL 문법 및 언어 체계는 아래 아티클을 통해 살펴볼 수 있습니다.
VTL 기능 화면 구성 알아보기
① 변수 생성
변수 생성은 VTL 작업을 마친 뒤 변수를 생성하는 버튼입니다. 버튼을 누르면 새 변수 미리보기 화면에서 상세 현황을 미리 살펴볼 수 있고, 여기서 [완료] 버튼을 누르면 변수 생성이 완료됩니다. 생성된 변수는 변수 목록 화면에서 확인할 수 있습니다.
② 새 변수 이름·라벨·유형 작성 영역
VTL 기능을 이용해서 생성할 새 변수의 이름 및 라벨을 작성하고 변수 유형을 지정하는 영역입니다.
새 변수 이름: 새롭게 만들 변수 이름을 지정할 수 있습니다. 기존 변수명과 동일할 경우 변수 생성 시 중복되는 변수명을 변경해달라는 안내 문구가 나타납니다.
새 변수 라벨: 새롭게 만들 변수의 질문지 텍스트를 변경합니다. 응답자 친화적인 설문 경험을 위해 작성한 긴 질문지를 짧게 변경하는 등 자유롭게 수정할 수 있습니다.
새 변수 유형: VTL 작업을 통해 새롭게 만들 변수 유형을 어떻게 지정할지를 선택할 수 있습니다.
③ 새 변수 VTL 작성 영역
새롭게 생성하거나 조합할 변수의 VTL을 작성하는 영역입니다.
새 변수의 이름, 라벨, 유형을 지정한 뒤 생성할 변수의 VTL 작성까지 마치면, 아래 [값 라벨 입력하기] 버튼이 활성화됩니다. 이때 해당 버튼을 누르면 값 라벨 입력 화면으로 전환됩니다. 만약 작성한 VTL 문법에 문제가 있다면 VTL 작성 필드 아래에 오류 안내 문구가 표시됩니다. 안내를 살펴본 뒤 변수 이름, 라벨, 유형을 알맞게 다시 지정하거나 VTL을 다시 작성해 주세요.
VTL은 아래 VTL 예시나 VTL 문법 및 언어 체계 문서를 참고해서 작성할 수 있습니다.
④ VTL 예시
변수 생성 시 가장 자주 쓰이는 리코드·조합·수식 기능을 기준으로 VTL 예시를 안내합니다.
리코드 기능으로 한 변수의 값을 그룹핑할 때
예시 상황 | VTL 문법 |
Q1에서 1번 값은 1번 값으로 묶고, 2~4번 값은 2번 값으로 묶고, 5~9번 값은 3번 값으로 묶을때 사용 | case when v'Q1'==1 then 1 when v'Q1' in [2,3,4] then 2 when v'Q1' between [5,9] then 3 end |
조합 기능으로 여러 변수의 특정 기준으로 응답한 응답자를 그룹핑할 때
예시 상황 | VTL 문법 |
Q1에서 1번 값을 선택하고, Q2에서 2번 값을 선택한 경우 1번 값으로 묶고,Q1에서 1번 값보다 큰 값을 선택하고 Q2에서 1번 값보다 큰 값을 선택한 경우 2번 값을 묶고, Q1에서 1번 값을 선택했거나 Q2에서 1번 값을 선택했을 경우 3번 값으로 묶을때 사용 | case when v'Q1'==1 and v'Q2'==1 then 1 when v'Q1' > 1 and v'Q2' > 1 then 2 when v'Q1'==1 or v'Q2'==1 then 3 end |
수식 기능으로 변수 값끼리 연산해서 새로운 변수를 만들 때
예시 상황 | VTL 문법 |
Q1은 0.5를 곱하고, Q2는 2를 곱한 뒤, Q1과 Q2를 더하기할 때 사용 | (v'Q1' * 0.5) + (v'Q2' * 2) |
이외에도 구체적인 VTL 문법이나 언어 체계를 살펴보고 싶다면 아래 링크를 참고할 수 있습니다.
⑤ 값 라벨 입력하기
VTL 기능 화면에서 새 변수의 이름, 라벨, 유형을 지정하고 생성할 변수의 VTL 작성까지 마친 뒤에 누르는 버튼입니다.
[값 라벨 입력하기] 버튼을 누르면 값 라벨 입력 화면으로 전환되며 여기서 새 값의 라벨을 입력하거나 기타 및 없음 지정을 할 수 있습니다. 또한, 새로운 값을 추가할 수도 있습니다.
새 변수 VTL 영역에 있는 [변경] 버튼을 누르면 VTL 기능 첫 화면으로 돌아갑니다. 돌아간 화면에는 이전에 입력한 새 변수의 이름, 라벨, 유형 및 새 변수 VTL 작업 내역이 그대로 보존되어 있습니다.