# coalesceKomut dosyası ve grafik fonksiyonu

coalesce fonksiyonu, geçerli bir non-NULL temsiline sahip olan parametrelerin ilkini döndürür. Herhangi bir sayıda parametre kullanılabilir.

Söz Dizimi:

coalesce(expr1[ , expr2 , expr3 , ...])

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

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| expr1 | NULL olmayan geçerli bir gösterimi kontrol edecek ilk ifade. |
| expr2 | NULL olmayan geçerli bir gösterimi kontrol etmek için ikinci ifade. |
| expr3 | NULL olmayan geçerli bir gösterimi kontrol etmek için üçüncü ifade. |

Örnekler: Grafik ifadeleri

| Örnek | Sonuç |
| --- | --- |
| `Coalesce(ProductDescription, ProductName, ProductCode, 'no description available')` | Bu ifade, bazı alanların ürün için değerlere sahip olmadığı durumlarda üç farklı ürün açıklama alanı arasından seçim yapar. Fonksiyonda listelenen sırayı izleyerek, boş olmayan bir değere sahip ilk alan döndürülür. Alanlardan hiçbiri değer içermiyorsa sonuç `no description available` olacaktır. |
| `Coalesce(TextBetween(FileName, '"', '"'), FileName)` | Bu ifade, `FileName` alanında olabilecek kapsayıcı tırnak işaretlerini kesecektir. Belirtilen `FileName` tırnak içine alınmışsa bunlar kaldırılır ve `FileName` ayraç içine alınmış, tırnak işaretleri kaldırılmış biçimde döndürülür. `TextBetween` fonksiyonu sınırlayıcıları bulamazsa, Coalesce tarafından reddedilen null değerini döndürür ve bunun yerine ham `FileName` döndürür. |

## Örnek - Coalesce temel bilgileri

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/coalesce.htm)

#### Grafik ifadesi

Genel bakış

Ürün ve fiyat verilerini içeren bir veri tablosu yüklenir. Boş değerlerin alternatif bir değerle değiştirildiğinden emin olmak istersiniz.

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:

  * `ProductID`

  * `ProductName`

  * `Price`

* Eksik değerlerin NULL olarak ele alınmasını sağlamak için bir `NullInterpret` değişken ifadesi.

Komut dosyası

```
Set NullInterpret = '';
Example:
LOAD * INLINE [
ProductID, ProductName, Price
1, Laptop, 1000
2, , 800
3, Desktop, 1200
4, , 500
5, Tablet, 600
];
```

Sonuçlar

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

   * `ProductID`

   * `ProductName`

2. Aşağıdaki hesaplanan boyutu oluşturun:

   * `=Coalesce(ProductName, 'Unknown Product')`

3. Şu hesaplamayı oluşturun:

   * `=Sum(Price)`, geçerli bir sayı temsili döndürmek için.

4. Yeni bir tablo oluşturun ve şu ifadeyi hesaplanan boyut olarak ekleyin:

   * `=Coalesce(ProductName, 'Unknown Product')`

5. Şu hesaplamayı oluşturun:

   * `=Sum(Price)`, geçerli bir sayı temsili döndürmek için.

Aşağıdaki tablolarda yer alan sonuçlar, `Coalesce` fonksiyonunun orijinal veri kümesindeki null değerlerinin `Unknown Product` alternatif değeriyle nasıl değiştirebileceğini göstermektedir.

Sonuçlar tablosu 1

| ProductID | ProductName | Coalesce(ProductName, 'Unknown Product') | Sum(Price) |  |
| --- | --- | --- | --- | --- |
| Totals |  |  | 4100 |  |
| 1 | Laptop | Laptop | 1000 |  |
| 2 | - | Unknown Product | 800 |  |
| 3 | Desktop | Desktop | 1200 |  |
| 4 | - | Unknown Product | 500 |  |
| 5 | Tablet | Tablet | 600 |  |

Sonuçlar tablosu 2

| Coalesce(ProductName, 'Unknown Product') | Sum(Price) |
| --- | --- |
| Totals | 5 |
| Desktop | 600 |
| Laptop | 1000 |
| Tablet | 600 |
| Unknown Product | 1300 |

## Örnek - Null değerleri önceliklendirilmiş bir alternatif değerle değiştirin

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/coalesce.htm)

#### Grafik ifadesi

Genel bakış

Bu örnek, eksik konum verilerini belirtilen öncelik mantığına göre alternatif bir değerle değiştirmek için `Coalesce` fonksiyonunu kullanır.

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:

  * `LocationID`

  * `Country`

  * `State`

  * `City`

* Eksik değerlerin NULL olarak ele alınmasını sağlamak için bir `NullInterpret` değişken ifadesi.

Komut dosyası

```
Set NullInterpret = '';
Example:
LOAD * INLINE [
LocationID, Country, State, City
L001, USA, California, Los Angeles
L002, USA, ,
L003, Canada, Ontario,
L004, , New South Wales, Sydney
L005, UK, , London
L006, , , London
];
```

Sonuçlar

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

   * `LocationID`

   * `Country`

   * `State`

   * `City`

2. Aşağıdaki hesaplanan boyutu oluşturun:

   * `=Coalesce(Country, State, City)`, herhangi bir null değeri alternatiflerle doldurmak için.

Sonuçlar tablosu

| LocationID | Country | State | City | Coalesce(Country, State, City) |
| --- | --- | --- | --- | --- |
| L001 | USA | California | Los Angeles | USA |
| L002 | USA | - | - | USA |
| L003 | Canada | Ontario | - | Canada |
| L004 | - | New South Wales | Sydney | New South Wales |
| L005 | UK | - | London | UK |
| L006 | - | - | London | London |

Sonuçlar, eksik değerler olmasına rağmen, veri kümesini tamamlamak üzere bu örneklerin alternatif bir değerle nasıl doldurulacağına ilişkin mantık sağlamak için `Coalesce` fonksiyonunu kullanabileceğinizi göstermektedir. Örneğin, `L004` içib bir `Country` değeri eksiktir. `Coalesce` fonksiyonu `New South Wales` döndürür çünkü `State`, `Country` için değer eksik olduğunda kullanılacak öncelik mantığında listelenen ikinci alandır.