보고서 템플릿

Survey123 웹사이트의 보고서 기능을 사용하면 맞춤화된 템플릿을 만들어 여러 보고서를 한 번에 작성할 수 있습니다.

보고서는 다음을 포함할 수 있습니다.

  • 요약 섹션
  • 단일 현장조사 레코드
  • 단일 현장조사 레코드와 요약 섹션
  • 여러 개의 현장조사 레코드
  • 여러 개의 현장조사 레코드와 요약 섹션
비고:

보고서 인쇄는 ArcGIS Online 프리미엄 서비스로, 크레딧이 소모됩니다. 자세한 내용은 보고서 인쇄를 참고하세요.

ArcGIS Enterprise의 보고서 인쇄에는 크레딧이 사용되지 않지만 제한이 있습니다.

보고서 템플릿은 특정 구문이 포함된 플레이스 홀더 텍스트를 제공하는 Microsoft Word 파일(.docx)입니다. 보고서를 인쇄할 때 이 플레이스 홀더 텍스트는 현장조사 응답의 해당 필드 콘텐츠로 대체됩니다. 해당 플레이스 홀더 텍스트를 모든 서식, 테이블, 이미지, 기타 개인 설정과 함께 사용하여 요구 사항에 맞는 템플릿을 생성할 수 있습니다.

템플릿을 생성하려면 데이터 탭의 맵 위에 있는 막대에서 보고서 버튼을 클릭하고, 템플릿 관리를 클릭합니다. 샘플을 다운로드하거나 새 템플릿을 업로드하거나 기존 템플릿의 이름과 요약을 편집할 수 있는 새 창이 나타납니다. 새 보고서 템플릿을 업로드하고 해당 템플릿의 이름과 요약도 제공하려면 새 템플릿을 클릭합니다. 또는 샘플 템플릿 다운로드 링크를 사용하여 현장조사를 기반으로 하는 샘플 템플릿을 다운로드할 수도 있습니다.

비고:

보고서 템플릿은 현장조사 소유자 및 기관 관리자만 업로드할 수 있습니다.

현장조사 결과를 모든 사용자, 기관 또는 그룹과 공유하면 현장조사와 연관된 보고서 템플릿도 공유됩니다.

질문에 대한 응답은 {}과(와) 같이 중괄호로 묶인 이름과 그 앞에 달러 기호를 입력하여 보고서 템플릿에 표시할 수 있습니다. 식에 포함된 모든 문자열 값은 큰따옴표로 묶어야 합니다.

다음은 firstname이라는 텍스트 질문의 응답을 표시합니다.

${firstname}

보고서에 질문에 대한 응답을 표시하는 것 외에도 키워드를 사용하여 다른 유용한 정보를 표시할 수 있습니다. 다음은 보고서를 인쇄할 때 현재 날짜 및 시간을 표시합니다.

${$date}

결과가 배열인 경우 중괄호 내에 #을 시작 태그로 사용하고 /를 종료 태그로 사용하여 배열을 반복 처리할 수 있습니다. 다음은 모든 이미지 파일을 각 라인에 출력합니다.

