필드 계산

Insights in ArcGIS Online
Insights in ArcGIS Enterprise
Insights Desktop

데이터 테이블 또는 데이터 엔지니어링을 사용하여 데이터셋에 대한 새 필드를 추가하고 계산할 수 있습니다. 계산된 필드를 사용하면 데이터셋에서 필드를 선택하고 연산자함수를 적용하여 성장률, 손실률 및 시간 경과에 따른 변화와 같은 값을 생성할 수 있습니다.

답변 찾기에서 변동률(%) 계산, 비율 계산z-점수 계산을 사용하여 필드를 계산할 수도 있습니다.

팁:

데이터 테이블을 사용하여 맵, 차트, 테이블을 위한 데이터셋에 정규화된 데이터를 추가합니다. 데이터가 계산되어 데이터셋에 추가되고 나면 필드 유형을 변경하여 비율 필드(속도/비율 필드)로 식별합니다. 데이터 정규화에 대한 자세한 내용은 등치 맵을 참고하세요.

데이터 테이블의 필드 계산

데이터 테이블에서 계산된 필드는 워크북에만 나타나며 기존 데이터셋에는 추가되지 않습니다. 계산된 필드를 워크북 외부에 유지하려는 경우 데이터셋을 공유하거나 데이터 엔지니어링을 사용하여 새 피처 레이어를 생성할 수 있습니다.

비고:

데이터 테이블은 데이터를 나타내는 뷰를 제공하며 행이 2,000개까지만 표시됩니다. 테이블을 오름차순이나 내림차순으로 정렬하여 상위 행 2,000개 또는 하위 행 2,000개를 볼 수 있습니다. 모든 계산은 전체 데이터셋에 대해 수행됩니다.

데이터 테이블의 필드를 계산하려면 다음 단계를 완료하세요.

  1. 필요한 경우 워크북을 열고 데이터를 추가합니다.
  2. 데이터 창에서 계산된 필드를 추가할 데이터셋 옆에 있는 데이터셋 옵션 버튼 데이터셋 옵션을 클릭합니다.
  3. 데이터 테이블 보기를 클릭합니다.
  4. + 필드를 클릭합니다.

    새 필드라는 열이 테이블에 추가됩니다.

    비고:

    열의 크기를 조정하거나 순서를 바꿀 수 있지만 이러한 변경 내용이 저장되지는 않습니다.

  5. 새 열의 머리글을 클릭하여 더 자세한 이름을 제공합니다.
  6. fx 또는 계산 함수 입력을 클릭하여 수식을 작성할 함수, 필드 이름, 연산자가 포함된 메뉴를 표시합니다.

    해당 키보드 명령을 사용하여 fx 메뉴에서 버튼을 바꿀 수 있습니다.

  7. 함수, 필드 및 연산자를 사용하여 필요에 따라 계산을 완료하세요.
  8. 실행을 클릭합니다.

    실행 버튼이 활성화되어 있지 않으면 계산 구문에 오류가 발생합니다.

계산된 새 필드가 데이터셋 끝에 나타납니다. 계산된 필드는 필드를 선택한 다음 계산된 필드 삭제 버튼 계산된 필드 삭제을 클릭하여 제거할 수 있습니다.

데이터 엔지니어링을 사용하여 열 계산

Insights Desktop
비고:

데이터 엔지니어링은 Insights desktop에서 사용할 수 있습니다. 모든 Insights in ArcGIS OnlineInsights in ArcGIS Enterprise 사용자는 Insights desktop에 대한 접근 권한이 있습니다. 자세한 내용은 ArcGIS Insights의 오버뷰를 참고하세요.

데이터 엔지니어링은 현재 미리 보기 상태입니다.

열 계산 도구를 데이터 모델에 추가하고 결과 데이터셋에 열을 추가하는 데 사용할 수 있습니다. 데이터 워크북에서 계산된 열은 워크북에만 존재하는 것이 아니라 결과 데이터셋에 영구적으로 추가됩니다.

데이터 엔지니어링을 사용하여 열을 계산하려면 다음 단계를 완료하세요.

  1. 필요한 경우 Insights desktop에서 데이터 워크북을 열고 데이터를 추가합니다.
  2. 측면 도구모음에서 열 계산 버튼 열 계산을 클릭합니다.
  3. 새 열 이름 매개변수에 새 열의 이름을 입력하세요.
    비고:

    Insights의 지원되는 데이터베이스만 열 이름에 대해 문자, 숫자, 밑줄을 지원합니다. 열 이름의 지원되지 않는 문자는 데이터베이스에 저장될 때 밑줄로 변환됩니다(예시: population/sq mile이(가) population_sq_mile(으)로 변환됨). 최상의 결과를 위해 필요한 경우 지원되는 문자만 사용하는 열 이름을 적용한 후 열 별칭을 다른 문자로 업데이트합니다.

  4. 열 식 상자에서 함수, 열 이름, 연산자를 사용하여 필요에 따라 계산을 완료합니다.

    해당 키보드 명령을 사용하여 버튼을 바꿀 수 있습니다.

    비고:

    데이터 워크북에 둘 이상의 데이터셋이 있는 경우 입력 옵션은 활성 테이블을 기반으로 합니다.

  5. 실행을 클릭합니다.

    실행 버튼이 활성화되어 있지 않으면 계산 구문에 오류가 발생합니다.

새 계산 열이 테이블에 추가되고 열 계산 도구가 데이터 모델에 추가됩니다.

연산자

필드를 계산하는 데 수학 및 논리 연산자가 필요할 수 있습니다. 필드 계산에 사용할 수 있는 연산자는 다음과 같습니다.

연산자사용

