# İfade fonksiyonları

İfadeler oluştururken satır değerlerini dönüştürmek, eksik verileri işlemek veya ilişkili değerleri almak için işlevleri kullanın. Ayrıntılı bilgi için bkz. [İfade oluşturma](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Building-expressions.htm).

Aşağıdaki işlevler; SaaS tarafından yönetilen yerleştirme, lake yerleştirme ve çoğaltma görevlerindeki taşıma görevi ifadelerini açıklar. Düzenleyicinizde görüntülenen fonksiyon imzasını kullanın. İmzalardaki köşeli parantezler isteğe bağlı bağımsız değişkenleri belirtir; parantezleri girmeyin.

CDC Depolama ve Akış Dönüştürme işlevleri için bkz. [Dönüştürme işlevleri](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/transformation-functions.htm). Bir bulut veri platformunda yürütülen depolama, dönüştürme ve veri reyonu ifadeleri için o platformun işlev söz dizimini kullanın.

## Dize fonksiyonları

Ön ek ve son ek işlevleri, bir dizenin başında veya sonunda işlem yapar. Karakter değiştirme, tam bir ön ek veya son eki eşleştirmek yerine tek tek karakterler üzerinde işlem yapar.

Dize işlevi bağımsız değişkenleri, davranışı ve örnekleri

| Fonksiyon | Davranış ve argümanlar | Örnek ve sonuç |
| --- | --- | --- |
| `$CONCAT(X, Y)` | `X` ve `Y` iki dizesini bu sırayla birleştirir. Bağımsız değişkenlerden biri NULL ise NULL döndürür. İkiden fazla dizeyi birleştirmek için çağrıları iç içe yerleştirin. | `$CONCAT('My', 'Picture')` `'MyPicture'` döndürür. `$CONCAT('My', NULL)` NULL döndürür. |
| `$INSTR(string, substring)` | `string` içinde `substring` öğesinin ilk geçtiği 1 tabanlı konumu döndürür. Alt dize bulunamazsa 0 döndürür. | `$INSTR('mystring', 'ing')` `6` döndürür. `$INSTR('mystring', 'xyz')`, `0` döndürür. |
| `$LENGTH(string)` | `string` içindeki karakter sayısını döndürür, bayt cinsinden boyutunu değil. | `$LENGTH('mystring')`, `8` döndürür. |
| `$LOWER(string)` | ASCII harfleri küçük harfe dönüştürülmüş bir `string` kopyasını döndürür. | `$LOWER('ABC')`, `'abc'` döndürür. |
| `$LTRIM(string[, characters])` | `string` başındaki karakterleri kaldırır. İsteğe bağlı `characters` bağımsız değişkeni, bir ön ek değil, kaldırılacak bir karakter kümesidir. Belirtilmezse boşlukları kaldırır. | `$LTRIM('  orders')` `'orders'` döndürür. `$LTRIM('@@orders', '@')`, `'orders'` döndürür. |
| `$REMOVE_PREFIX(string, prefix)` | Belirtilen baştaki `prefix` kaldırılmış olarak `string` öğesinin bir kopyasını döndürür. | `$REMOVE_PREFIX('mystring', 'my')`, `'string'` döndürür. |
| `$REMOVE_SUFFIX(string, suffix)` | `string` öğesinin belirtilen `suffix` bitişi kaldırılmış bir kopyasını döndürür. | `$REMOVE_SUFFIX('mystring', 'ing')`, `'mystr'` döndürür. |
| `$REPLACE(string, pattern, replacement)` | `string` içindeki her `pattern` örneğini `replacement` ile değiştirir. Her üç bağımsız değişken de gereklidir. Eşleşen metni kaldırmak için boş bir değiştirme dizesi kullanın. | `$REPLACE('a-b-c', '-', '_')` `'a_b_c'` döndürür. `$REPLACE('a-b', '-', '')`, `'ab'` döndürür. |
| `$REPLACE_CHARS(string, chars, replacement)` | `chars` içinde listelenen her karakteri `replacement` içindeki aynı konumda bulunan karakterle değiştirir. Listelenmeyen karakterler değişmeden kalır. Bir değiştirme konumu eksikse ilk değiştirme karakteri kullanılır. | `$REPLACE_CHARS('mystring', 's', 'z')` `'myztring'` döndürür. `$REPLACE_CHARS('abcde', 'abcd', '123')`, `'1231e'` döndürür. |
| `$REPLACE_PREFIX(string, prefix, replacement)` | `string` içindeki baştaki `prefix` öğesini `replacement` ile değiştirir. | `$REPLACE_PREFIX('mystring', 'my', 'new')`, `'newstring'` döndürür. |
| `$REPLACE_SUFFIX(string, suffix, replacement)` | Her örneği değiştirmek yerine, `string` içindeki sondaki `suffix` öğesini `replacement` ile değiştirir. | `$REPLACE_SUFFIX('mystring', 'ing', 'new')`, `'mystrnew'` döndürür. |
| `$RTRIM(string[, characters])` | `string` sonundaki karakterleri kaldırır. İsteğe bağlı `characters` bağımsız değişkeni bir sonek değil, kaldırılacak bir karakter kümesidir. Belirtilmezse boşlukları kaldırır. | `$RTRIM('orders  ')` `'orders'` döndürür. `$RTRIM('orders@@', '@')`, `'orders'` döndürür. |
| `$SUBSTR(string, start[, length])` | `string` içinden, 1 tabanlı `start` konumundan başlayarak metin ayıklar. `length` karakter sayısını belirtir. Atlanırsa kalan karakterleri döndürür. | `$SUBSTR('abcdef', 2, 3)`, `'bcd'` döndürür. |
| `$TRIM(string[, characters])` | `string` öğesinin her iki ucundaki karakterleri kaldırır. İsteğe bağlı `characters` bağımsız değişkeni, bir alt dize değil, kaldırılacak bir karakter kümesidir. Belirtilmezse boşlukları kaldırır. | `$TRIM('  orders  ')` `'orders'` döndürür. `$TRIM('@#orders#@', '@#')`, `'orders'` döndürür. |
| `$UNICODE(string)` | `string` içindeki ilk karakterin sayısal Unicode kod noktasını döndürür. Bağımsız değişken bir dize olmalıdır. | `$UNICODE('ABC')`, `65` döndürür. |
| `$UPPER(string)` | ASCII harfleri büyük harfe dönüştürülmüş bir `string` kopyasını döndürür. | `$UPPER('abc')`, `'ABC'` döndürür. |

