x

주요 장

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. 빠른 시작 가이드 - LimeSurvey 3.0+
  3. 설치 - LimeSurvey CE
  4. 좋은 설문조사를 디자인하는 방법(가이드)
  5. 시작하기
  6. LimeSurvey 관리
  7. 설문조사 - 소개
  8. 설문조사 설정
  9. 설문조사 메뉴
  10. 설문 조사 구조
  11. 질문 - 소개
  12. 질문 그룹 - 소개
  13. 설문조사 관리
  14. 설문조사 도구 모음 옵션
  15. 다국어 설문조사
  16. ExpressionScript 엔진 - 빠른 시작 가이드
  17. 미분류 및 고급 기능
  18. 일반 FAQ
  19. 문제 해결
  20. 해결 방법
  21. 특허
  22. 버전 변경 로그
  23. 플러그인 - 고급
 Actions

설문조사 논리 검사 - 고급

From LimeSurvey Manual

이 페이지는 기계 번역되었을 수 있으며 오류가 포함되어 있을 수 있습니다. 영어 원문 보기 · 이 번역 개선하기
This page is a translated version of the page Check survey logic - Advanced and the translation is 100% complete.


일반

복잡한 설문조사를 생성하고 쉽게 유지 관리하는 데 도움이 되는 중요한 옵션은 설문조사 논리 검사입니다.

설문조사를 개발하고 테스트하는 과정 전반에서, 그리고 설문조사를 활성화하기 전에 설문조사 논리를 검증하는 것은 매우 중요합니다. 특히 복잡한 관련성 수식, 테일러링, 유효성 검사 수식을 사용하는 경우에는 설문조사를 실행할 때 문제가 발생하지 않는지 반드시 확인해야 합니다.

이 기능을 사용하면 설문조사, 그룹 및 질문이 올바른지 빠르게 검증할 수 있습니다. 설문조사 관련 설정 아래에 있는 상단 바 메뉴 옵션에서 접근할 수 있으며, 도구 메뉴에서 사용할 수 있습니다:



위 화면에서 볼 수 있듯이, 설문조사에 사용된 각 언어별로 이 옵션을 실행할 수 있습니다.

설명

설문조사 논리 검사 옵션은 각 질문과 그룹에 대해 지정한 모든 내용(예: 이름, 텍스트, 도움말, 조건/관련성, 유효성 검사 규칙, 기본값, 하위 질문, 응답)을 보기 편한 표 형식으로 보여 줍니다. 오류를 강조 표시하며, 질문 및 그룹 ID(또는 수식에 사용된 변수)를 클릭하면 새 브라우저 탭이 열려 해당 질문이나 그룹을 편집할 수 있습니다. 따라서 오류를 빠르게 수정하고 논리 검사 페이지를 새로 고쳐, 설문조사를 활성화하기 전에 설문조사가 올바른지 쉽게 확인할 수 있습니다.

이 화면은 연구자와 연구 후원자도 읽기 쉽도록 설계되어, 설문조사 설계와 논리가 올바른지 직접 검증할 수 있습니다. 설문조사 논리를 검사하면 활성 설문조사에 사용된 모든 표현식의 캐시가 업데이트됩니다.

다음 열이 포함됩니다:

  • # - 0부터 시작하는 그룹 및 질문의 순서 번호를 표시합니다.
  • 이름 [ID] - 그룹/질문/하위 질문의 질문 코드를 표시합니다. 이 코드는 표현식 내에서 변수로 사용할 수 있습니다. ID는 질문 ID(QID) 또는 그룹 ID(GID)입니다. 이 필드에는 질문 유형(예: 다수 답안 [M])도 표시됩니다.