+

더하기

-

빼기

×

곱하기 해당 키보드 명령 *

÷

나누기 해당 키보드 명령 /

xy

지수 함수. 해당 키보드 명령 ^

<

보다 작음

>

보다 큼

=

과(와) 동일함

<=

보다 작거나 동일함

>=

보다 크거나 동일함

<>

과(와) 같지 않음

,

쉼표는 함수에서 구문 컴포넌트의 구분 기호로 사용됨

(

왼쪽 괄호

)

오른쪽 괄호

AND

모든 조건이 충족되어야 하는 논리 연산자

OR

조건 중 하나가 충족되어야 하는 논리 연산자

IS NULL

필드의 값이 null인지 테스트하는 이진 연산자 테스트한 값이 null이 아니면 0이 출력값으로 할당되며, 테스트한 값이 null이면 1이 출력값으로 할당됨

IS NOT NULL

필드의 값이 null이 아닌지 테스트하는 이진 연산자 테스트한 값이 null이면 0이 출력값으로 할당되며, 테스트한 값이 null이 아니면 1이 출력값으로 할당됨

비고:

+, -, > 및 =와 같은 수학 연산자는 숫자 및 비율 필드와 호환됩니다. CONCATENATE()DATEDIF()과(와) 같은 함수는 각각 문자열 필드와 날짜/시간 필드에 대한 특정 수학 연산자 대신 사용할 수 있습니다.

IS NULLIS NOT NULL 연산자는 위치를 제외한 모든 필드 유형(문자열, 숫자, 비율 및 날짜/시간)과 호환됩니다. null 값이 있는 일부 문자열 필드는 비어 있는 문자열로 구성될 수 있습니다. 그러한 경우 IS NULLIS NOT NULL은 예상 결과를 반환하지 않습니다. field IS NULLfield IS NOT NULL 대신 각각 field=""field<>"" 식을 사용해야 합니다.

ANDOR 연산자는 해당 논리 함수와 다른 구문이 있는 조인 조건에 사용할 수 있습니다. 다음 예시에는 함수와 연산자를 사용한 동등한 계산이 나와 있습니다.

비고:

필드를 계산할 때 IF() 함수 내에서 ANDOR를 사용해야 합니다.

함수연산자

IF(AND(MeanAge>=18, MeanAge<=33),"Millennial","Other")

IF(MeanAge>=18 AND MeanAge<=33,"Millennial","Other")

IF(OR(Crime="Theft", Crime="Theft from vehicle", Crime="Shoplifting"), "Larceny", "Other")

IF(Crime="Theft" OR Crime="Theft from vehicle" OR Crime="Shoplifting", "Larceny", "Other")

함수

함수는 데이터 테이블의 fx 버튼 또는 계산 함수 입력 필드를 사용하여 접근할 수 있습니다. 함수에는 문자열, 숫자, 날짜, 논리라는 3가지 유형이 있습니다.

계산에 함수를 추가하면 함수 구문 팝업이 표시됩니다. 닫기 버튼 닫기을 사용하여 팝업을 제거하거나 계산 함수 입력 필드에서 함수를 클릭하여 팝업을 다시 표시할 수 있습니다.

문자열 함수

대부분의 문자열 함수는 문자열 입력을 사용하여 문자열 결과를 생성하지만 예외적으로 VALUE() 함수와 FIND() 함수는 문자열 입력을 사용하여 숫자 결과를 생성합니다.

문자열 함수의 입력 텍스트는 리터럴(큰따옴표로 묶인 텍스트) 또는 범주 필드 값입니다. 다음 테이블에는 범주 필드가 예로 사용되며 해당 필드에서 찾을 수 있는 예시 값이 함께 나와 있습니다. 필드 값에 큰따옴표가 사용된 경우 해당 필드의 데이터가 범주형 데이터임을 나타냅니다.

구문설명예시

CONCATENATE(text1, [text2], ... )

문자열 값을 두 개 이상 연결합니다.

캘리포니아 내 학교에 대한 데이터셋에는 도로 주소, 시, 우편 번호에 대한 필드가 포함되어 있습니다. 다음과 같은 CONCATENATE() 함수를 사용하여 우편 주소에 대한 단일 필드를 생성할 수 있습니다.

  • 함수 구문: CONCATENATE(Address,", ", City," , CA, ",ZIP)
  • 필드 값 예:
    • Address = "380 New York St"
    • City = "Redlands"
    • ZIP = "92373"
  • 결과 텍스트: "380 New York St, Redlands, CA, 92373"

FIND(find_text, within_text, [start_num])

문자열 또는 텍스트 필드 내에서의 지정된 텍스트(단일 문자 또는 여러 문자)의 위치를 제공합니다. FIND() 함수는 MID(), LEFT() 또는 RIGHT() 등의 다른 함수와 함께 사용할 때 가장 유용합니다.

데이터셋에는 도로 주소(번지와 도로명 포함)가 포함된 필드가 있습니다. 도로별로 데이터를 분류하려면 MID() 함수를 사용하여 나머지 주소에서 도로명을 제거해야 합니다. 하지만 각 숫자의 길이가 다르므로 start_num이(가) 각 행마다 다릅니다. 다음과 같은 start_num 함수를 사용하여 FIND()을(를) 찾을 수 있습니다.

  • 함수 구문: FIND(" ", Address)
  • 필드 값 예:
    • Address = "380 New York St"
  • 결과 숫자: 4

LEFT(text, [num_chars])

텍스트 필드의 일부를 반환합니다.

  • num_chars: 식에서 반환될 문자 수를 지정하며 이 값 역시 정수여야 합니다. 문자 수는 첫 번째 위치에서 시작하여 왼쪽에서 오른쪽 방향으로 셉니다. num_chars이(가) 입력되지 않으면 기본값인 1이 사용됩니다.

