EmptyIsNull - 스크립트 및 차트 함수
EmptyIsNull 함수는 빈 문자열을 NULL로 변환합니다. 그러므로 매개변수가 빈 문자열이면 NULL을 반환하고 그렇지 않으면 매개변수를 반환합니다.
구문:
EmptyIsNull(exp )
반환 데이터 유형: 매개 변수가 빈 문자열이면 NULL을 반환하고 그렇지 않으면 매개 변수를 반환합니다.
인수 | 설명 |
---|---|
expr | 측정할 데이터가 포함된 표현식 또는 필드입니다. |
예 | 결과 |
---|---|
EmptyIsNull(AdditionalComments) |
이 표현식은 AdditionalComments 필드의 빈 문자열 값에 대해 빈 문자열 대신 NULL을 반환합니다. 비어 있지 않은 문자열과 숫자가 반환됩니다. |
EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) |
이 표현식은 PhoneNumber 필드에서 대시, 공백 및 괄호를 제거합니다. 남은 문자가 없으면 EmptyIsNull 함수는 빈 문자열을 NULL로 반환합니다. 빈 phone number는 phone number가 없는 것과 같습니다. |
예 - EmptyIsNull 기본 사항
개요
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
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로 반환합니다. 빈 전화번호는 전화번호가 없는 것과 같습니다.
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 - 스크립트 및 차트 함수와 함께 사용하여 PhoneNumber 필드에서 대시(-), 공백 및 괄호()를 제거한 다음 남아 있는 빈 문자열을 NULL로 반환합니다. null 값이 있는 셀은 이제 대시(-)와 회색 배경 서식으로 표시됩니다.
예 - null 값을 텍스트로 바꾸고 조건부 서식 추가
개요
영업 관리자는 영업 데이터를 분석하여 누락된 값이 포함된 레코드를 쉽게 식별하려고 합니다.
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
로드 스크립트에는 다음이 포함됩니다.
-
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))
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 함수를 사용하고 조건부 서식을 추가하면 누락된 값이 있는 레코드를 쉽게 식별할 수 있음을 보여 줍니다.