NULL 값 처리
데이터베이스 쿼리 및/또는 테이블 간 조인을 통해 특정 필드의 데이터를 생성할 수 없는 경우 일반적으로 NULL 값이 생성됩니다.
개요
Qlik Sense 논리에서는 다음 값을 실제 NULL 값으로 취급합니다.
-
ODBC 연결에서 반환된 NULL 값
-
데이터 로드 스크립트에서 테이블 강제 연결의 결과로 생성된 NULL 값
-
데이터 로드 스크립트에서 수행한 조인의 결과로 생성된 NULL 값
-
테이블에 표시할 필드 값 조합의 생성 결과로 생성된 NULL 값
NullAsValue에 대한 자세한 내용은 NullAsValue를 참조하십시오.
정의에 대한 텍스트 파일은 NULL 값을 포함할 수 없습니다.
ODBC에서 NULL 값 연결/선택
ODBC 데이터 소스에서 NULL 값을 연결 및/또는 선택할 수 있습니다. 이러한 목적의 스크립트 변수가 정의되어 있습니다. 다음 구문을 사용할 수 있습니다.
기호 <sym>은 데이터 입력의 최저 수준에서 ODBC 데이터 소스의 모든 NULL 값을 대체합니다. <sym>은 임의의 문자열이 될 수 있습니다.
이 기능을 기본 해석으로 초기화하려면 다음 구문을 사용하십시오.
SET NULLDISPLAY=;
Qlik Sense 논리가 ODBC 연결에서 반환된 NULL 값을 빈 문자열로 해석하도록 하려면 모든 SELECT 문 앞의 스크립트에 다음을 추가하십시오.
SET NULLDISPLAY=";
NullDisplay에 대한 자세한 내용은 NullDisplay 를 참조하십시오.
텍스트 파일에서 NULL 값 만들기
텍스트 파일이나 inline 절에서 발견될 경우 실제 NULL 값으로 해석될 기호를 정의할 수 있습니다. 다음과 같은 문을 사용합니다.
기호 <sym>이 NULL로 해석됩니다. <sym>은 임의의 문자열이 될 수 있습니다.
이 기능을 기본 해석으로 초기화하려면 다음 구문을 사용하십시오.
SET NULLINTERPRET=;
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) |