교통 사고 데이터셋에는 요일, 날짜, 년도로 구성된 사고 날짜가 포함된 범주 필드가 있습니다. 요일별 사고를 조사하기 위해 다음과 같은 LEFT() 함수를 사용하여 필드(요일로 시작함)의 처음 3개 문자를 나타내는 새 필드를 계산할 수 있습니다.

  • 함수 구문: LEFT(Accident_Date, 3)
  • 필드 값 예:
    • Accident_Date = "Monday, November 14, 2016"
  • 결과 텍스트: "Mon"

LOWER(text)

모든 데이터가 소문자로 변환된 문자 식을 반환합니다.

공공 사업부에서는 교체해야 할 도로 표지판 목록을 수집하고 있습니다. 새 항목이 목록에 추가됨에 따라 Status 필드의 형식이 비표준화되어 표지판을 고유 값으로 표시하지 못하게 됩니다. Status 필드는 다음과 같은 LOWER() 함수를 사용하여 모든 문자가 소문자로 표시되도록 표준화할 수 있습니다.

  • 함수 구문: LOWER(Status)
  • 필드 값 예:
    • Status = "Installed"
  • 결과 텍스트: "installed"

MID(text, start_num, [num_chars])

텍스트 필드의 일부를 반환합니다.

  • start_num: 첫 번째 문자의 위치를 지정합니다(1부터 시작). start_num은(는) 정수여야 합니다.
  • num_chars: 식에서 반환될 문자 수를 지정하며 이 값 역시 정수여야 합니다. num_chars 값이 문자열의 길이보다 큰 경우에는 빈 공백 없이 문자가 반환됩니다. num_chars이(가) 입력되지 않으면 기본값인 시작 문자 이후의 모든 문자가 사용됩니다.

캘리포니아 내 학교에 대한 데이터셋에는 도로 주소, 시, 우편 번호에 대한 필드가 포함되어 있습니다. 다음과 같은 MID() 함수를 사용하여 도로명을 도로 주소에서 분리할 수 있습니다.

  • 함수 구문: MID(Address, 5, 20)
  • 필드 값 예:
    • Address = "380 New York St"
  • 결과 텍스트: "New York St"

RIGHT(text, [num_chars])

텍스트 필드의 일부를 반환합니다.

  • num_chars: 식에서 반환될 문자 수를 지정하며 이 값 역시 정수여야 합니다. 문자 수는 마지막 위치에서 시작하여 오른쪽에서 왼쪽 방향으로 셉니다. num_chars이(가) 입력되지 않으면 기본값인 1이 사용됩니다.

국립 공원 데이터셋에는 공원 이름과 두 자리의 주 코드가 포함된 필드가 있습니다. 주별 공원을 심볼화하기 위해 다음과 같은 RIGHT() 함수를 사용하여 새 필드를 추가하고 계산할 수 있습니다.

  • 함수 구문: RIGHT(Park, 2)
  • 필드 값 예:
    • Park = "Hawai'i Volcanoes National Park, HI"
  • 결과 텍스트: "HI"

SUBSTITUTE(source_text, old_text, new_text)

문자열의 이전 텍스트를 지정된 새 텍스트로 바꿉니다.

  • source_text: 원래 텍스트 또는 필드(텍스트가 포함되어 있음)입니다.
  • old_text: source_text 중에서 바꾸려는 텍스트입니다.
  • new_text: old_text을(를) 대체할 텍스트입니다.

포트홀 위치 데이터셋에는 도로 이름이 있는 필드가 포함되어 있습니다. Main Street가 5th Street로 이름이 바뀐 경우 이 데이터셋을 업데이트해야 합니다. 다음과 같은 SUBSTITUTE() 함수를 사용하여 street_name 필드를 업데이트할 수 있습니다.

  • 함수 구문: SUBSTITUTE(street_name, "Main", "5th")

비고:

SUBSTITUTE() 함수는 모든 old_text 발생을 new_text(으)로 바꿉니다. 예를 들어 함수 SUBSTITUTE("aba", "a", "c")의 결과 텍스트는 "cbc"입니다.

TRIM(text)

양 끝의 공백이 제거된 문자열을 반환합니다.

피처 서비스에는 해당 값의 처음과 끝에 공백이 있는 텍스트 필드가 포함되어 있습니다. 다음과 같은 TRIM() 함수를 사용하여 여분의 공백을 제거할 수 있습니다.

  • 함수 구문: TRIM(City)
  • 필드 값 예:
    • City = "Redlands"
  • 결과 텍스트: "Redlands"

UPPER(text)

모든 데이터가 대문자로 변환된 문자 식을 반환합니다.

NGO 본부 위치에 대한 데이터셋에는 조직의 전체 이름과 약칭(해당하는 경우)이 포함된 필드가 있습니다. 약칭은 다음과 같은 UPPER() 함수를 사용하여 모든 문자가 대문자로 표시되도록 표준화할 수 있습니다.

  • 함수 구문: UPPER(Org)
  • 필드 값 예:
    • Org = "Nasa"
  • 결과 텍스트: "NASA"

VALUE(text, [format])

텍스트를 숫자로 변환합니다.

  • format: 숫자의 소수 구분 기호로 사용될 문자를 지정합니다. format은 소수점 쉼표(",") 또는 소수점(".")일 수 있습니다. format을 입력하지 않으면 기본 구분 기호는 소수점이 됩니다.

비고:

VALUE()이(가) 제공되지 않는 경우 format 함수 내의 중첩된 함수가 예기치 않은 결과를 생성할 수 있습니다. 따라서 format 함수를 사용할 때는 VALUE()을(를) 지정하는 것이 좋습니다.

VALUE() 함수는 텍스트를 음수로 변환하는 것을 지원하지 않습니다.

소매점 데이터셋에는 수익 금액이 포함된 범주 필드가 있습니다. VALUE() 함수를 사용하여 Revenue 필드를 숫자 값으로 변환할 수 있습니다.

  • 함수 구문: VALUE(Revenue, ".")
  • 필드 값 예:
    • Revenue = "1,000.00"
  • 결과 숫자: 1000.00

숫자 함수

숫자 함수는 숫자 입력을 사용하여 숫자 결과를 생성합니다. 보통 숫자 함수는 다른 함수와 함께 사용되거나 데이터 변환 방법으로 사용됩니다.

입력 숫자는 리터럴 숫자 또는 숫자 필드입니다. 아래의 일부 예시에서는 필드 대신 숫자를 입력으로 사용하여 각 함수의 용법을 더 효과적으로 보여줍니다.

구문설명예시

ABS(number)

절대 값을 반환합니다.

  • 함수 구문: ABS(-350)
  • 결과 숫자: 350

AVG(number)

평균 값을 반환합니다.

  • 함수 구문: AVG(field)
  • field의 숫자 값 예시: 4, 5, 11, 6.5
  • 결과: 6.63

CEILING(number)

숫자를 1의 가장 가까운 배수로 반올림합니다.

  • 함수 구문: CEILING(7.8)
  • 결과 숫자: 8

COS(number)

지정 각도(라디안 단위)의 코사인 값을 반환합니다.

다음 수식을 사용해 도를 라디안으로 변환할 수 있습니다.

라디안 = θπ/180 여기서, θ = 각도 π ≈ 3.14

  • 함수 구문: COS(0.35)
  • 결과 숫자: 0.94

FLOOR(number)

숫자를 1의 가장 가까운 배수로 반내림합니다.

  • 함수 구문: FLOOR(7.8)
  • 결과 숫자: 7

LN(number)

지정된 플로팅 식의 자연 로그를 반환합니다. 자연 로그에서는 상수 e가 밑 값(근사값: 2.72)으로 사용됩니다.

  • 함수 구문: LN(16)
  • 결과 숫자: 2.77

LOG(number)

특정 밑에 대한 숫자의 로그를 반환합니다. 기본값은 밑 10입니다.

  • 함수 구문: LOG(16, 2)
  • 결과 숫자: 4

MAX(number) 또는 MAX(date)

최대 값을 반환합니다.

  • 함수 구문: MAX(num_field)
  • num_field의 값 예시: 4, 5, 11, 6.5
  • 결과: 11

MIN(number) 또는 MIN(date)

최소 값을 반환합니다.

  • 함수 구문: MIN(date_field)
  • date_field의 값 예시: 03/17/2018, 02/14/2019, 10/31/2020
  • 결과: 03/17/2018

PERCENTTOTAL(number)

필드 합계를 사용하여 각 필드 값의 백분율을 계산합니다.

  • 함수 구문: PERCENTTOTAL(num_field)
  • num_field의 값 예시: 4, 5, 11, 6.5
  • 결과: 0.1509, 0.1887, 0.4151, 0.2453

POWER(number, power)

식의 값을 지정된 거듭제곱으로 반환합니다.

  • 함수 구문: POWER(2, 4)
  • 결과 숫자: 16

ROUND(number, num_digits)

숫자 값을 지정된 자릿수로 반올림합니다.

  • num_digits은(는) 결과에 포함될 소수 자릿수입니다.
    • num_digits이(가) 양수이면 숫자가 해당 소수 자릿수로 반올림됩니다.
    • num_digits이(가) 0이면 숫자가 가장 가까운 정수로 반올림됩니다.
    • num_digits이(가) 음수이면 숫자가 소수점 왼쪽의 지정된 자릿수로 반올림됩니다.

  • 함수 구문: ROUND(54.854827, 2)
  • 결과 숫자: 54.85
  • 함수 구문: ROUND(54.854827, -1)
  • 결과 숫자: 50

SIN(number)

지정 각도(라디안 단위)의 사인 값을 반환합니다.

다음 수식을 사용해 도를 라디안으로 변환할 수 있습니다.

라디안 = θπ/180 여기서, θ = 각도 π ≈ 3.14

  • 함수 구문: SIN(0.79)
  • 결과 숫자: 0.71

STDEV(number)

숫자 필드의 표준편차입니다.

  • 함수 구문: STDEV(field)
  • field의 숫자 값 예시: 4, 5, 11, 6.5
  • 결과: 3.09

SUM(number)

전체 값을 반환합니다.

  • 함수 구문: SUM(field)
  • field의 숫자 값 예시: 4, 5, 11, 6.5
  • 결과: 26.5

TAN(number)

입력 표현식의 탄젠트를 반환합니다.

다음 수식을 사용해 도를 라디안으로 변환할 수 있습니다.

라디안 = θπ/180 여기서, θ = 각도 π ≈ 3.14

  • 함수 구문: TAN(1.05)
  • 결과 숫자: 1.74

날짜 함수

날짜 함수는 사용 중인 함수에 따라 날짜 필드 또는 텍스트를 사용하거나 입력이 없을 수 있습니다. DATEVALUE() 함수를 사용하여 DATEDIF() 또는 TIMEDIF() 함수의 날짜 필드를 바꿀 수 있습니다.

비고:

DATEDIF()DATEADD()에서 사용되는 날짜/시간 필드는 날짜를 포함하는 형식이어야 합니다(즉, 날짜와 시간 또는 날짜만). 시간 전용 날짜/시간 필드는 허용되지 않습니다.

TIMEDIF()에서 사용되는 날짜/시간 필드는 시간을 포함하는 형식이어야 합니다(즉, 날짜와 시간 또는 시간만). 날짜 전용 날짜/시간 필드는 허용되지 않습니다.

지원되는 날짜 구분 기호는 점(.), 대시(-), 슬래시(/)입니다.

구문설명예시

DATE(year, month, day, [hour, minute, second], [AM/PM])

3개 이상의 개별 필드나 값을 사용하여 날짜/시간 필드를 생성합니다. 다음 사양이 적용됩니다.

  • year: "YY"(두 자리 연도) 또는 "YYYY"(네 자리 연도)
  • month: "MM"(1~12)
  • day: "DD"(1~31)
  • hour: "HH"(0~23) 또는 "hh"(1~12)
  • minute: "mm"(0~59)
  • second: "ss"(0~59)
  • AM/PM: "AM"/"PM"(대소문자 구분 안함)

비고:

오전/오후 매개변수를 제외한 모든 입력 필드는 숫자나 문자열일 수 있습니다. 숫자는 정수 값이어야 합니다. 2자리 연도는 문자열이어야 합니다.

데이터베이스 데이터셋에 DATE() 함수를 사용하며 시간 매개변수(hour, minute 또는 second)를 지정한 경우에는 모든 시간 매개변수에 대해 입력 값을 제공해야 합니다.

식당 데이터셋에는 최근의 위생 검사 날짜와 시간이 포함된 문자열 필드가 있습니다. 다음과 같은 DATE() 함수를 사용하여 위생 검사의 날짜 필드를 생성할 수 있습니다.

  • 함수 구문: DATE(2016, Month, Day, Hour, Min, 00)
  • 필드 값 예:
    • Month = 8
    • Day = 15
    • Hour = 11
    • Minute = 30
  • 결과 날짜: 8/15/2016, 11:30:00

비고:

이 예시의 결과 날짜는 24시간 표기법 형식으로 지정됩니다. 12시간 표기법을 사용하려면 오전 또는 오후를 지정해야 합니다. 동일한 예시 함수를 DATE(2016, Month, Day, Hour, Min, 00, "AM")와(과) 같이 작성할 수 있습니다.

TIME(hour, minute, second)

3개의 개별 필드나 값을 사용하여 날짜/시간 필드를 생성합니다. 다음 사양이 적용됩니다.

  • hour: "HH"(0~23) 또는 "hh"(1~12)
  • minute: "mm"(0~59)
  • second: "ss"(0~59)
  • AM/PM: "AM"/"PM"(대소문자 구분 안함)

비고:

오전/오후 매개변수를 제외한 모든 입력 필드는 숫자나 문자열일 수 있습니다. 숫자는 정수 값이어야 합니다.

병원 기록의 데이터셋에는 환자 도착 시간이 포함됩니다. 다음과 같은 TIME() 함수를 사용하여 기록의 시간 필드를 생성할 수 있습니다.

  • 함수 구문: TIME(Hour, Min, 00)
  • 필드 값 예:
    • Hour = 11
    • Minute = 30
  • 결과 시간: 11:30:00

비고:

이 예시의 결과 시간은 24시간 표기법 형식으로 지정됩니다. 12시간 표기법을 사용하려면 오전 또는 오후를 지정해야 합니다. 동일한 예시 함수를 TIME(Hour, Min, 00, "AM")와(과) 같이 작성할 수 있습니다.

DATEADD(date, integer, [unit])

입력 필드의 날짜에 지정된 시간을 더합니다

  • date은(는) 날짜/시간 필드여야 합니다. 필드는 날짜를 포함하는 형식이어야 합니다(즉, 날짜와 시간 또는 날짜만). 시간 전용 날짜/시간 필드는 허용되지 않습니다.
  • integer: 입력 날짜에 추가될 숫자. 상수가 사용되면 숫자는 정수여야 하며, 양수 또는 음수일 수 있습니다. 숫자 필드가 사용되면 소수점이 무시됩니다. 그렇기 때문에 정수만을 포함하는 필드를 사용하거나 정수로 새 필드를 계산하는 것이 가장 좋습니다(예: ROUND() 함수 사용).
  • unit: 추가될 시간의 단위. 다음을 포함한 단위 값이 지원됩니다.
    • "ss" = 초
    • "mm" = 분
    • "h" = 시
    • "D" = 일(기본)
    • "M" = 개월
    • "Y" = 년

단위가 제공되지 않으면 "D"가 사용됩니다.

개월이 날짜/시간 필드에 추가되면 한 달의 일수와 상관 없이 결과 값은 해당 월의 같은 날짜가 됩니다. 그 달의 해당 날짜가 새로운 달에는 유효하지 않은 경우 새로운 달의 마지막 날짜가 사용됩니다. 예를 들어 계산으로 입력 필드에 3개월을 추가했고 기존 날짜 중 하나가 2021년 11월 30일인 경우, 결과 값 2022년 2월 30일은 유효한 값이 아닙니다. 2022년은 윤년이 아니기 때문에 결과는 2022년 2월 28일로 기록됩니다

공중 보건 기관은 의료 구역 내 환자의 백신 기록을 유지해야 하는 책임이 있습니다. 60일~180일 간격으로 두 번 접종해야 하는 특정한 백신이 있습니다. DATEADD()을(를) 사용하여 환자가 2차 접종을 맞을 수 있는 첫 날짜와 최종 접종을 위한 기한이 포함된 필드를 생성할 수 있습니다.

