# mixmatch Komut dosyası ve grafik fonksiyonu

mixmatch fonksiyonu, ilk parametreyi ondan sonra gelen tüm parametrelerle karşılaştırır ve eşleşen ifadenin sayısal konumunu döndürür. Karşılaştırma büyük/küçük harfe, Japon Hiragana ve Katakana karakter sistemlerine duyarsızdır.

Söz Dizimi:

mixmatch( str, expr1 [ , expr2,...exprN ])

Dönüş verileri türü: tamsayı

Büyük/Küçük harf duyarlılığı karşılaştırma kullanmak isterseniz match fonksiyonunu kullanın. Büyük/Küçük harf duyarlılığı olan karşılaştırma ve joker karakterler kullanmak isterseniz wildmatch fonksiyonunu kullanın.

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| str | Değerlendirilecek dize. |
| expr1 | Geçerli bir sayı temsili denetimi için ilk ifade. |
| expr2 | Geçerli bir sayı temsili denetimi için ikinci ifade. |
| expr3 | Geçerli bir sayı temsili denetimi için üçüncü ifade. |

Örnek: Grafik ifadeleri

| Örnek | Sonuç |
| --- | --- |
| `mixmatch( ColorCode,'black','Blue' )` | Bu ifade, `ColorCode` öğesinin değeri `Black` ise `1` öğesini veya `ColorCode` öğesinin değeri `Blue` ise `2` öğesini döndürür. |
| `mixmatch( Cities,'toronto','Boston','Beijing','Zurich' )` | Bu ifade, `Cities` alanındaki değerle eşleşen öğenin dizinini döndürür. |

Bu konudaki bazı örnekler satır içi yüklemeler kullanmaktadır. [Veri yüklemek için satır içi yüklemeler kullanma](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)

## Örnek - mixmatch kullanarak ürünleri kategorilere ayırın

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

#### Grafik ifadesi

Genel bakış