표현식에서 사용할 수 있는 변수에 대해 더 알아보려면 다음 위키 하위 섹션을 읽어 보십시오.


  • 첨부 조건 [유효성] (초기화) - 다음을 표시합니다:
    • 첨부 조건 - 질문 또는 그룹에 대한 구문 강조된 관련성 수식입니다. 항상 참인 경우(어떤 시나리오에서도 표시되는 경우) 값은 1입니다.
    • 유효성 - ExpressionScript는 선택한 질문 속성(예: 최소/최대 응답 수, 최소/최대/동일 합계 값, 최소/최대 개별 값 또는 정규표현식 유효성 검사)을 기반으로 유효성 검사 수식을 자동으로 생성합니다. 이 섹션에는 생성된 유효성 검사 수식이 표시되므로 정의되지 않은 변수 등 오류가 있는지 확인할 수 있습니다.
      • 질문 수준 유효성 검사는 위에서 설명한 질문 속성을 확인하는 데 필요한 수식을 보여 줍니다.
      • 하위 질문 수준 유효성 검사는 array_filter, array_filter_exclude, exclusive_option을 구현하는 데 필요한 수식을 보여 줍니다.
    • 기본값 - 질문에 기본값이 있으면 여기에 구문 강조되어 표시됩니다(기본값이 표현식일 수 있기 때문입니다).
  • 텍스트 [도움말] (팁) - 다음을 표시합니다:
    • 텍스트 - 그룹, 질문, 하위 질문 또는 응답의 텍스트입니다. 포함된 테일러링을 보여 주도록 구문 강조되므로, 테일러링에 사용하려는 모든 변수를 선언했는지 확인할 수 있습니다.
    • 도움말 - 질문의 도움말 텍스트를 표시하며, 마찬가지로 구문 강조됩니다.
    • 팁 - 질문 속성을 기반으로 내부에서 생성된 유효성 검사 팁을 표시합니다. 이 팁은 모든 설문조사 스타일은 물론 인쇄 가능한 설문조사와 데이터 입력 화면에서도 동일하게 사용됩니다.
    • 질문 속성 - 이 질문과 관련된 모든 질문 속성의 표를 표시합니다. 수식일 수 있는 속성은 구문 강조되어 정확성을 검증할 수 있습니다.

행은 다음과 같이 색상으로 구분됩니다:

  • 그룹 - 연한 회색 배경으로 표시됩니다
  • 질문 - 연한 녹색 배경으로 표시됩니다
  • 하위 질문 - 옅은 노란색 배경으로 표시됩니다
  • 응답 - 단순한 흰색 배경으로 표시됩니다

응답에는 첨부 조건 열에 추가 속성이 있습니다:

  • 값 - 계산에 사용되는 기본 내부 값입니다. 평가를 사용하는 경우 평가 값이 됩니다. 그렇지 않으면 응답 이름과 동일합니다.


설문조사 설명, 시작 및 종료 메시지, 종료 URL, 설문조사 데이터처리방침 안내와 레이블은 해당 필드가 비어 있지 않은 경우 설문조사 논리 검사 화면(표 위쪽)에 표시됩니다!

사용법

페이지 상단에는 요약 메시지가 있습니다. 문제가 없으면 "이 설문조사에서 구문 오류가 검출되지 않습니다" 또는 "이 그룹"이나 "이 질문"은 "자체적으로 구문 오류를 포함하고 있지 않습니다"라고 표시됩니다. 그렇지 않은 경우에는 "X개의 질문에 수정해야 할 구문 오류가 있습니다"라고 표시됩니다.

