IsNull - 스크립트 및 차트 함수
IsNull 함수는 표현식의 값이 NULL인지 테스트하여, 그런 경우 -1(True)을 반환하고 그렇지 않으면 0(False)을 반환합니다.
구문:
IsNull(expr )
반환 데이터 유형: 부울
인수 | 설명 |
---|---|
expr | 측정할 데이터가 포함된 표현식 또는 필드입니다. |
예제 | 결과 |
---|---|
IsNull(Productname) |
ProductName가 null 값이면 -1(True)를 반환하고, 그렇지 않으면 0(False)을 반환합니다. |
예 - IsNull 기본 사항
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
Example이라는 데이터 테이블에 로드되는 데이터 집합입니다.
-
데이터 테이블의 필드는 다음과 같습니다.
-
ID
-
Value
-
로드 스크립트
Example:
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3,378];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
-
ID
-
Value
다음과 같이 계산 차원을 만듭니다.
-
=If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ): Value 필드에 값이 없거나 대시(-) 문자 또는 값 NULL이 있는 경우 NULL을 반환하고, 그렇지 않으면 값을 반환합니다.
-
=If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F'): Value 필드에 null 값이 포함되어 있는지 여부에 따라 T(True) 또는 F(False) 값을 반환합니다.
ID | Value | If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) | If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F') |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 378 | 378 | F |
Value 열은 데이터 집합에 입력된 데이터를 보여 줍니다. 첫 번째 측정값(열 3)은 IF 문의 조건을 충족하는 값이 있는 처음 3개 행에 대해 NULL을 반환합니다. len(trim(Value))= 0 or Value='NULL' or Value='-'. 마지막 행은 입력된 값 378을 반환합니다.
두 번째 측정값(열 4)은 열 3의 표현식 값이 NULL이면 T를 반환하고, NULL이 아니면 F를 반환합니다. 결과는 처음 3개 행이 null 값임을 보여 줍니다.
이 예에서는 4개 행으로 구성된 인라인 테이블이 로드되는데, 처음 3개 줄에는 아무것도 없거나 대시 - 또는 Value 열에 텍스트 NULL가 포함되어 있습니다. Null 함수를 사용하여 중간 선행 LOAD를 통해 이들 값을 실제 NULL 값으로 변환할 수 있습니다.
첫 번째 선행 LOAD는 IsNull 함수를 사용하여 값이 NULL인지 확인하는 필드를 추가합니다.
NullsDetectedAndConverted:
LOAD *,
If(IsNull(ValueNullConv), 'T', 'F') as IsItNull;
LOAD *,
If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) as ValueNullConv;
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3, 378];
아래는 결과 테이블입니다. ValueNullConv 열에 NULL 값이 -으로 표시되어 있습니다.
ID | Value | ValueNullConv |
IsItNull |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 378 | 378 | F |
예 - IsNull 시나리오
개요
판매 데이터 집합을 분석하여 어떤 필드에 null 값이 있는지 확인합니다.
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
Example이라는 데이터 테이블에 로드되는 데이터 집합입니다.
-
NULLINTERPRET 변수가 NULL로 설정되었습니다.
-
데이터 테이블의 필드는 다음과 같습니다.
-
SalesID
-
Name
-
Age
-
Email
-
Region
-
Status
-
로드 스크립트
Set NULLINTERPRET = NULL;
Example:
LOAD * Inline [
SalesID, Name, Age, Email, Region, Status
1, John Smith, 30, john@email.com, North, Active
2, Jane Doe, NULL, jane@email.com, South, Active
3, Bob Johnson, 45, NULL, East, Inactive
4, Alice Brown, 28, alice@email.com, West, Active
5, Charlie Lee, NULL, charlie@email.com, NULL, Active
6, Eva Green, 35, eva@email.com, North, NULL
7, David White, 50, NULL, South, Inactive
8, Fiona Black, 42, fiona@email.com, East, Active
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
-
SalesID
-
Name
다음과 같이 계산 차원을 만듭니다.
-
=If(IsNull(Age), 'Age unavailable', Age): Age 필드가 NULL인 경우 값 Age unavailable로 채웁니다.
-
=If(IsNull(Email), 'Email unavailable', Email): Email 필드가 NULL인 경우 값 Email unavailable로 채웁니다.
-
=If(IsNull(Region), 'Region unavailable', Region): Region 필드가 NULL인 경우 값 Region unavailable로 채웁니다.
SalesID | Name | If(IsNull(Age), 'Age unavailable', Age | If(IsNull(Email), 'Email unavailable', Email) | If(IsNull(Region), 'Region unavailable', Region) |
---|---|---|---|---|
1 | John Smith | 30 | john@email.com | North |
2 | Jane Doe | Age unavailable | jane@email.com | South |
3 | Bob Johnson | 45 | Email unavailable | East |
4 | Alice Brown | 28 | alice@email.com | West |
5 | Charlie Lee | Age unavailable | charlie@email.com | Region unavailable |
6 | Eva Green | 35 | eva@email.com | North |
7 | David White | 50 | Email unavailable | South |
8 | Fiona Black | 42 | fiona@email.com | East |
null 값이 발견되면 true를 확인하여 반환하는 IsNull 함수의 결과는 데이터 집합의 여러 필드에 null 값이 포함되어 있음을 나타냅니다. 예를 들어, Charlie Lee의 Age 열에서 null 값이 식별되었고 출력 Age unavailable이 반환되었습니다.