## Sayısal işlevler

Geçerli satır için sayısal değerleri hesaplamak üzere bu işlevleri kullanın. `$MAX` ve `$MIN`, satırlar arasındaki değerleri değil, satır içindeki bağımsız değişkenleri karşılaştırır.

Sayısal işlev bağımsız değişkenleri, davranışı ve örnekleri

| Fonksiyon | Davranış ve argümanlar | Örnek ve sonuç |
| --- | --- | --- |
| `$ABS(X)` | `X` sayısal bağımsız değişkeninin mutlak değerini döndürür. | `$ABS(-20)`, `20` döndürür. |
| `$MAX(arg1, arg2, ...)` | Sağlanan sayısal bağımsız değişkenler arasındaki en büyük değeri döndürür. En az iki bağımsız değişken sağlayın. | `$MAX(10, 4, 20, 9)`, `20` döndürür. |
| `$MIN(arg1, arg2, ...)` | Sağlanan sayısal bağımsız değişkenler arasındaki en küçük değeri döndürür. En az iki bağımsız değişken sağlayın. | `$MIN(10, 4, 20, 9)`, `4` döndürür. |
| `$RANDOM()` | Sözde rastgele işaretli bir tam sayı döndürür. Bağımsız değişken almaz. | `$RANDOM()` negatif, sıfır veya pozitif olabilen bir tam sayı döndürür. Değeri çağrılar arasında değişir. |
| `$ROUND(value[, digits])` | `value` değerini `digits` ondalık basamağa yuvarlar ve kayan noktalı bir değer döndürür. `digits` atlanırsa, sıfır ondalık basamağa yuvarlar. | `$ROUND(3.141592, 3)`, `3.142` döndürür. |

## LOB işlevleri