구문 오류가 있는 각 질문은 가장 왼쪽 열(즉, #)의 배경이 빨간색으로 표시됩니다. 또한 이름 [ID] 열 아래에 해당 질문의 최소 오류 수를 알리는 경고가 표시됩니다. 다음과 같은 오류가 흔히 발생합니다:

  • 정의되지 않은 변수 - 모든 변수를 정의하지 않았거나 array_filter를 잘못 입력한 경우(또는 array_filter에 서로 다른 응답 옵션 세트를 사용한 경우), 일부 유효성 검사 질문에 오류가 표시됩니다. 정의되지 않은 변수는 빨간색 텍스트로 표시되며 빨간 선으로 둘러싸입니다.
  • 잘못된 구문 - 관련성 수식을 사용하기 시작하면 괄호를 너무 많이 또는 너무 적게 사용할 수 있습니다. 이러한 구문 문제는 강조 표시되고 빨간색 상자로 둘러싸입니다. 빨간 상자로 표시된 텍스트 위에 마우스를 올리면 툴팁에 오류 내용이 표시됩니다.

ExpressScript 구문의 색상

조건과 수식은 무엇을 보고 있는지 쉽게 파악할 수 있도록 구문 강조됩니다:

  1. 녹색 / 연한 파란색: 설문조사에서 앞에 있는 질문을 참조하는 변수
  2. 파란색: 함수
  3. 회색: 문자열 표현식
  4. 갈색: TOKEN 표현식(참여자 데이터)
  5. 검은색: 연산자

확인해야 할 사항:

  1. 보라색: 설문조사에서 뒤에 있는 질문을 참조하는 변수. 대개 오류이므로 확인해야 합니다.
  2. 빨간색 또는 빨간 테두리: 존재하지 않는 변수, 앞 질문에 대한 잘못된 참조 또는 구문 오류 - 대개 확인이 필요합니다.


정의되지 않은 변수

정의되지 않은 변수를 사용하면 해당 변수 이름이 빨간색으로 표시되고 빨간 선으로 둘러싸입니다. 변수 이름 위에 마우스를 올리면 "정의되지 않은 변수"라고 표시됩니다:



  주의 : LimeSurvey에서는 설문조사 관리자가 동일한 질문 코드를 사용하는 질문을 생성할 수 없습니다. 그러나 이미 정의된 질문 중 하나와 동일한 질문 코드를 사용하는 질문 그룹이나 질문을 가져오기하면 설문조사 내에 유사한 질문 코드가 존재할 수 있습니다. 질문 ID가 서로 다르기 때문에 해당 질문은 그대로 가져올 수 있습니다. 하지만 설문조사 결과를 내보내기하여 R이나 SPSS에서 추가로 분석하려는 경우, 질문 코드가 변수로 인식되므로 주의하십시오!



}}

잘못된 구문

표현식과 관련된 대부분의 오류는 잘못된 구문에서 비롯됩니다. 이는 설문조사 관리자가 중괄호를 빠뜨리거나, 괄호를 올바르게 사용하지 못하거나, 표현식을 잘못 사용하는 경우가 많기 때문입니다.



구문 강조 사용에 대한 좋은 예시가 여기에 많이 있습니다.


잘못된 사용자 지정 JavaScript

JavaScript 오류도 설문조사 논리 검사에서 강조 표시됩니다.


편집 및 유효성 검사 속도 높이기

구문 강조가 적용된 모든 텍스트에는 툴팁이 포함되어 있으며, 클릭할 수 있습니다.

  1. 툴팁
    • 함수 - 마우스를 올리면 해당 함수의 용도와 구문 정의를 확인할 수 있습니다.
    • 변수 이름 - 마우스를 올리면 해당 질문의 위치(그룹, 질문 순서), 질문 텍스트 및 허용되는 응답을 확인할 수 있습니다.
  2. 동작
    • 변수 이름 - 변수 이름을 클릭하면 질문을 편집할 수 있는 새 창이 열립니다. 따라서 논리를 쉽게 탐색하고 검증할 수 있습니다. 질문의 관련성 또는 유효성 검사 기준에 있는 변수 이름을 계속 클릭하면 해당 변수가 어디에서 왔고 어떻게 사용되는지 확인할 수 있습니다.


예시

다음 예시는 ExpressionScript 샘플 설문조사에서 가져온 것입니다. 해당 페이지에서 실행 중인 설문조사의 스크린샷, 설명 및 다운로드를 확인할 수 있습니다.


체질량지수

이 예시의 스크린샷은 다음과 같습니다.

체질량지수(BMI) 계산의 질문 재정렬 보기입니다. 질문 열 아래에서 체중, 키 및 BMI의 관련성 수식을 확인할 수 있습니다.



설문조사를 더 잘 파악하려면 설문조사 논리 검사 페이지를 확인하십시오.



이 설문조사 예시는 "weightstatus"를 생성하기 위해 중첩된 if() 문을 사용하는 좋은 예이기도 합니다.


연쇄 논리