적합 날짜:

  • 함수 구문: DATEADD(first_dose_date, 60, "D")
  • 필드 값 예:
    • first_dose_date = 7/11/2021
  • 결과 날짜: 9/9/2021

최종 날짜:

  • 함수 구문: DATEADD(first_dose_date, 180, "D")
  • 필드 값 예:
    • first_dose_date = 7/11/2021
  • 결과 날짜: 1/7/2022

TIMEADD(time, integer, unit)

입력 필드의 시간에 지정된 시간을 더합니다

  • time은(는) 날짜/시간 필드여야 합니다. 시간은 기존에 시간 컴포넌트가 포함되지 않은 필드를 포함한 모든 날짜/시간 필드에 추가할 수 있습니다.
  • integer: 입력 시간에 추가될 숫자 상수가 사용되면 숫자는 정수여야 하며, 양수 또는 음수일 수 있습니다. 숫자 필드가 사용되면 소수점이 무시됩니다. 그렇기 때문에 정수만을 포함하는 필드를 사용하거나 정수로 새 필드를 계산하는 것이 가장 좋습니다(예: ROUND() 함수 사용).
  • unit: 추가될 시간의 단위. 다음을 포함한 단위 값이 지원됩니다.
    • "ss" = 초
    • "mm" = 분
    • "h" = 시

데이터셋에 있는 협정 세계시(UTC)로 기록된 날짜 및 시간을 중부 표준시(CST)로 변환해야 합니다. 다음 TIMEADD() 함수를 사용하여 CST 날짜/시간 필드를 생성할 수 있습니다.

  • 함수 구문: TIMEADD(UTC_date, -6, "h")
  • 필드 값 예:
    • UTC_date = 7/11/2021 2:30:00 PM
  • 결과 날짜: 7/11/2021 8:30:00 AM

DATEDIF(start_date, end_date, [unit])

두 날짜 간의 경과 시간을 계산합니다. start_date은(는) end_date 이전 날짜여야 하며 그렇지 않으면 음수 값이 결과로 생성됩니다.

  • start_dateend_date은(는) 날짜/시간 필드 또는 DATEVALUE() 함수입니다. 날짜/시간 필드를 사용하는 경우 필드는 날짜를 포함하는 형식이어야 합니다(즉, 날짜와 시간 또는 날짜만). 시간 전용 날짜/시간 필드는 허용되지 않습니다.
  • unit: 반환될 시간 단위. 다음을 포함한 단위 값이 지원됩니다.
    • "ss" = 초
    • "mm" = 분
    • "h" = 시
    • "D" = 일(기본)
    • "M" = 개월
    • "Y" = 년

단위가 제공되지 않으면 "D"가 사용됩니다.

개별 단위의 결과는 다음과 같이 반올림됩니다.

  • 초 - 초는 반올됨되지 않습니다.
  • 분 - 날짜 사이에 완전히 60초가 지나면 1분으로 계산합니다. 1분 미만의 결과는 내림합니다.
  • 시 - 날짜 사이에 완전히 60분이 지나면 1시간으로 계산합니다. 1시간 미만의 결과는 내림합니다.
  • 일 - 날짜 사이에 완전히 24시간이 지나면 1일로 계산합니다. 1일 미만의 결과는 내림합니다.
  • 개월 - 특정한 달이 며칠로 이루어졌는지와는 상관없이 날짜 사이에 완전히 1달이 지나면 1개월로 계산합니다(예시: 1월 1일~2월 1일). 1개월 미만의 결과는 내림합니다. 시간 컴포넌트(예시: 시)는 계산에 사용되지 않습니다.
  • 연도 - 날짜 사이에 183일(반년)이 지나면 1년으로 계산합니다. 183일 미만의 년 결과는 내림합니다.

식당 데이터셋에는 최근의 위생 검사 날짜가 포함되어 있습니다. 다음의 DATEDIF() 함수를 사용하여 위생 검사 간의 경과 일수를 계산할 수 있습니다.

예시 1:

  • 함수 구문: DATEDIF(Inspection1, Inspection2, "D")
  • 필드 값 예:
    • Inspection1 = 8/15/2016, 11:30:00 AM
    • Inspection2 = 10/31/2016 2:30:00 PM
  • 결과 시간(일): 77

예시 2:

  • 함수 구문: DATEDIF(Inspection1, Inspection2, "D")
  • 필드 값 예:
    • Inspection1 = 8/15/2016, 11:30:00 AM
    • Inspection2 = 8/16/2016 8:00:00 AM
  • 결과 시간(일): 0

예시 3:

  • 함수 구문: DATEDIF(Inspection1, Inspection2, "M")
  • 필드 값 예:
    • Inspection1 = 8/15/2016, 11:30:00 AM
    • Inspection2 = 10/31/2016 2:30:00 PM
  • 결과 시간(개월): 2

TIMEDIF(start_time, end_time, [unit])

두 날짜/시간 값 간의 경과 시간을 계산합니다. start_time은(는) end_time 이전 날짜여야 하며 그렇지 않으면 음수 값이 결과로 생성됩니다.

  • start_timeend_time은(는) 날짜/시간 필드 또는 DATEVALUE() 함수입니다. 시간이 사용되는 경우(예시: hh:mm:ss) start_timeend_time 모두 시간 전용 형식이어야 합니다.
  • unit: 반환될 시간 단위. 다음을 포함한 단위 값이 지원됩니다.
    • "ss" = 초(기본값)
    • "mm" = 분
    • "h" = 시

단위가 제공되지 않으면 "ss"가 사용됩니다.

