# EmptyIsNull - 스크립트 및 차트 함수

EmptyIsNull 함수는 빈 문자열을 NULL로 변환합니다. 그러므로 매개변수가 빈 문자열이면 NULL을 반환하고 그렇지 않으면 매개변수를 반환합니다.

구문:

EmptyIsNull(exp )

반환 데이터 유형: 매개 변수가 빈 문자열이면 NULL을 반환하고 그렇지 않으면 매개 변수를 반환합니다.

인수

| 인수 | 설명 |
| --- | --- |
| expr | 측정할 데이터가 포함된 표현식 또는 필드입니다. |

예: 차트 표현식

| 예 | 결과 |
| --- | --- |
| `EmptyIsNull(AdditionalComments)` | 이 표현식은 `AdditionalComments` 필드의 빈 문자열 값에 대해 빈 문자열 대신 NULL을 반환합니다. 비어 있지 않은 문자열과 숫자가 반환됩니다. |
| `EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))` | 이 표현식은 `PhoneNumber` 필드에서 대시, 공백 및 괄호를 제거합니다. 남은 문자가 없으면 `EmptyIsNull` 함수는 빈 문자열을 NULL로 반환합니다. 빈 phone number는 phone number가 없는 것과 같습니다. |

## 예 - EmptyIsNull 기본 사항

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/EmptyIsNull.htm)

#### 차트 표현식

개요

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 데이터 테이블의 필드는 다음과 같습니다.

  * `CustomerID`

  * `OrderID`

  * `Product`

  * `Status`

  * `PhoneNumber`

로드 스크립트

```
Example:
LOAD * inline [
CustomerID, OrderID, Product, Status, PhoneNumber
1, 1001, Widget,, (0123) 456 789
2, 1002, Gizmo, Open,-
3, 1003, Gadget, Closed,()
4, 1004, Widget,,678-9888
];
```

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.

* `CustomerID`

* `OrderID`

* `Product`

* `Status`

다음과 같이 계산 차원을 만듭니다.

* `=EmptyIsNull(Status)`: `Status` 필드에 있는 모든 빈 문자열 값을 NULL로 반환합니다.

* `=EmptyIsNull(PurgeChar(PhoneNumber, ' -()'))`: `PhoneNumber` 필드에서 대시, 공백 및 괄호를 제거합니다. 남은 문자가 없으면 `EmptyIsNull` 함수는 빈 문자열을 NULL로 반환합니다. 빈 전화번호는 전화번호가 없는 것과 같습니다.

정보 메모다음 표에는 `EmptyIsNull` 함수의 사용을 보여 주기 위해 빈 셀이 포함되어 있습니다.

Results table

| CustomerID | OrderID | Product | Status | EmptyIsNull(Status) | EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) |
| --- | --- | --- | --- | --- | --- |
| 1 | 1001 | Widget |  | - | 0123456789 |
| 2 | 1002 | Gizmo | Open | Open | - |
| 3 | 1003 | Gadget | Closed | Closed | - |
| 4 | 1004 | Widget |  | - | 6789888 |

`Status` 열에서 값이 비어 있는 레코드는 기본적으로 투명한 배경색이 적용된 빈 셀로 표시됩니다. `EmptyIsNull(Status)` 측정값의 출력은 회색 셀 배경의 대시(-) 문자로 표시된 대로 이러한 빈 값에 대해 NULL을 반환합니다.

두 번째 측정값은 `EmptyIsNull` 함수를 [PurgeChar - 스크립트 및 차트 함수](https://help.qlik.com/ko-KR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm)와 함께 사용하여 `PhoneNumber` 필드에서 대시(-), 공백 및 괄호()를 제거한 다음 남아 있는 빈 문자열을 NULL로 반환합니다. null 값이 있는 셀은 이제 대시(-)와 회색 배경 서식으로 표시됩니다.

## 예 - null 값을 텍스트로 바꾸고 조건부 서식 추가

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/EmptyIsNull.htm)

#### 차트 표현식

개요