이 예시의 스크린샷은 다음과 같습니다.

array_filter 및 array_filter_exclude를 사용할 때 자동으로 생성되는 하위 질문 유효성 검사 논리를 보여 줍니다. 또한 이 예시에서는 맞춤형 "기타" 값을 대체하는 방법(Q02_other의 응답은 Q01_other)도 보여 줍니다.



이 예시의 Q05는 Q01과 Q02에 각각 array_filter와 array_filter_exclude를 동시에 사용하는 경우를 보여 줍니다. 이 예시는 연쇄 array_filter 기능을 설명합니다. 질문 및 하위 질문 수준의 유효성 검사 기준을 표시하는 주된 이유 중 하나는 array_filter 또는 array_filter_exclude 변수 이름을 지정할 때(또는 필터링된 하위 질문 목록에 서로 다른 변수 이름을 사용하는 경우) 오타가 없는지 확인하는 데 도움을 주기 위해서입니다. 이러한 오타가 있으면 잘못된 변수 이름이 모두 정의되지 않았음을 나타내는 빨간색으로 표시되므로 문제를 빠르게 수정할 수 있습니다.



동적 관련성

이 예시는 질문 표시 여부를 제어하는 동적 연쇄 관련성 논리를 보여 줍니다. 이 예시는 여기에서 다운로드할 수 있습니다.

또한 특정 유효성 검사 기준이 충족될 때에만 질문이 표시된다는 점에 유의하십시오. 예를 들어 응답자가 자녀가 2명이라고 답하면, 해당 응답자는 특정 질문(kid1 및 kid2)에 반드시 응답해야 합니다.


그룹 수준 관련성

이 예제는 그룹 수준 관련성이 논리 검사에서 어떻게 표시되는지 보여 줍니다. 아래에 설명된 예제의 스크린샷을 확인해 보세요.

보시다시피 그룹 수준 관련성 수식(cohabs > 1 && p1_rel != "")은 G-2의 회색 Person 2 행에 표시됩니다.

모든 질문이 필수로 설정되어 있다는 점도 확인할 수 있습니다. 그러나 그룹이 관련성이 없으면 해당 그룹의 모든 질문도 관련성이 없습니다. 따라서 이러한 질문은 그룹이 관련성이 있을 때만 실제로 필수입니다.

또한 일부 질문은 이전 질문의 응답이 비어 있지 않은 경우에만 표시됩니다. 아래에서 p2_sex가 입력되지 않으면 p2_name은 필수 질문이더라도 표시되지 않습니다. 필수 질문인 p2_age 역시 p2_name이 입력되지 않으면 표시되지 않습니다. 이러한 질문은 "조건부 필수"로 볼 수 있습니다.

또한 팁 메시지도 자동으로 생성됩니다. 팁은 값 범위(최소/최대), 합계 값 범위(최소/최대/같음), 응답 수(최소/최대) 등으로 구성되며, 사용된 질문 유형과 활성화된 속성에 따라 달라집니다. 응답 범위는 검증하고 싶지만 사용자에게 불필요해 보일 수 있는 유효성 검사 팁은 표시하고 싶지 않을 때가 있습니다. 이러한 경우 hide_tip 질문 옵션을 사용할 수 있습니다. 이 예제에서는 잘못된 값을 입력하려고 할 때까지 나이가 0에서 115 사이여야 한다는 안내를 사용자에게 표시하지 않기 위해 이 옵션을 사용했습니다(p2_age 참조).


쉼표를 소수점 구분 기호로 사용

LimeSurvey는 실행 시 쉼표를 소수점 구분 기호로 사용하는 것을 완벽하게 지원하지만, 설계 시(예: 고급 질문 속성에서 최소/최대 값을 지정할 때)에는 소수점 구분 기호로 마침표를 사용해야 합니다. 작동 예제는 여기에서 확인할 수 있습니다.

또한 유효성 검사 논리는 활성화된 질문 속성에 따라 자동으로 생성된다는 점을 기억하세요. 수식이 복잡해 보일 수 있지만 걱정하실 필요는 없습니다.