Bu işlevler, ikili büyük nesneler (BLOB'lar) ile çalışır. Boyut bağımsız değişkeni `N` karakterleri değil, baytları belirtir.

İkili değer işlevleri

| Fonksiyon | Davranış ve argümanlar | Örnek ve sonuç |
| --- | --- | --- |
| `$HEX(blob)` | `blob` baytlarını temsil eden büyük harfli onaltılık metni döndürür. Sayısal girdi önce metne dönüştürülür; sonuç, sayının makine temsili değildir. | `$HEX(X'4142')`, `'4142'` döndürür. |
| `$RANDOM_BLOB(N)` | `N` sözde rastgele bayt döndürür. `N` 1'den küçükse bir bayt döndürür. Bu fonksiyonu kriptografik rastgelelik garantisi olarak kullanmayın. | `$RANDOM_BLOB(4)` dört baytlık bir BLOB döndürür. Değeri çağrılar arasında değişir. |
| `$ZERO_BLOB(N)` | `N` sıfır baytı içeren bir BLOB döndürür. | `$HEX($ZERO_BLOB(3))`, `'000000'` döndürür. |

## Null denetim fonksiyonları

Null denetimi işlevi bağımsız değişkenleri, davranışı ve örnekleri

| Fonksiyon | Davranış ve argümanlar | Örnek ve sonuç |
| --- | --- | --- |
| `$COALESCE(X, Y, ...)` | Bağımsız değişken sırasına göre NULL olmayan ilk bağımsız değişkeni döndürür. En az iki bağımsız değişken sağlayın. Tüm bağımsız değişkenler NULL ise sonuç NULL olur. Boş bir dize NULL değildir. | `$COALESCE(NULL, 'Unknown')` `'Unknown'` döndürür. `$COALESCE('', 'Unknown')` boş bir dize döndürür. |
| `$IFNULL(X, Y)` | NULL değilse `X` değerini döndürür; aksi takdirde `Y` değerini döndürür. Her iki bağımsız değişken de NULL ise NULL döndürür. Tam olarak iki bağımsız değişken sağlayın. | `$IFNULL(NULL, 'Unknown')` `'Unknown'` döndürür. `$IFNULL('Known', 'Unknown')`, `'Known'` döndürür. |
| `$NULLIF(X, Y)` | `X` ve `Y` eşitse NULL döndürür; aksi takdirde `X` döndürür. Tam olarak iki bağımsız değişken sağlayın. | `$NULLIF('Unknown', 'Unknown')` NULL döndürür. `$NULLIF('Known', 'Unknown')`, `'Known'` döndürür. |

## Tarih ve saat fonksiyonları

`'2026-10-08'`, `'12:34:56'` veya `'2026-10-08 12:34:56'` gibi bir tarih, saat veya tarih-saat dizesi sağlayın. Tire işaretlerinin çıkarma işlemi olarak yorumlanmaması için tarih sabitlerini tırnak içinde tutun.

Tarih hesaplama ve biçimlendirme

| Fonksiyon | Davranış ve argümanlar | Örnek ve sonuç |
| --- | --- | --- |
| `$DATE(date_string)` | `date_string` içindeki tarihi `YYYY-MM-DD` biçiminde metin olarak döndürür. | `$DATE('2026-10-08')`, `'2026-10-08'` döndürür. |
| `$DATETIME(datetime_string)` | `datetime_string` içindeki tarih ve saati `YYYY-MM-DD HH:MM:SS` biçiminde metin olarak döndürür. | `$DATETIME('2026-10-08 12:34:56')`, `'2026-10-08 12:34:56'` döndürür. |
| `$JULIANDAY(datetime_string)` | Greenwich'te MÖ 24 Kasım 4714 öğle vaktinden bu yana geçen kesirli gün sayısını döndürür. Geçen gün sayısını hesaplamak için iki Jülyen günü değerini birbirinden çıkarın. | `$JULIANDAY('2000-01-01 12:00:00')` `2451545.0` döndürür. `$JULIANDAY('2026-10-09') - $JULIANDAY('2026-10-08')`, `1.0` döndürür. |
| `$STRFTIME(format, datetime_string)` | `format` kullanılarak biçimlendirilmiş metni döndürür. Biçim, tarih veya tarih-saat girdisinden önce gelir. | `$STRFTIME('%Y-%m', '2026-10-08')`, `'2026-10'` döndürür. |
| `$TIME(time_string)` | `time_string` içindeki saati `HH:MM:SS` biçiminde metin olarak döndürür. | `$TIME('12:34:56')`, `'12:34:56'` döndürür. |

### Biçim değiştirmeleri

`$STRFTIME` içinde aşağıdaki yerine koymaları değişmez ayırıcılarla birleştirin. Örneğin, `'%Y-%m-%d %H:%M:%S'` hem tarihi hem de saati biçimlendirir. Desteklenmeyen bir ikame NULL döndürür.

Tarih ve saat biçimi yerine koymaları

| İkame | Anlamı |
| --- | --- |
| `%d` | Ayın günü, 01-31. |
| `%H` | Saat, 00-24. |
| `%f` | Kesirli kısmı olan saniye, SS.SSS. |
| `%j` | Yılın günü, 001-366. |
| `%J` | Jülyen gün sayısı. |
| `%m` | Ay, 01-12. |
| `%M` | Dakika, 00-59. |
| `%s` | 1 Ocak 1970, 00:00:00 UTC'den bu yana geçen saniye sayısı. |
| `%S` | Saniye, 00-59. |
| `%w` | Haftanın günü, 0-6; Pazar 0'dır. |
| `%W` | Yılın haftası, 00-53; haftalar Pazartesi günü başlar. |
| `%Y` | Yıl, 0000-9999. |
| `%%` | Değişmez bir yüzde işareti. |

## Veri zenginleştirme işlevleri

Kaynak veya hedef uç noktadaki bir tablodan departman adı gibi ilişkili bir değer eklemek için bir arama kullanın.

Veri zenginleştirme işlevi bağımsız değişkenleri, davranışı ve örnekleri

| Fonksiyon | Davranış ve argümanlar | Örnek ve sonuç |
| --- | --- | --- |
| `$SOURCE_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)` | `condition` ile eşleşen kayıt için `schema` içindeki kaynak uç noktasının `table` öğesinden `expression` değerini alır. Koşul parametreleri, yer tutucuları için değerleri sırasıyla sağlar. | `$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID)` kaynaktan eşleşen departman adını alır. |
| `$TARGET_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)` | `condition` ile eşleşen kayıt için, hedef uç noktanın `schema` içindeki `table` ögesinden `expression` değerini alır. Koşul parametreleri, yer tutucuları için değerleri sırasıyla sağlar. | `$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID)` hedeften eşleşen departman adını alır. |

`condition_params`, tek bir dizi bağımsız değişkenini değil, virgülle ayrılmış bir bağımsız değişken listesini temsil eder. Her iki fonksiyon da aşağıdaki parametreleri kullanır:

Arama parametreleri ve ilişkileri

| Parametre | Anlamı |
| --- | --- |
| `time_to_live` | Zorunlu önbellek ömrü; varsayılan değeri yoktur. Önbellek ömrünü saniye cinsinden, önbelleğe almayı devre dışı bırakmak için `'NO_CACHING'` veya önbelleğe alınan sonuçları süre sonu olmadan saklamak için `'NO_EXPIRATION'` değerini belirtin.<br><br>Kısa yaşam süreleri, sık değişen verileri yeniler. Daha uzun yaşam süreleri uç nokta sorgularını azaltır ancak arama verileri değiştikten sonra önbelleğe alınmış değerleri döndürebilir. Süre sonu yok seçeneğini yalnızca değişmeyen veriler için kullanın. |
| `schema` | Arama tablosunu içeren, metin olarak sağlanan şema. |
| `table` | O şema içinde sorgulanacak, metin olarak sağlanan tablo. |
| `expression` | `'DEPARTMENT_NAME'` veya `'PRICE * 1.2'` gibi, tek bir sütun değerini seçen SQL ifadesi. Dış ifadenin fonksiyon sözdizimini değil, erişilen uç noktanın SQL diyalektini kullanın. |
| `condition` | Arama kaydını belirleyen SQL koşulu. Erişilen uç noktanın lehçesini ve yer tutucu söz dizimini kullanın: örneğin, Oracle için `:1` ve `:2` veya Microsoft SQL Server için `?`. |
| `condition_params` | Koşul yer tutucularına sırasıyla bağlanan değerler. `$COMPANY_ID` ve `$DEPARTMENT_ID` gibi sütun parametreleri, geçerli satırdan değerler sağlar. |

Sorgu maliyetini azaltmak için arama alanlarını dizinleyin. İstenen kaydı belirleyen bir koşul seçin ve eklenen sütunun veri türünü seçilen değerle eşleşecek şekilde ayarlayın.

Bilgi notu`$SOURCE_LOOKUP` ve `$TARGET_LOOKUP` çağrılarının test edilmesi desteklenmemektedir. Bkz. [İfadeleri test etme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Building-expressions.htm#Testing).

### Kaynak arama örneği

Bir Oracle kaynağı için aşağıdaki ifade, `HR.DEPARTMENTS` öğesinden `DEPARTMENT_NAME` öğesini alır ve sonucu 60 saniye boyunca önbelleğe alır:

```
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID)
```

Geçerli satırda `DEPARTMENT_ID` 10 varsa ve eşleşen arama kaydı `'Sales'` içeriyorsa sonuç `'Sales'` olur.

Microsoft SQL Server kaynağı için kendi koşul yer tutucu söz dizimini kullanın. Bu örnek, şirket ve departman değerlerini bu sırayla bağlar:

```
$SOURCE_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'COMPANY_ID=? AND DEPARTMENT_ID=?', $COMPANY_ID, $DEPARTMENT_ID)
```

### Hedef arama örneği

Microsoft SQL Server hedefi için, hedef tabloyu kendi SQL lehçesini kullanarak sorgulayın:

```
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID)
```

Departman 10 için hedef arama kaydı `'Sales'` içeriyorsa, 10 girdi değeri için sonuç `'Sales'` olur.

## İşlem fonksiyonları

İşlem fonksiyonu argümanları, davranışı ve örnekleri

| Fonksiyon | Davranış ve argümanlar | Örnek ve sonuç |
| --- | --- | --- |
| `$OPERATION_INDICATOR(value_on_delete, value_on_update, value_on_insert)` | Her bir kaynak işlem için belirttiğiniz bayrağı döndürür. Bağımsız değişken sırası silme, güncelleme ve ardından eklemedir. Bayrakları saklamak için ayrılmış bir sütun kullanın ve veri türüyle eşleşen bayrak değerleri sağlayın. | `$OPERATION_INDICATOR('Deleted', 'Updated', 'Inserted')`, bir güncelleme için `'Updated'` döndürür. |

Qlik Replicate'te bu işlev silme işlemlerinin ele alınışını da değiştirir: ilgili hedef kaydı tutar ve `value_on_delete` ile işaretler. Bu silme işleme davranışı, Qlik Talend Cloud Data Integration için onay gerektirir.

## Mantıksal fonksiyonlar

Koşullu değer seçimi

| Fonksiyon | Davranış ve argümanlar | Örnek ve sonuç |
| --- | --- | --- |
| `$IFF(boolean_expression, true_value, false_value)` | `boolean_expression` true olarak değerlendirilirse `true_value` döndürür; aksi takdirde `false_value` döndürür. Önce koşulu, ardından iki sonuç değerini belirtin. | `$IFF(10 > 5, 'High', 'Low')` `'High'` döndürür. `$IFF(3 > 5, 'High', 'Low')`, `'Low'` döndürür. |

## Diğer işlevler

Desen eşleştirme ve değer türleri

| Fonksiyon | Davranış ve argümanlar | Örnek ve sonuç |
| --- | --- | --- |
| `$LIKE(pattern, string[, escape_character])` | Eşleşme durumunda 1, eşleşme olmaması durumunda 0 döndürür; NULL girdi NULL üretir. `%` sıfır veya daha fazla karakterle eşleşir; `_` bir karakterle eşleşir. Eşleştirme, varsayılan olarak ASCII büyük/küçük harf durumunu yok sayar. İsteğe bağlı kaçış bir karakterdir. `LIKE` operatörünün aksine, desen önce gelir. | `$LIKE('A%', 'Alice')` `1` döndürür. `$LIKE('10!%', '10%', '!')` `1` döndürür. |
| `$TYPEOF(expression)` | Değerin depolama sınıfını döndürür: `'null'`, `'integer'`, `'real'`, `'text'` veya `'blob'`. Bu, yapılandırılan çıktı sütunu türü değildir. | `$TYPEOF(12.5)`, `'real'` döndürür. |

## Karma fonksiyonları

Hash fonksiyonu argümanları, davranışı ve örnekleri

| Fonksiyon | Davranış ve argümanlar | Örnek ve sonuç |
| --- | --- | --- |
| `$SHA256(string)` | Girdi dizesinin onaltılık SHA-256 karmasını döndürür. | `$SHA256('abc')`, `ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad` döndürür. |

Hash bir şifreleme değildir. Tahmin edilebilir girdi değerleri, karma değerleri karşılaştırılarak yine de tespit edilebilir.