Bir veri kümesi ürün verilerini içerir. Sarf edilebilir ürünleri tanımlamak ve kategorize etmek istiyorsunuz.

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`

  * `ProductCategory`

Komut dosyası

```
Example:
LOAD * INLINE [
ProductID, ProductName, ProductCategory
1, "Laptop", "Electronics"
2, "Banana", "Fruits"
3, "Shampoo", "toiletries"
4, "TV", "Electronics"
5, "Apple", "fruits"
];
```

Sonuçlar

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

* `ProductID`

* `ProductName`

* `ProductCategory`

Aşağıdaki hesaplamaları oluşturun:

* `=mixmatch(ProductCategory,'Toiletries', 'Fruits')`, `ProductCategory` öğesinin `Toiletries` veya `Fruits` değerine sahip olduğu dizini döndürmek için.

* `=If(mixmatch(ProductCategory, 'Toiletries', 'Fruits'), 'Consumable', 'Other')`, `ProductCategory` eşleşmesini `Toiletries` veya `Fruits` ile `Consumable` olaak çevirmek için. Herhangi bir eşleşme bulunamazsa `Other` döndürülür.

Bilgi notu`mixmatch` fonksiyonu, bir eşleşme bulunursa sıfır olmayan pozitif bir değer döndürür, eşleşme bulunmazsa sıfır döndürür. `if` deyimi de sıfır olmayan sonuçları `true` ve sıfır sonuçları `false` olarak yorumlar. Bir `if` deyimini `mixmatch`, `wildmatch` veya `match` fonksiyonlarıyla birleştirerek, eşleşmeleri ve uyumsuzlukları kolayca çözmek mümkündür.

Sonuçlar tablosu

| ProductID | ProductName | ProductCategory | mixmatch(ProductCategory,'Toiletries', 'Fruits') | If(mixmatch(ProductCategory, 'Toiletries', 'Fruits'), 'Consumable', 'Other') |
| --- | --- | --- | --- | --- |
| 1 | Laptop | Electronics | 0 | Other |
| 2 | Banana | Fruits | 2 | Consumable |
| 3 | Shampoo | toiletries | 1 | Consumable |
| 4 | TV | Electronics | 0 | Other |
| 5 | Apple | fruits | 2 | Consumable |

`mixmatch` fonksiyonu, ilk hesaplamadaki arama dizesinin dizinini döndürür. İkinci hesaplamada bu sonuç daha sonra özel sonuçlar sağlamak için bir `If` fonksiyonunda kullanılır. `mixmatch` fonksiyonunun büyük/küçük harfe duyarlı olmadığını unutmayın.

## Örnek - mixmatch kullanarak müşteri verilerini değerlendirin ve sınıflandırın

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

#### Grafik ifadesi

Genel bakış

Bir veri kümesi müşteri verilerini içerir. Bölge ve sektör kategorisi sınıflandırma gereksinimlerinizi karşılayan müşterileri belirlemek ve kategorize etmek istiyorsunuz.

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:

  * `ClientID`

  * `ClientName`

  * `Region`

  * `Industry`

Komut dosyası

```
Example:
LOAD * INLINE [
ClientID, ClientName, Region, Industry
1, "Acme Corp", "north", "manufacturing"
2, "Beta Ltd", "East", "Technology"
3, "Gamma Inc", "west", "Retail"
4, "Delta LLC", "North", "Technology"
5, "Epsilon GmbH", "South", "healthcare"
];
```

Sonuçlar

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

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

Şu hesaplamayı oluşturun:

`=If(mixmatch(Region, 'North', 'East') AND mixmatch(Industry, 'Technology', 'Manufacturing'), 'Target Segment', 'Secondary Segment')`, arama dizesinin dizinini döndürmek için. Bulunursa `Target Segment` döndürülür. Bulunmazsa `Secondary Segment` döndürülür.

Sonuçlar tablosu

| ClientID | ClientName | Region | Industry | If(mixmatch(Region, 'North', 'East') AND mixmatch(Industry, 'Technology', 'Manufacturing'), 'Target Segment', 'Secondary Segment') |
| --- | --- | --- | --- | --- |
| 1 | Acme Corp | north | manufacturing | Target Segment |
| 2 | Beta Ltd | East | Technology | Target Segment |
| 3 | Gamma Inc | west | Retail | Secondary Segment |
| 4 | Delta LLC | North | Technology | Target Segment |
| 5 | Epsilon GmbH | South | healthcare | Secondary Segment |

`mixmatch` fonksiyonu metin arar ve daha sonra ek analiz ve veri sınıflandırması gerçekleştirmek için kullanılabilecek bir dizin döndürür. Örneğin, `Acme Corp` hem `Region` hem de `Industry` alanları için `mixmatch` fonksiyonunun arama gereksinimlerini karşıladığından `Target Segment` olarak sınıflandırılır. `mixmatch` fonksiyonunun büyük/küçük harfe duyarlı olmadığını unutmayın.

## Örnek - mixmatch kullanan kod ekleme

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

#### Komut dosyası

Genel bakış

Veri alt kümesini yüklemek için mixmatch öğesini kullanabilirsiniz. Örneğin, fonksiyondaki bir ifade için sayısal değer döndürebilirsiniz. Daha sonra, yüklenen verileri sayısal değere göre sınırlayabilirsiniz. Bir eşleşme olmadığında Mixmatch, 0 değerini döndürür. Bu nedenle bu örnekte eşleşmeyen tüm ifadeler 0 değerini döndürür ve `WHERE` deyimi tarafından veri yüklemesinden hariç tutulur.

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:

* Şu ada sahip iki veri tablosuna yüklenen bir veri kümesi:

  * `Transactions`: İşlem alanlarını içerir

  * `Transaction_Buckets`: İki yeni alan oluşturur: `Customer` ve `Color Code - Black, Blue, blue`. `where` deyimi, `mixmatch` fonksiyonundan elde edilen sonuçları yükler.

Komut dosyası

```
Transactions:
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, m, orange
3752, 20180916, 5.75, 1, 5646471, S, blue
3753, 20180922, 125.00, 7, 3036491, l, Black
3754, 20180922, 484.21, 13, 049681, xs, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
];

/*
Create new table called Transaction_Buckets
Create new fields called Customer, and Color code - Black, Blue, blue
Load Transactions table.
Mixmatch returns 1 for 'Black', 2 for 'Blue'. 
Also returns 3 for 'blue' because mixmatch is not case sensitive.
Only values that returned numeric value greater than 0 
are loaded by WHERE statement into Transactions_Buckets table.
*/

