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 が返されます。
2 番目のメジャーは、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 関数を使用して条件付き書式を追加することで、欠落値を持つレコードを簡単に識別できることを示しています。