# SubField - kod ve grafik fonksiyonu

Subfield(), bir üst dize alanından alt dize bileşenlerini çıkarmak için kullanılır ve burada orijinal kayıt alanları ayırıcı ile ayrılmış iki veya daha fazla bölümden oluşur.

Subfield() fonksiyonu örneğin, tam adlardan oluşan bir kayıt listesinden adı veya soyadı çıkarmak, bir yol adının bileşen parçalarına çıkarmak veya virgülle ayrılmış tablolardan verileri çıkarmak için kullanılabilir.

Subfield() fonksiyonunu bir LOAD deyimi içinde isteğe bağlı field\_no parametresini hariç bırakarak kullanırsanız, her bir alt dize için bir tam kayıt üretilir. Subfield() kullanılarak birkaç alan yüklenirse, tüm kombinasyonların Kartezyen çarpımları oluşturulur.

Söz Dizimi:

SubField(text, delimiter[, field\_no ])

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

Bağımsız Değişkenler:

SubField bağımsız değişkenleri

| Bağımsız Değişken | Açıklama |
| --- | --- |
| text | Orijinal dize. Bu bir sabit kodlanmış metin, değişken, dolar işareti genişletmesi veya başka bir ifade olabilir. |
| delimiter | Dizeyi bileşen parçalarına ayıran text girişi içindeki bir karakter. |
| field\_no | İsteğe bağlı üçüncü bağımsız değişken, text ana dizesinin hangi alt dizelerinin döndürüleceğini belirten bir tamsayıdır.<br><br><ul> <li><span>field_no</span> pozitif değer ise, alt dizeler soldan sağa çıkarılır.</li> <li><span>field_no</span> negatif değer ise, alt dizeler sağdan sola çıkarılır.</li> </ul> |

İpucu notu Len(), Right(), Left(), Mid() gibi fonksiyonların ve diğer dize fonksiyonlarının karmaşık kombinasyonlarını kullanmak yerine SubField() kullanılabilir.

Örnekler ve sonuçlar:

Örnekler 1-3

| Örnek | Sonuç |
| --- | --- |
| ` SubField('abc;cde;efg', ';', 2)  ` | 'cde' döndürür |
| ` SubField('', ';', 1)  ` | NULL döndürür |
| ` SubField(';', ';', 1)  ` | Boş bir dize döndürür |

Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgenizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları ekleyin.

`FullName:` `LOAD * inline [` `Name` `'Dave Owen'` `'Joe Tem'` `];` ` ` `SepNames:` `Load Name,` `SubField(Name, ' ',1) as FirstName,` `SubField(Name, ' ',-1) as Surname` `Resident FullName;` `Drop Table FullName;`

Örnek 4

| Name | FirstName | Surname |
| --- | --- | --- |
| Dave Owen | Dave | Owen |
| Joe Tem | Joe | Tem |

vMyPath,

`Set vMyPath=\Users\ext_jrb\Documents\Qlik\Sense\Apps;` yol adını içeren bir değişkeniniz olduğunu varsayalım.

Metin ve resim grafiğinde aşağıda örnekleri verilen bir ölçü ekleyebilirsiniz:  
`SubField(vMyPath, '\',-3``)`, bu, vMyPath değişkeninin sağ ucundaki üçüncü alt dize olduğundan 'Qlik' ile sonuçlanır.

Bu örnekte, tek bir Subfield() alanından nasıl birden fazla satırın oluşturulduğu gösterilmiştir.

Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgenizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları ekleyin.

`LOAD DISTINCT` `Player,` `SubField(Project,',') as Project;` ` ` `Load * inline [` `Player|Project` `Neil|Music,OST` `Jo|Music` `Mike|Music,OST,Video` `] (delimiter is '|');`

Örnek 5

| Player | Project |
| --- | --- |
| Neil | Music |
| Neil | OST |
| Jo | Music |
| Mike | Music |
| Mike | OST |
| Mike | Video |

Bu örnekte, aynı LOAD deyimi içinden, Subfield() fonksiyonunun birden çok örneğini, her biri field\_no parametresi dışarıda bırakılmış olarak kullanmanın, tüm kombinasyonların Kartezyen ürünlerini nasıl oluşturduğu gösterilmektedir. DISTINCT seçeneği, çoğaltılmış kayıt oluşturmamak için kullanılır.

Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgenizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları ekleyin.

`LOAD DISTINCT` `Instrument,` `SubField(Player,',') as Player,` `SubField(Project,',') as Project;` ` ` `Load * inline [` `Instrument|Player|Project` `Guitar|Neil,Mike|Music,Video` `Guitar|Neil|Music,OST` `Synth|Neil,Jen|Music,Video,OST` `Synth|Jo|Music` `Guitar|Neil,Mike|Music,OST` `] (delimiter is '|');`

Örnek 6

| Instrument | Player | Project |
| --- | --- | --- |
| Guitar | Mike | Music |
| Guitar | Mike | Video |
| Guitar | Mike | OST |
| Guitar | Neil | Music |
| Guitar | Neil | Video |
| Guitar | Neil | OST |
| Synth | Jen | Music |
| Synth | Jen | Video |
| Synth | Jen | OST |
| Synth | Jo | Music |
| Synth | Neil | Music |
| Synth | Neil | Video |
| Synth | Neil | OST |