개별 단위의 결과는 다음과 같이 반올림됩니다.

  • 초 - 초는 반올됨되지 않습니다.
  • 분 - 날짜 사이에 완전히 60초가 지나면 1분으로 계산합니다. 1분 미만의 결과는 내림합니다.
  • 시 - 날짜 사이에 완전히 60분이 지나면 1시간으로 계산합니다. 1시간 미만의 결과는 내림합니다.

병원 운영 기록의 데이터셋에는 수술 시작 시간 및 종료 시간이 포함됩니다. 각 환자의 수술 시간은 다음 TIMEDIF() 함수를 사용하여 계산할 수 있습니다.

  • 함수 구문: TIMEDIF(TimeIn, TimeOut, "mm")
  • 필드 값 예:
    • TimeIn = 11:30:00 AM
    • TimeOut = 2:30:20 PM
  • 결과 시간(분): 180

DATEVALUE(date_text, [format])

텍스트를 날짜로 변환합니다.

  • date_text은(는) 문자열 필드 또는 큰따옴표로 묶인 텍스트입니다.
  • format(선택): 입력된 날짜의 형식. format은(는) 큰따옴표로 묶인 텍스트로 입력됩니다. format은(는) 다음과 같은 단위 사양을 사용하여 입력할 수 있습니다.
    • "MM" - 월(1~12)
    • "DD" - 월의 날짜(1~31)
    • "YY" - 2자리 연도
    • "YYYY" - 4자리 연도
    • "HH" - 시(0~23)
    • "hh" - 시(1~12)
    • "mm" - 분(0~59)
    • "ss" - 초(0~59)
    • "AM"/"PM" - 대소문자 구분 안 함

비고:

DATEVALUE()이(가) 제공되지 않는 경우 format 함수 내의 중첩된 함수가 예기치 않은 결과를 생성할 수 있습니다. 따라서 format 내에 함수를 중첩하는 경우에는 DATEVALUE()을(를) 지정하는 것이 좋습니다.

format이(가) 제공되지 않은 경우, 구분 기호 없이 지정된 날짜(예: "10312016")는 밀리초로 처리됩니다. 따라서 구분 기호 없이 날짜를 입력하는 경우에는 형식을 지정하는 것이 좋습니다.

format 없이 구분 기호와 함께 지정된 날짜의 경우 형식이 추측됩니다. 형식을 추측할 수 없으면 기본값인 "MM-DD-YY"이(가) 적용됩니다.

DATEVALUE() 함수는 큰따옴표로 묶인 텍스트나 텍스트 필드에 입력된 텍스트만 읽을 수 있습니다. 날짜/시간 필드는 DATEVALUE() 함수의 입력으로 사용할 수 없습니다.

식당 데이터셋에는 최근의 위생 검사 날짜가 포함되어 있습니다. 다음과 같은 DATEVALUE() 함수에서 현재 날짜를 지정하여 마지막 검사 이후의 경과 일수를 계산할 수 있습니다.

  • 함수 구문: DATEDIF(Inspection_date, DATEVALUE("10/31/2016", "MM/DD/YYYY"), "D")
  • 필드 값 예:
    • Inspection_date = 8/15/2016, 11:30:00 AM
  • 결과 숫자: 77

날짜와 시간은 여러 가지 형식으로 나타낼 수 있습니다. 다음 예에는 텍스트를 날짜 형식으로 나타내는 몇 가지 방식이 나와 있습니다.

  • DATEVALUE("12/25/2016 12:30:25 pm", "MM/DD/YYYY hh:mm:ss pm")
  • DATEVALUE("12/25/2016 14:23:45", "MM/DD/YYYY HH:mm:ss")
  • DATEVALUE("25-08-2008 08:40:13 AM", "DD/MM/YYYY hh:mm:ss AM")

NOW()

현재 날짜와 시간을 날짜/시간 형식으로 반환합니다. 시간은 UTC(협정 세계시)에 따라 기록됩니다.

식당 데이터셋에는 최근의 위생 검사 날짜가 포함되어 있습니다. 다음과 같은 NOW() 함수에서 현재 날짜를 지정하여 마지막 검사 이후의 경과 일수를 계산할 수 있습니다.

  • 함수 구문: DATEDIF(Inspection_date, NOW(), "D")
  • 필드 값 예:
    • Inspection_date= 8/15/2016, 11:30:00 AM
  • 결과 숫자: 77

논리 함수

논리 함수는 문자열이나 숫자 입력을 사용하여 문자열이나 숫자 결과를 생성합니다. 입력은 리터럴(큰따옴표로 묶인 텍스트 또는 상수) 또는 필드 값입니다. 다음 테이블에는 필드와 리터럴 값의 조합이 예로 사용되며 지정된 필드에서 찾을 수 있는 예시 값이 함께 나와 있습니다.

구문설명예시

AND(condition,condition, ...)

둘 이상의 조건을 테스트하여 모든 조건이 충족되면 TRUE를 반환합니다. AND()IF() 함수의 condition 매개변수 내에 사용되어야 합니다.

  • condition: 조건 연산자가 하나 이상 포함되어 있는 식. 조건에는 숫자, 문자열 및 필드 값이 포함될 수 있습니다. 다음과 같은 조건 연산자를 사용할 수 있습니다.
    • >: 보다 큼
    • <: 보다 작음
    • >=: 보다 크거나 동일함
    • <=: 보다 작거나 동일함
    • =: 과(와) 같음
    • <>: 과(와) 같지 않음