영업 관리자는 영업 데이터를 분석하여 누락된 값이 포함된 레코드를 쉽게 식별하려고 합니다.

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 데이터 테이블의 필드는 다음과 같습니다.

  * `ID`

  * `Name`

  * `Age`

  * `Email`

  * `Sales`

  * `Region`

  * `OrderStatus`

로드 스크립트

```
Example:
LOAD * inline [
ID,Name, Age, Email, Sales, Region, OrderStatus
1, John Smith, 30, john@email.com, 1000, North, Active
2, Jane Doe, '', jane@email.com, 1500, South, Active
3, Bob Johnson, 45, '', 800, East, Inactive
4, Alice Brown, 28, alice@email.com, '', West, Active
5, Charlie Lee, '', charlie@email.com, 1200, '', Active
6, Eva Green, 35, eva@email.com, 950, North, ''
7, David White, 50, '', '', South, Inactive
8, Fiona Black, 42, fiona@email.com, 1100, East, Active
];
```

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 이 필드를 차원으로 추가합니다.

* `ID`

다음과 같이 계산 차원을 만듭니다.

* `=If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age))`: `Age` 필드에서 빈 문자열 값을 NULL로 반환한 다음, 모든 null 값을 식별하여 대시(`-`) 문자 대신 값 `NULL`로 채웁니다.

* `=If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email))`: `Email` 필드에서 빈 문자열 값을 NULL로 반환한 다음, 모든 null 값을 식별하여 대시(`-`) 문자 대신 값 `NULL`로 채웁니다.

* `=If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales))`: `Sales` 필드에서 빈 문자열 값을 NULL로 반환한 다음, 모든 null 값을 식별하여 대시(`-`) 문자 대신 값 `NULL`로 채웁니다.

* `=If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region))`: `Region` 필드에서 빈 문자열 값을 NULL로 반환한 다음, 모든 null 값을 식별하여 대시(`-`) 문자 대신 값 `NULL`로 채웁니다.

* `=If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus))`: `OrderStatus` 필드에서 빈 문자열 값을 NULL로 반환한 다음, 모든 null 값을 식별하여 대시(`-`) 문자 대신 값 `NULL`로 채웁니다.

`NULL` 값의 경우 배경색을 빨간색으로, 다른 모든 값의 경우 녹색으로 변경하도록 조건부 셀 서식을 설정합니다. 각 차원 및 측정값의 속성 패널에서 다음 표현식을 배경색 표현식으로 입력합니다.

* `ID`(차원): `=RGB(200,255,200)`

* `Age`(측정값): `=If(IsNull(EmptyIsNull(Age)), RGB(255,200,200), RGB(200,255,200))`

* `Email`(측정값): `=If(IsNull(EmptyIsNull(Email)), RGB(255,200,200), RGB(200,255,200))`

* `Sales`(측정값): `=If(IsNull(EmptyIsNull(Sales)), RGB(255,200,200), RGB(200,255,200))`

* `Region`(측정값): `=If(IsNull(EmptyIsNull(Region)), RGB(255,200,200), RGB(200,255,200))`

* `OrderStatus`(측정값): `=If(IsNull(EmptyIsNull(OrderStatus)), RGB(255,200,200), RGB(200,255,200))`

Results table

| ID | If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age)) | If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email)) | If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales)) | If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region)) | If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus)) |
| --- | --- | --- | --- | --- | --- |
| 1 | 30 | john@email.com | 1000 | North | Active |
| 2 | NULL | jane@email.com | 1500 | South | Active |
| 3 | 45 | NULL | 800 | East | Inactive |
| 4 | 28 | alice@email.com | NULL | West | Active |
| 5 | NULL | charlie@email.com | 1200 | NULL | Active |
| 6 | 35 | eva@email.com | 950 | North | NULL |
| 7 | 50 | NULL | NULL | South | Inactive |
| 8 | 42 | fiona@email.com | 1100 | East | Active |

결과는 `EmptyIsNull` 함수를 사용하고 조건부 서식을 추가하면 누락된 값이 있는 레코드를 쉽게 식별할 수 있음을 보여 줍니다.