# IsNull Komut dosyası ve grafik fonksiyonu

IsNull fonksiyonu, bir ifadenin değerinin NULL olup olmadığını test eder; öyleyse -1 (True) döndürür, aksi takdirde 0 (False) döndürür.

Söz Dizimi:

IsNull(expr )

Bilgi notuSıfır uzunluklu bir dize NULL olarak değerlendirilmez ve IsNull deyiminin False sonucunu döndürmesine neden olur.

Dönüş verileri türü: Boolean

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| expr | Hesaplanacak verileri içeren ifade veya alan. |

Örnek: Grafik ifadesi

| Örnek | Sonuç |
| --- | --- |
| `IsNull(Productname)` | `ProductName` null bir değer ise `-1` (True), aksi takdirde `0` (False) döndürür. |

## Örnek - IsNull temel bilgileri

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

#### Grafik ifadesi

Genel bakış

Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin.

Komut dosyası şunları içerir:

* `Example` adlı veri tablosuna yüklenen bir veri kümesi.

* Veri tablosundaki şu alanlar:

  * `ID`

  * `Value`

Komut dosyası

```
Example:
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3,378];
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* `ID`

* `Value`

Aşağıdaki hesaplanan boyutları oluşturun:

* `=If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )`, `Value` alanında değer yoksa bir tire (-) karakteri veya `NULL` değeri varsa `NULL` döndürmek için, aksi takdirde değeri döndürür.

* `=If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F')`, `Value` alanının null değer içerip içermediğine bağlı olarak `T` (True) veya `F` (False) değerini döndürmek için.

Results table

| 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` sütunu, veri kümesine girilen verileri gösterir. İlk hesaplama (sütun 3), değeri `IF` deyiminin koşullarını karşılayan ilk 3 satır için `NULL` döndürür: `len(trim(Value))= 0 or Value='NULL' or Value='-'`. Son satır, girilen `378` değerini döndürür.

İkinci hesaplama (sütun 4), sütun 3'teki ifadenin değerini alır ve `NULL` ise `T` veya `NULL` değilse `F` döndürür. Sonuçlar, ilk 3 satırın boş değerler olduğunu göstermektedir.

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

#### Komut dosyası

Bu örnekte, ilk üç satırı `Value` sütununda hiçbir şey içermeyen ya da bir tire - veya NULL metni içeren dört satırlı bir satır içi tablo yüklenmektedir. Null fonksiyonunu kullanarak orta öncelikli LOAD ile bu değerleri doğru NULL değer temsillerine dönüştürüyoruz.

İlk öncelikli LOAD deyimi, IsNull fonksiyonunu kullanmak suretiyle değerin NULL olduğunu kontrol ederek bir alan ekler.

```
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];
```

Ortaya çıkan tablo aşağıdadır. `ValueNullConv` sütununda `NULL` değerler `-` ile temsil edilmektedir.

Results table

| ID | Value | ValueNullConv | IsItNull |
| --- | --- | --- | --- |
| 0 |  | - | T |
| 1 | NULL | - | T |
| 2 | - | - | T |
| 3 | 378 | 378 | F |

## Örnek - IsNull senaryosu

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

#### Grafik ifadesi

Genel bakış

Satış verilerinden oluşan bir veri kümesi, hangi alanların null değerlere sahip olduğunu görmek için analiz edilir.

Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin.

Komut dosyası şunları içerir:

* `Example` adlı veri tablosuna yüklenen bir veri kümesi.

* `NULL` olarak ayarlanmış bir `NULLINTERPRET` değişkeni.

* Veri tablosundaki şu alanlar:

  * `SalesID`

  * `Name`

  * `Age`

  * `Email`

  * `Region`

  * `Status`

Komut dosyası

```
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
];
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* `SalesID`

* `Name`

Aşağıdaki hesaplanan boyutları oluşturun:

* `=If(IsNull(Age), 'Age unavailable', Age)`, `NULL` ise `Age` alanını `Age unavailable` değeriyle doldurmak için.

* `=If(IsNull(Email), 'Email unavailable', Email)`, `NULL` ise `Email` alanını `Email unavailable` değeriyle doldurmak için.

* `=If(IsNull(Region), 'Region unavailable', Region)`, `NULL` ise `Region` alanını `Region unavailable` değeriyle doldurmak için.

Results table

| 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 değer olup olmadığını kontrol eden ve null değer bulunursa true değerini döndüren `IsNull` fonksiyonunun sonuçları, veri kümesindeki birkaç alanın boş değer içerdiğini gösterir. Örneğin, `Charlie Lee` için `Age` sütununda boş bir değer tespit edildi ve `Age unavailable` çıktısı döndürüldü.