${#image1}
${$file}
${/}

식을 사용하여 응답이 표시되는 방식을 세부 조정할 수도 있습니다. 식은 단일 질문 이름이나 키워드(위와 같이), 하나 이상의 질문이나 키워드가 포함된 계산 또는 응답에 스타일을 제한하거나 적용하기 위한 메소드 및 매개변수가 포함된 질문 이름이나 키워드일 수 있습니다. 식은 다음 표기법을 사용합니다.

${questionname or keyword | method:parameter}

식에는 여러 방법과 매개변수가 포함될 수 있고 전혀 포함되지 않을 수도 있습니다. 매개변수는 다른 질문의 값이거나 고정 값일 수 있습니다.

다음 식은 floweringtrees 숫자 질문을 totaltrees 숫자 질문으로 나눈 계산을 표시합니다. 동일한 식에서 여러 질문을 참조할 때 개별 질문 이름을 직접 지정하면 추가 중괄호가 필요하지 않습니다.

${floweringtrees / totaltrees}

다음 식은 위치(location) 질문의 x 좌표 값을 표시합니다. 여기서 getValue는 방법이고 x는 매개변수입니다.

${location | getValue:"x"}

다음 식은 fruitcolor라는 질문에 대한 응답이 red가 아닌 경우에 true로 평가됩니다.

${if fruitcolor!="red"}The fruit is not red.${/}

문자열은 더하기 기호로 결합하여 식에서 연결할 수 있습니다. 이 식은 해당 연결을 통해 field_0이라는 질문의 콘텐츠를 QR code-generating 서비스에 전달하여 질문 응답에 대한 QR 코드를 생성합니다.

${$image | src:"https://barcode.tec-it.com/barcode.ashx?code=QRCode&data="+field_0}

모든 질문 유형이 식과 방법을 지원하는 것은 아닙니다. 다음 테이블에는 질문 유형에 사용할 수 있는 메소드와 매개변수가 나와 있습니다.

메소드매개변수Connect 질문 유형웹디자이너 질문 유형설명

getValue

-

모든 질문 유형

모든 질문 유형

피처 레이어에서 원시 데이터 값을 검색하거나 첨부 파일에서 원시 이미지를 검색합니다.

getValue

x, y, z, wkid

지오포인트

지정된 공간 기준 체계에서 x, y, z 좌표를 개별적으로 검색합니다. wkid 매개변수는 선택 사항이며 생략된 경우 피처 레이어의 공간 기준 체계와 동일합니다.

getValue

길이, 면적, 단위, 측정 유형

지오추적, 지오쉐이프

폴리라인의 길이나 폴리곤의 둘레 또는 면적을 지정된 단위로 반환하고 측정 값이 평면이거나 측지인지 여부를 반환합니다. 기본 측정 유형은 측지입니다.

getValue

이름, 크기

이미지, 오디오, 파일

이미지, 서명, 오디오, 파일

파일 이름과 첨부 파일의 크기를 반환합니다.

getValue

너비, 높이, x, y, 날짜, 시간, 방향

이미지

이미지, 서명

너비와 높이는 픽셀 단위로 이미지 너비와 높이의 정수 값을 반환하고 x, y, 날짜, 시간, 방향은 존재하는 경우 이미지 EXIF에서 읽은 값을 반환합니다.

getValue

개수

반복 시작, 이미지, 오디오, 파일

반복, 이미지, 서명, 오디오, 파일

반복 또는 첨부 파일의 총 개수를 반환합니다.

getValue

위치

반복 시작, 이미지, 오디오, 파일

반복, 이미지, 서명, 오디오, 파일

배열에서 색인이 1인 위치와 동일한 정수를 반환합니다.

getValue

기간

오디오, 파일

오디오, 파일

오디오 녹음의 길이(초)를 반환합니다.

주의:

Safari 사용 시 웹 앱에서 수집된 응답에서는 기간이 반환되지 않습니다.

모양

다중 행

텍스트

여러 줄 텍스트

문자열에서 줄바꿈을 유지하는 데 사용됩니다. 모양이 지정되지 않은 경우 답변은 단일 행 문자열을 반환합니다.

모양

글머리 기호

선다형

선다형

글머리 기호 형식으로 답변을 반환합니다.

선택

선택 항목 이름

select_one, select_multiple

선다형, 단답형, 단답형 격자, 드롭다운, 리커트 척도, 평점

필드 값이 선택 항목 이름과 같으면 선택한 체크 박스를 반환하고, 그렇지 않으면 선택하지 않은 체크 박스를 반환합니다.

선택함

선택 항목 이름

select_one, select_multiple

선다형, 단답형, 단답형 격자, 드롭다운, 리커트 척도, 평점

코드 값 도메인이 있는 경우 필드 값이 선택 항목 이름과 같으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

countSelected

-

select_one, select_multiple

선다형, 단답형, 단답형 격자, 드롭다운, 리커트 척도, 평점

선택한 항목의 숫자를 반환합니다.

selectedAt

색인

select_one, select_multiple

선다형, 단답형, 단답형 격자, 드롭다운, 리커트 척도, 평점

선택 목록의 색인 위치에 있는 문자열을 반환합니다. 색인은 0부터 시작됩니다.

로캘

언어 코드

날짜, 날짜와 시간, 시작, 종료, 소수

날짜, 날짜와 시간, 숫자

현지화된 날짜, 시간, 숫자를 반환합니다.

형식

형식 문자열

날짜, 날짜와 시간, 정수, 소수, 시작, 종료

날짜, 날짜와 시간

서식이 지정된 날짜 문자열을 반환합니다.

utcOffset

오프셋 값

날짜, 날짜와 시간, 시작, 종료

날짜, 날짜와 시간

협정 세계시(UTC) 오프셋 값으로 이동된 날짜 또는 날짜-시간 값을 반환합니다.

mapSettings

웹 맵 항목 ID, 맵 축척

지오포인트, 지오추적, 지오쉐이프

맵 이미지를 인쇄할 때 베이스맵과 축척을 지정합니다.

레거시:

맵 및 mapScale로 대체됩니다.

mapExtent

xmin, ymin, xmax, ymax, wkid

지오포인트, 지오추적, 지오쉐이프

맵 이미지를 인쇄할 때 고정된 맵 범위를 지정합니다. wkid 매개변수는 선택 사항이며 생략하는 경우 4326(WGS 1984)으로 설정됩니다.

웹 맵 항목 ID

지오포인트, 지오추적, 지오쉐이프

맵 이미지를 인쇄할 때 베이스맵을 지정합니다.

mapScale

맵 축척

지오포인트, 지오추적, 지오쉐이프

맵 이미지를 인쇄할 때 맵 축척을 지정합니다.

mapFilters

웹 맵 JSON의 레이어 ID, 쿼리 매개변수

지오포인트, 지오추적, 지오쉐이프

맵 이미지를 인쇄할 때 웹 맵에서 하나 이상의 피처 레이어 필터를 지정합니다.

회전

지오포인트, 지오추적, 지오쉐이프, 이미지

맵, 이미지

맵 또는 이미지의 회전각을 지정합니다.

drawingInfo

현재 레이어, 피처 레이어 URL

지오포인트, 지오추적, 지오쉐이프

심볼, 레이블, 투명도를 포함하여 맵 이미지를 인쇄할 때 그리기 정보를 지정합니다.

src

이미지 URL

-

-

동적 이미지 요소의 원본 URL을 지정합니다.

크기

너비, 높이, 최대 너비, 최대 높이

이미지

이미지

인쇄된 이미지의 크기를 지정합니다.

round

장소

소수, 지오포인트, 지오쉐이프, 지오추적

숫자

소수를 지정된 소수 자릿수로 반올림합니다.

useGrouping

불린

decimal

숫자

true인 경우 로캘에 따른 그룹화 구분자가 있는 숫자가 반환되며, false인 경우 구분자가 사용되지 않습니다.

toFixed

장소

소수, 지오포인트, 지오쉐이프, 지오추적

숫자

소수점 이하 고정 자릿수를 지정합니다. 고정 자릿수를 충족하기 위해 필요한 경우 0으로 채워집니다.

다음 테이블에는 식에 사용할 수 있는 모든 키워드가 나와 있습니다.

키워드설명

$date

보고서를 인쇄할 때 현재 날짜 및 시간을 삽입합니다. 기본 설정에 따라 현재 날짜를 현재 로캘 형식으로 출력합니다.

예:

${$date | format:"MM/DD/YYYY"}
$($date | utcOffset:"+08:00"}
$($date | locale:"zh-cn"}

$image

보고서에 이미지 요소를 삽입합니다. src 메소드를 사용하여 이미지 URL을 지정합니다.

예:

${$image | src:"https://upload.wikimedia.org/wikipedia/commons/1/13/Esri_Headquarters%2C_Building_Q.jpg"}

$map

현장조사 질문을 참조하지 않고 보고서에 맵 요소를 삽입합니다.

예:

${$map | map:"10df2279f9684e4a9f6a7f08febac2a9" | mapScale:4000000 | size:200:100}

$shape

맵에 현재 피처의 지오메트리(포인트, 폴리라인, 폴리곤)를 인쇄합니다.

예:

${$shape}
${$shape | map:"10df2279f9684e4a9f6a7f08febac2a9" | mapScale:4000000 | size:200:100}

$attachment

현재 피처의 첫 번째 첨부 파일 또는 모든 첨부 파일을 나타냅니다.

예:

${$attachment | getValue:"name"}
${$attachment | getValue:"size"}
${$attachment | size:200:300}

모든 첨부 파일을 반복 처리하려면 시작 및 종료 태그를 포함합니다.

${#$attachment}
${$file}
${/}

$file

첨부 파일 현장조사 질문의 여러 파일 또는 피처의 첨부 파일을 반복 처리할 때 현재 파일을 나타냅니다.

예:

${#image1}
${$file | size:460:0}
{/}

${#$attachment}
${$file | getValue:"position"}. ${$file | getValue:"name"}
${/}

$feature

피처 배열 내의 현재 피처를 나타냅니다.

예:

{#repeat1}
{$feature | getValue: "position"}
{/}

$layers["<layername>"] 또는

$layers[<layerId>]

현장조사 레이어와 동일한 피처 서비스에서 이름 또는 ID로 레이어를 참조합니다.

예:

${$layers["cities"] | where:”1=1 !important” | stats:”count,objectid”}
${#$layers["states"]}...${/}

템플릿 관리 창에서 빠른 레퍼런스는 현장조사의 각 질문에 대해 보고서에 표시된 응답을 수정할 수 있는 식에 대한 구문 예시가 포함된 페이지를 엽니다. 이 구문을 복사하려면 클립보드에 복사 버튼을 클릭한 다음 템플릿 문서에 구문을 붙여넣습니다. 템플릿이 업로드되고 나면 보고서 패널의 옵션을 사용하여 보고서를 생성합니다. 자세한 내용은 보고서 인쇄를 참고하세요.

구문 예시가 포함된 보고서 빠른 레퍼런스

다음 섹션에서는 각 질문 유형에 대한 식의 일반적인 사용 시나리오를 설명하고 예시를 제공합니다.

텍스트

Survey123 웹 디자이너에서 여러 줄 텍스트 질문을 추가하거나 Survey123 Connect에서 텍스트 질문에 대해 다중 행 모양을 사용하여 생성된 여러 줄 텍스트 질문은 기본 설정에 따라 캐리지 리턴을 무시하며 응답을 단일 텍스트 블록으로 표시합니다. 다음과 같이 식을 사용하여 캐리지 리턴이 포함된 질문에 대한 응답을 표시할 수 있습니다.

${multilinetext1 | appearance:"multiline"}

이 식은 지정 라인에 배치해야 하며 그렇지 않을 경우 오류가 발생합니다.

숫자

기본적인 수학 연산자를 숫자 질문과 함께 사용할 수 있습니다. 이는 이러한 질문에 대한 응답의 계수를 더하거나 빼거나 곱하거나 나누거나 찾는 데 활용할 수 있습니다. 예를 들면 다음과 같습니다.

${number1 - 15}

${number1 * 6}

${number1 / number2}

${number1 % number2}

팁:

식에 복잡한 수학식이 포함되는 경우 보고서 생성에 의해 원하는 결과가 생성되도록 괄호 사용을 고려하세요.

소수 질문의 경우 round 식을 사용하면 값이 반올림되는 최대 소수 자릿수를 설정할 수 있습니다. 다음 예시에서는 숫자 3.141592를 소수점 이하 네 자리인 3.1416으로 반올림합니다.

${decimal1 | round:4}

toFixed 식을 사용하면 값이 반올림되는 최대 소수 자릿수를 설정할 수 있습니다. 다음 예시에서는 3.14의 소수 자릿수의 숫자를 3.140으로 변경합니다.

${decimal1 | toFixed:3}

형식 식을 사용하여 플레이스 홀더 문자를 통해 숫자 질문에 대한 응답을 특정 방식으로 표시할 수 있습니다. 다음과 같은 플레이스 홀더 문자가 지원됩니다.

문자설명

.

소수 구분 기호입니다.

,

형식에 배치된 경우 첫 번째 그룹 구분 기호 플레이스 홀더 및 소수점 플레이스 홀더 또는 식의 마지막 사이 자릿수에 따라 그룹 크기가 결정되는 그룹 구분 기호를 추가합니다. 추가하지 않으면 그룹 구분 기호가 사용되지 않습니다.

0

필수 자릿수입니다. 필수 자릿수보다 응답이 작은 경우 0으로 채워집니다.

#

선택적 자릿수입니다. 제공된 자릿수보다 응답이 큰 경우 숫자가 반올림됩니다.

팁:

소수 및 1,000단위 구분 기호는 선택한 로캘에 따라 인쇄된 결과에 표시됩니다.

다음 예시에서는 필요한 경우 반올림하여 1,000단위 구분 기호를 사용하여 최대 소수점 이하 3자리까지 응답을 반환합니다.

${decimal1 | format:"#,##0.###"}

이미지 및 기타 첨부 파일

이미지 질문의 경우 보고서에 이미지가 일관된 크기로 표시되도록 크기를 설정할 수 있습니다. 이러한 식의 형식은 다음과 같습니다.

${image1 | size:width:height:max_width:max_height}

너비 및 높이 값은 이미지의 설정 크기를 픽셀 단위로 제어합니다. 이러한 값은 식에 필요하지만 0 값을 제공하면 이미지의 크기에 대한 제한이 설정되지 않습니다. 예를 들어 다음 식은 이미지의 가로 세로 비율을 유지하면서 이미지의 너비를 300픽셀로 설정합니다.

${image1 | size:300:0}

최대 높이 및 너비 값은 이미지의 최대 크기를 제한하며, 선택적 값입니다. 다음 예시에서는 이미지의 너비를 300픽셀로 설정하며 이미지의 높이를 200픽셀 이하로 제한합니다.

${image1 | size:300:0:0:200}

rotate 방법을 사용하여 이미지의 시계 방향 회전을 정의할 수 있습니다. 0부터 360까지의 값이 허용됩니다.

${image1 | size:300:0:0:200 | rotate:90}

이미지 질문의 경우 이미지 세부정보를 추출하여 현장조사 응답에 표시할 수도 있습니다. 다음과 같이 이 방법을 사용하여 이미지의 파일 이름과 크기를 표시할 수 있습니다.

${image1 | getValue:"name"}

${image1 | getValue:"size"}

${image1 | getValue:"width"}

${image1 | getValue:"height"}

또한 이미지의 EXIF 데이터를 표시하여 사진이 촬영된 위치와 시간에 대한 세부정보를 나타낼 수 있습니다.

${image1 | getValue:"x"}

${image1 | getValue:"y"}

${image1 | getValue:"date"}

${image1 | getValue:"time"}

${image1 | getValue:"direction"}

원본 이미지를 전체 크기 및 품질로 표시하려면 메소드 없이 식을 사용하거나 값 없이 getValue 식을 사용하세요.

${image1} 또는 ${image1 | getValue:""}

원본 이미지를 전체 품질 및 설정된 크기로 표시하려면 getValuesize 식을 함께 사용하세요.

${image1 | getValue:"" | size:300:0}

비고:

다른 식 매개변수를 사용하는 도중에 이미지 크기를 설정하는 경우 size를 식의 마지막에 배치해야 합니다.

날짜와 시간은 EXIF 데이터에 문자열로 저장되므로 이러한 값은 날짜 및 시간 질문에 대한 format 식을 사용하여 보고서에 서식을 지정할 수 없습니다. 이러한 값에 대한 서식 지정이 중요한 경우에는 pulldata("@exif") 함수를 사용하여 현장조사의 일부로서 EXIF 추출을 수행하는 것을 고려해보세요. 자세한 내용은 이미지를 참고하세요.

위의 getValue 식을 사용하여 이미지, 오디오 및 파일 질문의 결과를 비롯한 모든 유형의 첨부 파일에 있는 유효한 등록정보에서 데이터를 추출할 수도 있습니다. 모든 첨부 파일에서 추출할 수 있는 등록정보는 다음과 같습니다.

${file1 | getValue:"name"}

${file1 | getValue:"size"}

${file1 | getValue:"globalId"}

${file1 | getValue:"id"}

${file1 | getValue:"contentType"}

${file1 | getValue:"keywords"}

피처의 모든 첨부 파일이 이미지인 경우 각각 지정 라인에 배치된 다음 플레이스 홀더를 사용하세요.

${#$attachment}
${$file}
${/}

동일한 질문에 제출된 여러 이미지를 응답에 반환하려면 다음과 같이 $attachment 대신 이미지 질문의 이름을 사용합니다.

${#image1}
${$file}
${/}

이 방법은 ArcGIS Enterprise 10.8.1 이전 버전의 이미지를 표시하거나 Survey123 외부의 피처에 추가된 이미지를 표시하는 데 유용합니다. 다음 예시는 피처에 첨부된 모든 첨부 파일의 이름을 표시합니다.

${#$attachment}
${$file|getValue:"name"}
${/}

온라인 이미지를 표시하려면 다음과 같이 질문 이름 대신 $image 키워드를 참조할 때 해당 원본 URL에 src 식을 제공하세요.

${$image |
src:"https://upload.wikimedia.org/wikipedia/commons/1/13/Esri_Headquarters%2C_Building_Q.jpg"
| size:400:0}

맵을 사용하는 모든 질문(지오포인트, 지오추적, 지오쉐이프 포함)에는 보고서에서 프레젠테이션을 수정하는 데 사용할 수 있는 공통 메소드와 매개변수가 있습니다.

보고서의 맵은 기본 설정에 따라 질문에 대해 설정된 웹 맵을 사용합니다. 맵 축척을 0으로 설정하거나 이 매개변수를 생략하면 맵 축척은 다음과 같이 맵의 피처에 따라 결정됩니다.

  • 맵에 하나의 포인트 피처만 있는 경우 맵 축척은 질문의 축척 세트와 일치합니다.
  • 맵에 하나의 라인 또는 폴리곤 피처만 있는 경우 맵 축척은 피처의 범위에 따라 결정됩니다.
  • 맵에 다중 피처가 있는 경우 축척은 모든 피처의 범위에 따라 결정됩니다.

맵 질문은 웹 맵 항목 ID와 맵 축척을 선택적 매개변수로 설정할 수 있습니다. 다음 예시에서는 1:100,000의 맵 축척이 사용되었습니다.

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000}

모든 맵 질문에 대해 rotate 메소드를 사용하여 뷰와 관련하여 정북의 시계 방향 회전을 정의할 수 있습니다. 0부터 360까지의 값이 허용됩니다.

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | rotate:90}

웹 맵 항목 ID를 빈 문자열로 두면 해당 질문의 기본 베이스맵이 사용됩니다. 맵 축척을 0으로 설정하거나 이 매개변수를 생략하면 맵은 질문에 설정된 기본 범위를 사용합니다.

mapExtent 방법을 사용하여 보고서에서 맵의 범위를 명시적으로 설정할 수 있습니다. 다음 예시에서는 일본 도쿄의 고정된 맵 범위가 표시됩니다.

${location | mapExtent:139.7:35.6:139.9:35.8:4326}

맵 질문은 이미지 질문에 사용할 수 있는 크기 식도 지원합니다. 다음 예시와 같이 이 식을 사용하여 보고서에 표시되는 맵 해상도를 제어할 수 있습니다.

${location | size:400:400}

다음 예시와 같이 map, mapScale, size 식을 함께 사용하여 웹 맵 ID, 맵 축척, 맵 이미지 해상도를 제공할 수 있습니다.

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}

비고:

다른 식 메소드를 사용하는 도중에 맵 크기를 설정하는 경우 size를 식의 마지막에 배치해야 합니다.

맵에 많은 수의 레코드가 포함되어 있는 경우 mapFilters 메소드를 사용하여 표시할 레코드를 제한할 수 있습니다. 다음 예시에서 where 매개변수는 하나의 레이어만 있는 웹 맵을 필터링하여 POP2000이 999999보다 큰 레코드를 표시하는 데 사용됩니다.

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapFilters:"where=POP2000>999999"}

mapFilters의 다음 예시에서 첫 번째 매개변수는 cities 레이어(레이어 ID: 18ece64a1fc-layer-5)를 필터링하여 캘리포니아주에서 인구가 가장 많은 처음 세 개의 레코드만 표시합니다. 콜론으로 첫 번째 매개변수와 분리된 두 번째 매개변수는 states 레이어(레이어 ID: 18ece64a1fc-layer-6)를 필터링하여 캘리포니아주만 표시합니다.

${$map | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapFilters:"'18ece64a1fc-layer-5':where=ST='CA'&orderByFields=POP2000 ASC&resultRecordCount=3":"'18ece64a1fc-layer-6':where=stateName='California'"}

비고:

레이어 ID는 웹 맵 JSON의 피처 레이어 객체 등록정보입니다.

맵 질문은 기본 설정에 따라 피처 레이어에 설정된 심볼에 상관없이 기본 맵 심볼을 사용하여 표시됩니다. drawingInfo 메소드를 통해 사용된 심볼, 레이블, 투명도 등 특정 피처 레이어에 저장된 그리기 정보를 추출하여 사용할 수 있습니다. 현재 레이어 또는 제공된 URL을 통해 특정 피처 레이어에서 이 정보를 지정할 수 있습니다.

${location | drawingInfo:"currentLayer"}

${location | drawingInfo:"https://.../FeatureServer/0"}

현장조사에 맵 질문이 포함되어 있지 않거나 관련 현장조사 없이 피처 레이어에 대한 보고서를 생성하는 경우, 레코드의 지오메트리는 ${$shape} 플레이스 홀더를 사용하여 계속 반환할 수 있습니다.

요약 섹션에서 맵 질문에 대한 식은 질문에 대한 입력에 여러 지오메트리를 표시합니다. 개별 보고서에 대한 다른 응답을 포함하려면 !important 태그와 함께 where 식을 제공합니다. 자세한 내용은 추가 구문을 참고하세요. 다음 식은 상태 필드 값이 'broken'인 레이어의 모든 지오메트리를 표시합니다.

${location | where:"status='broken' !important" | map:"<itemID>" | size:400:300}

비고:

위의 예시에서는 맵 축척이 생략되었습니다. 맵 축척을 0으로 설정하거나 이 매개변수를 생략하고 맵에 여러 레코드가 포함되어 있는 경우, 맵은 모든 레코드에 결합된 범위를 사용합니다.

where 식을 항상 true 문으로 설정하여 레이어의 모든 지오메트리가 표시되도록 할 수 있습니다.

${location | where:"1=1 !important"}

이는 반복 내의 모든 포인트를 표시하는 데에도 사용할 수 있습니다.

${repeat1.repeatLocation | where:"inspectionId=123 !important" | size:400:300}

$shape 키워드는 다중 맵 지오메트리를 반환하는 데도 사용할 수 있습니다.

${$shape | where:"1=1 !important" | drawingInfo:"currentLayer" | size:400:300}

$map 키워드는 현장조사 질문을 참조하지 않는 맵을 인쇄하는 데 사용할 수 있습니다.

${$map | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}

지오포인트

지오포인트 질문의 경우 다음과 같이 식을 사용하여 질문에서 위도나 경도 값을 표시할 수 있습니다.

${location | getValue:"x"}

${location | getValue:"y"}

하나의 식으로 두 값을 모두 표시할 수 없습니다. 두 값이 모두 필요한 경우 두 개의 식을 사용해야 합니다.

팁:

또한 유사한 식을 통해 고도 값을 표시할 수도 있지만 기본적인 피처 레이어가 z-값을 지원하는 경우에만 해당됩니다.

${location | getValue:"z"}

기본 설정에 따라 위도, 경도, 고도 값은 현장조사 응답에 제공된 기존 값을 자르지 않은 상태로 반환합니다. 이러한 값은 보고서에서 필요한 값보다 더 길 수 있으므로 round 또는 toFixed 식을 사용하여 값을 특정 소수점 이하 자릿수로 반올림하는 것이 좋습니다.

${location | getValue:"x" | round:3}

${location | getValue:"x" | toFixed:3}

기본 설정에 따라 이러한 값은 현장조사의 피처 레이어에서 사용된 동일한 공간 기준 체계로 출력됩니다. 다음과 같이 WKID를 제공하여 다른 공간 참조를 추가 매개변수로 설정할 수 있습니다.

${location | getValue:"x":4326}

지오추적 및 지오쉐이프

지오추적 및 지오쉐이프 질문의 경우 다음과 같이 getValue 식을 사용하여 라인의 길이나 폴리곤의 둘레를 각각 표시할 수 있습니다.

${polyline1 | getValue:"length":"meters":"planar"}

지오쉐이프 질문의 경우 다음과 같이 getValue 식을 사용하여 폴리곤의 면적을 표시할 수도 있습니다.

${polygon1 | getValue:"area":"hectares":"geodesic"}

단위와 계산 방법은 선택적 매개변수입니다. 다음 단위를 길이에 사용할 수 있습니다.

  • feet
  • kilometers
  • meters
  • miles
  • nautical-miles
  • yards

다음 단위를 면적에 사용할 수 있습니다.

  • acres
  • hectares
  • square-miles
  • square-kilometers
  • square-meters
  • square-feet
  • square-yards

또는 ArcGIS REST API에서 지원되는 esriSRUnitType 상수esriSRUnit2Type 상수를 사용할 수 있습니다. 다음과 같이 따옴표가 없는 상수에 대해 숫자 코드를 식에 사용합니다.

${polyline1 | getValue:"length":109002:"geodesic"}

단위가 지정되지 않은 경우 kilometers(길이) 또는 square-kilometers(면적)가 기본값으로 사용됩니다.

계산 방법은 geodesic 또는 planar로 설정할 수 있습니다. 방법이 지정되지 않은 경우에는 기본 설정에 따라 geodesic이 사용됩니다.

날짜, 시간, 날짜-시간(Date, time, and date-time)

해당 지역의 서식에 맞는 방식으로 날짜 및 날짜-시간 질문이 제공되도록 하기 위해서는 식을 사용하여 제공된 로캘과 일치하도록 질문의 서식을 지정할 수 있습니다. locale 메소드를 식에 맨 앞에 배치하고 로캘 코드는 소문자여야 합니다.

${datetime | locale:"pt-br"}

비고:

특정 언어의 로캘 코드에 대한 자세한 내용은 Wikipedia의 ISO 639-1 코드 목록을 참고하세요. 이러한 언어가 모두 Survey123에서 지원되는 것은 아닙니다.

피처 레이어의 모든 날짜 및 날짜-시간 값은 협정 세계시(UTC)로 저장됩니다. 기본 설정에 따라 보고서에서 반환된 모든 날짜 및 날짜-시간 값은 보고서 생성을 요청한 웹 브라우저와 표준 시간대가 동일합니다. utcOffset 메소드를 사용하여 보고서 내의 이러한 값 표시를 특정 표준 시간대와 일치하도록 변경할 수 있습니다. 다음 식은 날짜-시간 질문 오프셋에 대한 응답을 UTC +1시간으로 표시합니다.

${datetime | utcOffset:"+01:00"}

utcOffset 메소드에는 +01:00, +0100, +01 형식이 지원되며 모두 동일한 결과가 반환됩니다. 이 메소드를 사용하여 응답 제출 시간에 대한 표시를 변경할 수도 있습니다. utcOffset은 시간 질문에 사용할 수 없습니다.

날짜 및 날짜-시간 질문의 경우 식을 사용하여 날짜 형식을 지정할 수 있습니다. 일, 월, 년에 각각 DD, MM, YYYY 플레이스 홀더를 사용합니다. 다음 식은 연도를 제외하고 일과 월만 표시합니다.

${date | format:"DD/MM"}

또한 날짜-시간 질문에서 시간 형식을 지정할 수 있습니다. 시, 분, 초에 각각 HH, mm, ss 플레이스 홀더를 사용합니다. 다음 식은 일, 월, 시, 분을 표시합니다.

${datetime | format:"DD/MM HH:mm"}

다음 예시와 같이 format 메소드 값을 비워 두어 YYYY-MM-DDTHH:mm:ss±HH:mmISO 8601 형식으로 날짜 및 시간을 표시할 수 있습니다.

${datetime | format:""}

날짜 및 시간 형식에 대한 자세한 내용은 아래 테이블을 참고하세요.

비고:

format 메소드는 식의 끝 부분에 배치해야 합니다.

$date 키워드를 사용하여 보고서가 생성된 날짜 및 시간을 인쇄할 수 있습니다. format 메소드를 사용하여 날짜, 시간 또는 둘 다 인쇄할지 여부를 제어합니다. 다음 구문은 보고서가 생성된 날짜(시간 제외)를 해당 로캘의 기본 날짜 형식으로 인쇄합니다.

${$date}

다음 식은 보고서가 생성된 날짜 및 시간에 대한 월, 일, 연도, 시, 분을 인쇄합니다.

${$date | format:"MM/DD/YYYY HH:mm"}

다음 식은 보고서가 생성된 시간(날짜 제외)을 12시간제의 시, 분, 초 단위로 인쇄합니다.

${$date | format:"h:mm:ss A"}

$date 키워드는 utcOffsetlocale 메소드도 지원합니다. locale 메소드는 formatlocale 모두 지정되면 무시됩니다.

날짜 및 시간 형식

다음 테이블에는 보고서에서 날짜 및 시간 형식을 지정하는 format 메소드와 함께 사용할 수 있는 가장 일반적인 플레이스 홀더가 나와 있습니다.

플레이스 홀더설명

YY

연도의 마지막 2자리입니다.

예시: 2023년은 23으로 표시됩니다.

YYYY

연도 4자리입니다.

예시: 2023년은 2023으로 표시됩니다.

M

1~12 사이의 월 번호입니다.

예시: 1월은 1로 표시됩니다.

MM

2자리로 표현된 월 번호입니다.

예시: 1월은 01로 표시됩니다.

MMM

3개 문자로 표현된 월입니다.

예시: 1월은 Jan으로 표시됩니다.

MMMM

풀어 쓴 월입니다.

예시: 1월은 January로 표시됩니다.

D

1~31 사이의 날짜 번호입니다.

예시: 월의 첫날은 1로 표시됩니다.

DD

2자리로 표현된 날짜 번호입니다.

예시: 월의 첫날은 01로 표시됩니다.

Do

서수 접미어가 포함된 날짜 번호입니다.

예시: 월의 첫날은 1st로 표시됩니다.

H

24시간 기준의 시간 번호입니다.

예시: 오후 11시는 23으로 표시됩니다.

HH

2자리로 표현된 24시간 기준의 시간 번호입니다.

예시: 오전 2시는 02로 표시됩니다.

시간

12시간 기준의 시간 번호입니다.

예시: 오후 11시는 11로 표시됩니다.

hh

2자리로 표현된 12시간 기준의 시간 번호입니다.

예시: 오전 2시는 02로 표시됩니다.

m

0~59 사이의 분 번호입니다.

예시: 8분은 8로 표시됩니다.

mm

2자리로 표현된 분 번호입니다.

예시: 8분은 08로 표시됩니다.

ss

2자리로 표현된 시간(초)입니다.

예시: 9초는 09로 표시됩니다.

Z

구분자를 사용하여 시간으로 표현된 표준 시간대 오프셋입니다.

예시: -07:00, +13:00

ZZ

구분자를 사용하지 않고 시간으로 표현된 표준 시간대 오프셋입니다.

예시: -0700, +1300

x

유닉스 밀리초 타임스탬프입니다.

예시: 2023년 5월 4일 오후 9시(GMT)는 1683234000000으로 표시됩니다.

X

유닉스 타임스탬프입니다.

예시: 2023년 5월 4일 오후 9시(GMT)는 1683234000으로 표시됩니다.

a

소문자로 된 오전 또는 오후 표기법입니다.

예시: a.m.은 am으로, p.m.은 pm으로 표시됩니다.

A

대문자로 된 오전 또는 오후 표기법입니다.

예시: a.m.은 AM으로, p.m.은 PM으로 표시됩니다.

선다형

단답형 질문이 플레이스 홀더 내에서 자체 참조되는 경우에는(예시: ${select_one}) 선택 항목 레이블을 반환합니다. 단답형 질문이 식에서 사용되거나 질문이 외부 선택을 사용하는 경우에는 단답형 질문이 선택 항목 이름을 반환합니다. 다음 예시는 조건문에 레이블이 아닌 선택 항목 이름을 사용합니다.

${if select_one=="choice1Name"}The user selected the first choice.${/}

의도적으로 레이블이 아닌 선택 항목 이름을 표시하려면 다음과 같이 getValue 식을 사용합니다.

${select_one | getValue:""}

단답형 질문과 선다형 질문의 경우 식을 사용하여 단일 선택 항목 옆에 질문에 대한 응답에 따라 채워지는 체크 박스를 배치할 수 있습니다. 선택 항목 레이블이 아닌 선택 항목 이름을 사용해야 합니다. 다음 식은 선택한 과일을 표시합니다.

${select_one | checked:"apple"} Apple

${select_one | checked:"pear"} Pear

단답형 또는 선다형 질문에 "기타" 허용이 활성화된 경우 other의 선택 항목 이름을 사용합니다.

${select_one | checked:"other"} Other fruits you like: ${favFruits_other}

다음과 같이 식을 지원하는 여러 질문을 선택하여 선택 항목의 총 수를 출력하고 특정 선택 항목을 출력할 수 있습니다.

${select_multiple | countSelected}

${choiceQuestion1 | selectedAt:2}

비고:

selectedAt 식은 선택 항목을 0부터 세기 시작합니다. 즉, ${choiceQuestion1 | selectedAt:2}는 세 번째 선택 항목을 반환합니다.

또한 선다형(select multiple) 질문에는 모든 선택 항목을 글머리 기호 목록으로 반환할 수 있도록 다음과 같은 식이 지원됩니다.

${select_multiple | appearance:"bullets"}

비고:

선택 항목의 레이블에 큰따옴표가 포함된 경우 큰따옴표 앞에 백슬래시를 붙여야 합니다. 그렇지 않을 경우 보고서가 인쇄되지 않습니다. 작은따옴표에는 백슬래시를 붙일 필요가 없습니다. 예를 들면 다음과 같습니다.

${select_one | checked:"Service provided by \"Greg's Plumbing\""} Service provided by "Greg's Plumbing"

반복

반복 질문에 접속하려면 반복 섹션을 템플릿에 추가합니다. defects 반복의 경우 ${#defects} 플레이스 홀더는 반복 섹션의 시작을 나타내고 ${/}는 끝을 나타냅니다. 반복 질문을 가리키는 플레이스 홀더는 반복 섹션의 시작과 끝 플레이스 홀더 사이에 있어야 합니다.

비고:

테이블 내의 반복 콘텐츠를 인쇄하려면 시작 태그와 종료 태그 둘 다 테이블 내부 또는 외부에 배치해야 합니다. 이러한 태그 중 하나는 테이블 내부에 있고 다른 하나가 외부에 있으면 보고서를 생성할 수 없습니다. 시작 태그와 종료 태그를 테이블 내부에 배치하면 대부분의 경우 첫 번째 셀에 시작 태그를 배치하고 마지막 셀에 종료 태그를 배치해야 합니다.

중첩된 반복의 질문에 접근하려면 원하는 반복 섹션 위의 각 반복 레이어의 태그 간에 해당 태그를 배치합니다. 예를 들면 다음과 같습니다.

${#repeat1}
${#repeat2}
${#repeat3}
${field1InRepeat3}, ${repeat2.field1}, ${repeat1.field1}, ${mainLayer.field1} 
${/}
${/}
${/}

보고서 식은 ${layername} 구문을 사용하여 레이어 이름을 참조할 때 하이픈과 같은 특수 문자를 읽을 수 없습니다. 이름에 특수 문자가 포함된 레이어를 참조할 때는 특수 문자 대신 밑줄을 사용하세요. 또는 $layers 키워드와 레이어 이름(예시: ${$layers["my layer name"]}) 또는 레이어 ID(예시: ${$layers[0]})를 사용하여 레이어를 참조할 수 있습니다. 이 방법은 중복 레이어 이름을 참조하는 데 유용합니다.

상위 반복과 이름이 같은 반복 내의 한 필드를 참조하려면 필드 이름과 반복 이름이 포함된 전체 경로 구문을 사용해야 합니다(예시: ${sharedName.sharedName}).

반복 레코드의 색인을 표시하려면 예약된 키워드 $feature가 포함된 getValue 식을 사용하세요. 다음 예시에서는 반복의 첫 번째 레코드에는 1, 두 번째 레코드에는 2 등이 생성됩니다.

${#defects}
${$feature | getValue: "position"}
${/}

보고서 쿼리

집계 함수를 사용하여 인쇄된 응답의 값 쿼리를 생성할 수 있습니다. 이러한 쿼리는 요약 섹션에 매우 적합하며, 인쇄한 응답 수에 관계없이 보고서에 한 번만 나타납니다. 자세한 내용은 보고서 쿼리를 참고하세요.

응답과 관련된 모든 반복이 아니라 특정 수의 반복만 인쇄하도록 보고서를 제한하려는 경우 resultRecordCount 메소드를 사용해 인쇄할 특정 반복 수를 설정하세요.

${#defects | resultRecordCount:20}...${/}

orderByFields 메소드를 사용하여 반복 인쇄 순서를 지정할 수 있습니다. 다음과 같이 필드 이름을 선언하고 뒤에 ASC 또는 DESC를 붙이면 반복이 해당 필드의 입력에 따라 각각 오름차순 또는 내림차순으로 인쇄됩니다.

${#defects | orderByFields:"state_name ASC, pop2000 DESC"}...${/}

조건부 보고서 요소

보고서의 요소는 if 문을 사용하여 조건부로 표시하거나 숨길 수 있습니다. if 문은 조건부 세그먼트의 끝을 나타내는 ${/}(으)로 시작 ${if expression} 플레이스 홀더에 식을 입력하여 사용할 수 있습니다. 보고서의 일부를 표시하거나 숨기는 데 사용할 수 있는 if 문의 몇 가지 예시는 다음과 같습니다.

  • ${if photo1}는 photo1 질문에 답변한 경우에만 섹션을 표시합니다.
  • ${if integer1>0}는 integer1 질문에 대한 답변이 양수인 경우에만 섹션을 표시합니다.
  • ${if ((geopoint1 | getValue:"y")>0)}는 지오포인트가 북반구에 있는 경우에만 섹션을 표시합니다.
  • ${if multiple_choice1 | selected:"A"}는 선다형 질문에서 선택지 'A'가 선택된 경우에만 섹션을 표시합니다.
  • ${if (repeat1 | getValue:"count")>=3}는 repeat1에 레코드가 세 개 이상 포함되어 있는 경우에만 섹션을 표시합니다.

다음 예시에서 두 번째 줄의 텍스트는 우선순위 단답형 질문에 high가 선택된 경우에만 보고서에 나타납니다.

${if priority | selected:"high"}
High priority issues must be addressed within seven days.
${/}

응답에 질문의 값이 포함되어 있는지 확인하려면 ${if photo1} 등의 다른 연산자 없이 필드 이름을 직접적으로 나타내는 if 문만 사용합니다. 이 형식을 사용하면 빈 문자열, null 값, 정의되지 않은 값은 모두 빈 값으로 간주됩니다. 이 형식은 문자열, 숫자, 날짜 및 첨부 파일 필드 유형에 적용됩니다. 이 형식을 반복과 함께 사용하면, 반복에 1개 이상의 인스턴스가 있으면 해당 섹션은 나타납니다.

날짜와 시간 질문에 조건문을 사용하려면 에포크 시간(1970년 1월 1일 이후 경과된 밀리초)을 사용하여 계산을 수행합니다. 예를 들어 날짜 필드의 값이 2020년 10월 14일보다 오래된 경우에만 .${if (date1|getValue:"") < 1602735375000}에 섹션이 표시됩니다. 보고서 구문에는 XLSForm today() 또는 now() 함수와 동일한 기능이 없으므로 보고서가 인쇄된 때와 관련된 시간에 대한 조건문을 작성하는 것은 불가능합니다.

if 문에는 다음 논리 연산자가 지원됩니다.

연산자설명

||

2개의 문 중 하나가 true를 반환하면 true입니다.

&&

주어진 2개의 문이 true를 반환하면 true입니다.

!

문이 true가 아니면 true입니다.

==

주어진 2개의 값이 서로 같으면 true입니다.

!=

주어진 2개의 값이 서로 같지 않으면 true입니다.

>

첫 번째 값이 두 번째 값보다 큰지를 평가합니다.

>=

첫 번째 값이 두 번째 값보다 크거나 동일한지를 평가합니다.

<

첫 번째 값이 두 번째 값보다 작은지를 평가합니다.

<=

첫 번째 값이 두 번째 값보다 작거나 동일한지를 평가합니다.

제한사항

다음 제한 사항은 보고서 템플릿을 사용할 때 존재합니다.

  • Survey123 웹사이트의 반복에 적용된 필터는 보고서에 적용되지 않습니다. 반복은 을 사용하여 보고서에서만 필터링할 수 있습니다.
  • 2014년 7월에 출시된 2.0 이전 버전의 웹 맵을 사용하는 맵은 보고서에 나타나지 않습니다.
  • ArcGIS Enterprise 포털에 유효한 SSL 인증서가 없는 경우 맵이 보고서에 나타나지 않습니다.
  • 보고서 템플릿을 사용한 인쇄는 공개 배포가 아닌 ArcGIS Enterprise 배포와 함께 사용할 수 없습니다. 이렇게 하려고 하면 getaddrinfo ENOTFOUND 오류가 발생합니다.
  • 보고서 템플릿을 사용한 인쇄는 Windows 통합 인증(IWA)을 사용하는 ArcGIS Enterprise 배포와 함께 사용할 수 없습니다.
  • 보고서 요청당 최대 2,000개의 레코드를 포함할 수 있습니다.
  • Survey123 웹사이트가 인프라에 설치된 경우에는 보고 API를 사용할 수 없습니다. 보고서는 https://survey123.arcgis.com/을 사용하는 경우에만 생성할 수 있습니다.