데이터셋에는 각 블록 그룹에 살고 있는 사람들의 평균 연령이 포함되어 있습니다. 시장 조사원은 밀레니얼 세대가 주로 거주하는 블록 그룹을 파악하고자 합니다. 다음과 같은 IF() 함수와 AND() 함수의 조합을 사용하여 평균 연령이 밀레니얼 세대 연령 범위에 속하는 블록 그룹을 찾을 수 있습니다.

  • 함수 구문: IF(AND(MeanAge>=18, MeanAge<=33),"Millennial","Other")
  • 필드 값 예:
    • MeanAge = 43
  • 결과 텍스트: "기타"

IF(condition, TRUE_expression, [FALSE_expression])

조건을 테스트하여 그 결과에 따라 TRUE 또는 FALSE 값을 반환합니다.

  • condition: 조건 연산자가 하나 이상 포함되어 있는 식. 조건에는 숫자, 문자열 및 필드 값이 포함될 수 있습니다. 다음과 같은 조건 연산자를 사용할 수 있습니다.
    • >: 보다 큼
    • <: 보다 작음
    • >=: 보다 크거나 동일함
    • <=: 보다 작거나 동일함
    • =: 과(와) 같음
    • <>: 과(와) 같지 않음
  • TRUE_expression: 조건이 true일 때 사용되는 식. 이 매개변수는 필수 매개변수입니다.
  • FALSE_expression: 조건이 false일 때 사용되는 식. FALSE_expression이 제공되지 않으면 기본 설정에 따라 null이 반환됩니다.

TRUE_expressionFALSE_expression은 중첩된 IF() 함수 등의 유효한 식입니다. TRUE_expressionFALSE_expression의 데이터 유형은 동일해야 합니다(예: 둘 다 문자열이거나 둘 다 숫자).

데이터셋에는 매장 매출 및 경비가 포함된 필드가 있습니다. 이러한 데이터를 사용하여 매장의 상태(순이익을 공시했는지 또는 순손실을 공시했는지)를 파악할 수 있습니다. 다음과 같은 IF() 함수를 사용하여 각 매장의 상태를 파악할 수 있습니다.

  • 함수 구문: IF(Revenue>Expenses, "Profit","Loss")
  • 필드 값 예:
    • Revenue = 400,000
    • Expenses = 350,000
  • 결과 텍스트: "수익"

ISNULL(field)*

필드의 값이 null인지 테스트합니다. 테스트한 값이 null이 아니면 0이 출력값으로 할당되며, 테스트한 값이 null이면 1이 출력값으로 할당됨

  • field: 문자열, 숫자, 비율, 날짜/시간 필드 유형을 지원

ISNULL()은 단독으로 사용하거나 IF() 함수의 condition 매개변수 내에서 사용할 수 있습니다.

데이터셋에는 자전거 운전자와 관련된 교통사고 위치와 충돌이 발생한 도로에 있는 자전거 경로 유형이 포함됩니다. 자전거 경로가 없는 도로에서 발생한 충돌의 경우 RouteType 필드는 비워 둡니다. IF()ISNULL() 함수의 조합을 사용하여 null 값을 채우도록 데이터셋을 업데이트할 수 있습니다.

  • 함수 구문: IF(ISNULL(RouteType), "None", RouteType)

ISNOTNULL(field)*

필드의 값이 null이 아닌지 테스트합니다. 테스트한 값이 null이면 0이 출력값으로 할당되며, 테스트한 값이 null이 아니면 1이 출력값으로 할당됨

  • field: 문자열, 숫자, 비율, 날짜/시간 필드 유형을 지원

ISNOTNULL()은 단독으로 사용하거나 IF() 함수의 condition 매개변수 내에서 사용할 수 있습니다.

데이터셋에는 자전거 운전자와 관련된 교통사고 위치와 충돌이 발생한 도로에 있는 자전거 경로 유형이 포함됩니다. 자전거 경로가 없는 도로에서 발생한 충돌의 경우 RouteType 필드는 비워 둡니다. IF()ISNOTNULL() 함수의 조합을 사용하여 null 값을 채우도록 데이터셋을 업데이트할 수 있습니다.

  • 함수 구문: IF(ISNOTNULL(RouteType), RouteType, "None")

OR(condition,condition, ...)

둘 이상의 조건을 테스트하여 하나 이상의 조건이 충족되면 TRUE를 반환합니다. OR()IF() 함수의 condition 매개변수 내에 사용되어야 합니다.

  • condition: 조건 연산자가 하나 이상 포함되어 있는 식. 조건에는 숫자, 문자열 및 필드 값이 포함될 수 있습니다. 다음과 같은 조건 연산자를 사용할 수 있습니다.
    • >: 보다 큼
    • <: 보다 작음
    • >=: 보다 크거나 동일함
    • <=: 보다 작거나 동일함
    • =: 과(와) 같음
    • <>: 과(와) 같지 않음

데이터셋에는 한 도시의 범죄 위치가 포함되어 있습니다. 범죄 분석가는 절도 패턴을 다른 유사 범죄와 비교 분석하고자 합니다. 절도를 다른 범죄와 비교하기 위해서는 먼저 각 범죄가 절도에 해당하는지 여부를 확인해야 합니다. 다음과 같은 IF() 함수와 OR() 함수의 조합을 사용하여 범죄 유형을 확인할 수 있습니다.

  • 함수 구문: IF(OR(Crime="Theft", Crime="Theft from vehicle", Crime="Shoplifting"), "Larceny", "Other")
  • 결과 텍스트: "절도"

*데이터가 없는 일부 필드는 null이 아닌 비어 있는 필드로 구성될 수 있습니다. 그러한 경우 ISNULL()ISNOTNULL()은 예상 결과를 반환하지 않습니다. ISNULL(field)ISNOTNULL(field) 대신 각각 field=""field<>"" 식을 사용해야 합니다.