NULL 값 처리

데이터베이스 쿼리 및/또는 테이블 간 조인을 통해 특정 필드의 데이터를 생성할 수 없는 경우 일반적으로 NULL 값이 생성됩니다.

개요

Qlik Sense 논리에서는 다음 값을 실제 NULL 값으로 취급합니다.

  • ODBC 연결에서 반환된 NULL

  • 데이터 로드 스크립트에서 테이블 강제 연결의 결과로 생성된 NULL

  • 데이터 로드 스크립트에서 수행한 조인의 결과로 생성된 NULL

  • 테이블에 표시할 필드 값 조합의 생성 결과로 생성된 NULL

참고: 일반적으로 이러한 NULL 값은 연결 및 선택에 사용할 수 없습니다(예외: NullAsValue 문이 사용된 경우).

NullAsValue에 대한 자세한 내용은 NullAsValue를 참조하십시오.

정의에 대한 텍스트 파일은 NULL 값을 포함할 수 없습니다.

ODBC에서 NULL 값 연결/선택

ODBC 데이터 소스에서 NULL 값을 연결 및/또는 선택할 수 있습니다. 이러한 목적의 스크립트 변수가 정의되어 있습니다. 다음 구문을 사용할 수 있습니다.

SET NULLDISPLAY=<sym>;

기호 <sym>은 데이터 입력의 최저 수준에서 ODBC 데이터 소스의 모든 NULL 값을 대체합니다. <sym>은 임의의 문자열이 될 수 있습니다.

이 기능을 기본 해석으로 초기화하려면 다음 구문을 사용하십시오.

SET NULLDISPLAY=;

참고: NULLDISPLAY를 사용하면 ODBC 데이터 소스의 데이터에만 영향을 줍니다.

Qlik Sense 논리가 ODBC 연결에서 반환된 NULL 값을 빈 문자열로 해석하도록 하려면 모든 SELECT 문 앞의 스크립트에 다음을 추가하십시오.

SET NULLDISPLAY=";

참고: 여기서 ''는 실제로 중간에 아무 것도 없는 작은따옴표 2개입니다.

NullDisplay에 대한 자세한 내용은 NullDisplay 를 참조하십시오.

텍스트 파일에서 NULL 값 만들기

텍스트 파일이나 inline 절에서 발견될 경우 실제 NULL 값으로 해석될 기호를 정의할 수 있습니다. 다음과 같은 문을 사용합니다.

SET NULLINTERPRET=<sym>;

기호 <sym>NULL로 해석됩니다. <sym>은 임의의 문자열이 될 수 있습니다.

이 기능을 기본 해석으로 초기화하려면 다음 구문을 사용하십시오.

SET NULLINTERPRET=;

참고: NULLINTERPRET 사용은 텍스트 파일과 inline 절의 데이터에만 영향을 줍니다.

NullInterpret에 대한 자세한 내용은 NullInterpret 를 참조하십시오.

표현식에서 NULL 값 전파

NULL 값은 몇 가지 논리적이고 상당히 합리적인 규칙에 따라 표현식에 전파됩니다.

함수

파라메타가 함수에 대해 정의된 범위를 벗어나는 경우 일반적인 규칙에 따라 함수가 NULL을 반환합니다.

표현식 결과
asin(2) 반환 값: NULL
log(-5) 반환 값: NULL
round(A,0) 반환 값: NULL

위의 규칙에 이어 평가에 필요한 파라메타가 NULL인 경우 일반적으로 이 함수는 NULL을 반환합니다.

표현식 결과
sin(NULL) 반환 값: NULL
chr(NULL) 반환 값: NULL
if(NULL, A, B) 반환 값: B
if(True, NULL, A) 반환 값: NULL
if(True, A, NULL) 반환 값: A

두 번째 규칙에서 형식을 테스트하는 논리 함수의 경우 예외가 적용됩니다.

표현식 결과
isnull(NULL) 반환 값: True (-1)
isnum(NULL) 반환 값: False (0)

산술 및 문자열 연산자

이러한 연산자의 항에 NULL이 있으면 NULL이 반환됩니다.

표현식 결과
A + NULL 반환 값: NULL
A - NULL 반환 값: NULL
A / NULL 반환 값: NULL
A * NULL 반환 값: NULL
NULL / A 반환 값: NULL
0 / NULL 반환 값: NULL
0 * NULL 반환 값: NULL
A & NULL 반환 값: A

관계형 연산자

관계형 연산자의 항에 NULL이 있으면 특수 규칙이 적용됩니다.

표현식 결과
NULL (모든 관계형 연산자) NULL 반환 값: NULL
A <> NULL 반환 값: True (-1)
A < NULL 반환 값: False (0)
A <= NULL 반환 값: False (0)
A = NULL 반환 값: False (0)
A >= NULL 반환 값: False (0)
A > NULL 반환 값: False (0)