Transaction_Buckets:
Load
   customer_id, 
   customer_id as [Customer],
   color_code as [Color Code - Black, Blue, blue]
Resident Transactions
Where mixmatch(color_code,'Black','Blue') > 0;
```

Sonuçlar

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

* `[Color Code - Black, Blue, blue]`

* `Customer`

Komut dosyasındaki mixmatchmixmatch fonksiyonunun kullanılmasından elde edilen çıktıyı gösteren sonuçlar tablosu.

| Color Code - Black, Blue, blue | Customer |
| --- | --- |
| Black | 203521 |
| Black | 3036491 |
| Blue | 2038593 |
| blue | 5646471 |

## Örnek - mixmatch kullanan grafik ifadesi

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/mixmatch.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:

  * Cities

  * Count

Komut dosyası

```
Example:
Load * inline [Cities, Count
Toronto, 123
Toronto, 234
Toronto, 231
Boston, 32
Boston, 23
Boston, 1341
Beijing, 234
Beijing, 45
Beijing, 235
Stockholm, 938
Stockholm, 39
Stockholm, 189
zurich, 2342
zurich, 9033
zurich, 0039];
```

Sonuçlar

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

* Cities

Aşağıdaki hesaplamaları oluşturun:

* =mixmatch( Cities,'Toronto','Boston','Beijing','Zurich'), arama dizesinin dizinini döndürmek için.

* =mixmatch( Cities,'Toronto','Boston','Beijing','Stockholm','Zurich'), arama dizesinin dizinini döndürmek için.

* =Cities & ' - ' & mixmatch ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','Zurich'), Cities alanını ve arama dizesinin dizinini döndürmek için.

mixmatch fonksiyonundaki ifade listesinde Stockholm yer almadığından, aşağıdaki tablodaki ilk hesaplama, Stockholm için 0 değerini döndürür. Ayrıca mixmatch karşılaştırması büyük/küçük harfe duyarlı olmadığından Zurich için 4 döndürür.

Sonuçlar tablosu

| Cities | mixmatch( Cities,'Toronto','Boston','Beijing','Zurich') | mixmatch( Cities,'Toronto','Boston','Beijing','Stockholm','Zurich') | Cities & ' - ' & mixmatch ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','Zurich') |
| --- | --- | --- | --- |
| Beijing | 3 | 3 | Beijing - 3 |
| Boston | 2 | 2 | Boston - 2 |
| Stockholm | 0 | 4 | Stockholm - 4 |
| Toronto | 1 | 1 | Toronto - 1 |
| zurich | 4 | 5 | zurich - 5 |

## Örnek - mixmatch kullanan özel sıralama ifadesi

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

#### Grafik ifadesi

Genel bakış

Bir ifadede özel bir sıralama işlemi yapmak için mixmatch kullanabilirsiniz. Bu örnekte, önceki örnekle aynı veri kümesi kullanılır.

Varsayılan olarak sütunlar, verilere bağlı olarak sayısal veya alfabetik şekilde sıralanır.

Sonuçlar

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

* Cities

Varsayılan sıralama düzenini gösteren sonuçlar tablosu

| Cities |
| --- |
| Beijing |
| Boston |
| Stockholm |
| Toronto |
| zurich |

Sıralama düzenini değiştirmek için aşağıdakileri yapın:

1. Özellikler panelinde grafiğiniz için Sıralama bölümünü açın.

2. Özel sıralama yapmak istediğiniz sütun için otomatik sıralamayı kapatın.

3. Sayısal olarak sırala ve Alfabetik olarak sırala onay kutularını temizleyin.

4. İfadeye göre sırala seçeneğini belirleyin ve şuna benzer bir ifade girin:

   =mixmatch( Cities, 'Toronto','Boston','Beijing','Stockholm','Zurich')

   Cities sütunundaki sıralama düzeni değişir.

mixmatchmixmatch fonksiyonunu kullanan sıralama düzenini gösteren sonuçlar tablosu

| Cities |
| --- |
| Toronto |
| Boston |
| Beijing |
| Stockholm |
| zurich |

## Daha fazla bilgi

* [match Komut dosyası ve grafik fonksiyonu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/match.htm)
* [wildmatch Komut dosyası ve grafik fonksiyonu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)