# Crosstable

crosstable yükleme öneki "çapraz tablo" veya "pivot tablo" yapılandırılmış verileri için kullanılır. Elektronik tablo kaynaklarıyla çalışılırken bu şekilde yapılandırılmış verilerle sıkça karşılaşılır. crosstable yükleme ön ekinin çıktısı ve amacı, bu tür yapıları düzenli, sütun odaklı tablo eş değerine dönüştürmektir çünkü bu yapı genellikle Qlik Sense üzerinde yapılan analizler için daha uygundur.

Bir çapraz tablo dönüşümünden sonra çapraz tablo ve eş değeri yapıda yapılandırılmış veri örneği

Bir çapraz tablo dönüşümünden sonra çapraz tablo ve eş değeri yapıda yapılandırılmış veri örneği

Bir çapraz tablo dönüşümünden sonra çapraz tablo ve eş değeri yapıda yapılandırılmış veri örneği ![Solda bir çapraz tablo gösteren örnek.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-crosstable-overview.png)

Söz Dizimi:

crosstable (attribute field name, data field name [ , n ] ) ( loadstatement | selectstatement )

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| attribute field name | Transpoze edilecek yatay yönlendirmeli boyutu betimleyen istenen çıktı alanı adı (üstbilgi satırı). |
| data field name | Transpoze edilecek boyutun yatay yönlendirmeli verilerini betimleyen istenen çıktı alanı adı (veri değerlerinin matrisi üstbilgi satırının altındadır). |
| n | Genel amaçlı biçime dönüştürülecek tablodan önce gelen niteleyici alanların veya değişmeyen boyutların sayısı. Varsayılan değer 1'dir. |

Bu komut dosyası fonksiyonu şu fonksiyonlar ile ilgilidir:

İlgili fonksiyonlar

| Fonksiyon | Etkileşim |
| --- | --- |
| [Generic](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Generic.htm) | Varlık-öznitelik-değer olarak yapılandırılmış bir veri kümesini alıp bunu normal ilişkisel bir tablo yapısına dönüştürerek karşılaşılan her özniteliği yeni bir veri alanına veya sütununa ayıran bir dönüşüm yükleme ön eki. |

## Örnek 1 – Pivotlu satış verilerini dönüştürme (basit)

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

#### Yükleme komut dosyaları ve sonuçlar

Genel bakış

Veri yükleme düzenleyicisini açın ve aşağıdaki ilk komut dosyasını bir sekmeye ekleyin.

İlk yükleme komut dosyası, `crosstable` fonksiyonunu uygulayan bölümün kullanımdan çıkarıldığı `crosstable` kod ön ekinin daha sonra uygulanacağı veri kümesini içerir. Bu, komut dosyasındaki bu bölümü kullanımdan çıkarmak için yorum söz diziminin kullanıldığı anlamına gelir.

İkinci yükleme komut dosyası birinciyle aynıdır, ancak `crosstable` fonksiyonunun uygulanması kullanıma alınmıştır (yorum söz dizimi kaldırılarak). Komut dosyaları, bu kod fonksiyonunun veri dönüştürmedeki değerini vurgulamak için bu şekilde gösterilmektedir.

Birinci yükleme komut dosyası (fonksiyon uygulanmaz)

```
tmpData:
//Crosstable (MonthText, Sales)
Load * inline [
Product, Jan 2021, Feb 2021, Mar 2021, Apr 2021, May 2021, Jun 2021
A, 100, 98, 103, 63, 108, 82
B, 284, 279, 297, 305, 294, 292
C, 50, 53, 50, 54, 49, 51];
 
//Final:
//Load Product,
//Date(Date#(MonthText,'MMM YYYY'),'MMM YYYY') as Month,
//Sales

//Resident tmpData;

//Drop Table tmpData;
```

Satır içi yüklemeleri kullanma hakkında daha fazla bilgi için bkz. [Veri yüklemek için satır içi yüklemeler kullanma](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Sonuçlar

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

* `Product`

* `Jan 2021`

* `Feb 2021`

* `Mar 2021`

* `Apr 2021`

* `May 2021`

* `Jun 2021`

Sonuçlar tablosu

| Ürün | Oca 2021 | Şub 2021 | Mar 2021 | Nis 2021 | May 2021 | Haz 2021 |
| --- | --- | --- | --- | --- | --- | --- |
| A | 100 | 98 | 103 | 63 | 108 | 82 |
| B | 284 | 279 | 297 | 305 | 294 | 292 |
| C | 50 | 53 | 50 | 54 | 49 | 51 |

Bu komut dosyası, her ay için bir sütun ve her ürün için bir satır ile bir çapraz tablo oluşturulmasına izin vermektedir. Mevcut biçiminde, bu verilerin analiz edilmesi kolay değildir. Üç sütunlu bir tabloda tüm sayıların bir alanda, tüm ayların başka bir alanda olması çok daha iyi olurdu. Sonraki bölüm, çapraz tabloya bu dönüşümün nasıl yapılacağını açıklamaktadır.

İkinci yükleme komut dosyası (fonksiyon uygulanır)

`//` karakterlerini kaldırarak kodu kullanıma alın. Yüklenen kod şöyle görünmelidir:

```
tmpData:
Crosstable (MonthText, Sales)
Load * inline [
Product, Jan 2021, Feb 2021, Mar 2021, Apr 2021, May 2021, Jun 2021
A, 100, 98, 103, 63, 108, 82
B, 284, 279, 297, 305, 294, 292
C, 50, 53, 50, 54, 49, 51];
 
Final:
Load Product,
Date(Date#(MonthText,'MMM YYYY'),'MMM YYYY') as Month,
Sales

Resident tmpData;

Drop Table tmpData;
```

Satır içi yüklemeleri kullanma hakkında daha fazla bilgi için bkz. [Veri yüklemek için satır içi yüklemeler kullanma](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Sonuçlar

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

* `Product`

* `Month`

* `Sales`

Sonuçlar tablosu

| Ürün | Ay | Satışlar |
| --- | --- | --- |
| A | Jan 2021 | 100 |
| A | Feb 2021 | 98 |
| A | Mar 2021 | 103 |
| A | Apr 2021 | 63 |
| A | May 2021 | 108 |
| A | Jun 2021 | 82 |
| B | Jan 2021 | 284 |
| B | Feb 2021 | 279 |
| B | Mar 2021 | 297 |
| B | Apr 2021 | 305 |
| B | May 2021 | 294 |
| B | Jun 2021 | 292 |
| C | Jan 2021 | 50 |
| C | Feb 2021 | 53 |
| C | Mar 2021 | 50 |
| C | Apr 2021 | 54 |
| C | May 2021 | 49 |
| C | Jun 2021 | 51 |

Kod ön eki uygulandıktan sonra çapraz tablo, `Month` için bir ve `Sales` için başka bir sütun ile düz bir tabloya dönüştürülür. Bu, verilerin okunabilirliğini artırır.

## Örnek 2 – Pivotlu satış hedefi verilerini dikey bir tablo yapısına dönüştürme (ara aşama)

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

#### Komut dosyası ve 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:

* Targets adlı bir tabloya yüklenen bir veri kümesi.

* Pivotlu satış elemanı adlarını `Sales Person` etiketli kendi alanına transpoze eden `crosstable` yükleme ön eki.

* `Target` adlı bir alana yapılandırılan ilişkili satış hedefi verileri.

Komut dosyası

```
SalesTargets:
CROSSTABLE([Sales Person],Target,1)
LOAD
*
INLINE [
Area, Lisa, James, Sharon
APAC, 1500, 1750, 1850
EMEA, 1350, 950, 2050
NA, 1800, 1200, 1350
];
```

Sonuçlar

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

* `Area`

* `Sales Person`

Şu hesaplamayı ekleyin:

`=Sum(Target)`

Sonuçlar tablosu

| Alan | Satış Personeli | =Sum(Target) |
| --- | --- | --- |
| APAC | James | 1750 |
| APAC | Lisa | 1500 |
| APAC | Sharon | 1850 |
| EMEA | James | 950 |
| EMEA | Lisa | 1350 |
| EMEA | Sharon | 2050 |
| Geçerli değil | James | 1200 |
| Geçerli değil | Lisa | 1800 |
| Geçerli değil | Sharon | 1350 |

Verilerin pivot giriş tablosu olarak görüntülenmesini çoğaltmak istiyorsanız bir sayfada eş değer bir pivot tablo oluşturabilirsiniz.

Aşağıdakileri yapın:

1. Az önce oluşturduğunuz tabloyu kopyalayıp sayfaya yapıştırın.
2. Pivot tablo grafik nesnesini yeni oluşturulan tablo kopyasının üzerine sürükleyin. Dönüştür'ü seçin.
3. the Düzenleme bitti icon'ye tıklayın.
4. `Sales Person` alanını dikey sütun rafından yatay sütun rafına sürükleyin.

Aşağıdaki tablo, verileri ilk tablo biçiminde, Qlik Sense içinde görüntülendiği haliyle göstermektedir:

Qlik SenseQlik Sense içinde görüntülendiği haliyle asıl sonuçlar tablosu

| Alan | Satış Personeli | =Sum(Target) |
| --- | --- | --- |
| Toplamlar | - | 13800 |
| APAC | James | 1750 |
| APAC | Lisa | 1500 |
| APAC | Sharon | 1850 |
| EMEA | James | 950 |
| EMEA | Lisa | 1350 |
| EMEA | Sharon | 2050 |
| Geçerli değil | James | 1200 |
| Geçerli değil | Lisa | 1800 |
| Geçerli değil | Sharon | 1350 |

Eş değer pivot tablo; satış elemanının adının sütunu `Sales Person` için daha büyük satırın içinde kalacak şekilde olmak üzere şuna benzer:

`Sales Person`Sales Person alanı yatay pivot olarak eş değer pivot tablo

| Alan | James | Lisa | Sharon |
| --- | --- | --- | --- |
| APAC | 1750 | 1500 | 1850 |
| EMEA | 950 | 1350 | 2050 |
| Geçerli değil | 1350 | 1350 | 1350 |

Verilerin bir tablo ve `Sales Person` alanı yatay pivot yapılarak eş değer bir pivot tablo olarak gösterilmesine örnek

Verilerin bir tablo ve `Sales Person` alanı yatay pivot yapılarak eş değer bir pivot tablo olarak gösterilmesine örnek

Verilerin bir tablo ve `Sales Person`Sales Person alanı yatay pivot yapılarak eş değer bir pivot tablo olarak gösterilmesine örnek ![Çapraz tablo fonksiyonu kullanılarak yapılan veri dönüştürmeye örnek.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-crosstable-example-pivot-table-comp.png)

## Örnek 3 – Pivotlu satışları ve hedef verileri dikey bir tablo yapısına dönüştürme (gelişmiş)

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

#### Komut dosyası ve 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:

* Satış ve hedeflerin verilerini temsil eden, bölgeye ve aya göre düzenlenmiş bir veri kümesi. Bu, SalesAndTargets adlı bir tabloya yüklenir.

* crosstable yükleme ön eki. Bu, Month Year boyutunu pivot olmaktan çıkarıp özel bir alan yapmanın yanı sıra satışlar ve hedef miktarlar matrisini Amount adlı özel bir alana transpoze etmek için kullanılır.

* Month Year alanının, metinden tarihe dönüştürme fonksiyonu date# kullanılarak metinden düzgün bir tarihe dönüştürülmesi. Tarihe dönüştürülmüş bu Month Year alanı, bir Join yükleme ön ekiyle SalesAndTarget tablosu ile geri birleştirilir.

Komut dosyası

```
SalesAndTargets:
CROSSTABLE(MonthYearAsText,Amount,2)
LOAD
	*
INLINE [
Area	Type	Jan-22	Feb-22	Mar-22	Apr-22	May-22	Jun-22	Jul-22	Aug-22	Sep-22	Oct-22	Nov-22	Dec-22
APAC	Target	425	425	425	425	425	425	425	425	425	425	425	425
APAC	Actual	435	434	397	404	458	447	413	458	385	421	448	397
EMEA	Target	362.5	362.5	362.5	362.5	362.5	362.5	362.5	362.5	362.5	362.5	362.5	362.5
EMEA	Actual	363.5	359.5	337.5	361.5	341.5	337.5	379.5	352.5	327.5	337.5	360.5	334.5
NA	Target	375	375	375	375	375	375	375	375	375	375	375	375
NA	Actual	378	415	363	356	403	343	401	365	393	340	360	405
] (delimiter is '\t');

tmp:
LOAD DISTINCT MonthYearAsText,date#(MonthYearAsText,'MMM-YY') AS [Month Year]
RESIDENT SalesAndTargets;

JOIN (SalesAndTargets)
LOAD * RESIDENT tmp;

DROP TABLE tmp;
DROP FIELD MonthYearAsText;
```

Sonuçlar

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

* Area

* Month Year

Actual etiketiyle şu hesaplamayı oluşturun:

=Sum({&lt;Type={'Actual'}&gt;} Amount)

Target etiketiyle şu hesaplamayı da oluşturun:

=Sum({&lt;Type={'Target'}&gt;} Amount)

Sonuçlar tablosu (kısaltılmış)

| Alan | Ay Yıl | Gerçek | Hedef |
| --- | --- | --- | --- |
| APAC | Jan-22 | 435 | 425 |
| APAC | Feb-22 | 434 | 425 |
| APAC | Mar-22 | 397 | 425 |
| APAC | Apr-22 | 404 | 425 |
| APAC | May-22 | 458 | 425 |
| APAC | Jun-22 | 447 | 425 |
| APAC | Jul-22 | 413 | 425 |
| APAC | Aug-22 | 458 | 425 |
| APAC | Sep-22 | 385 | 425 |
| APAC | Oct-22 | 421 | 425 |
| APAC | Nov-22 | 448 | 425 |
| APAC | Dec-22 | 397 | 425 |
| EMEA | Jan-22 | 363.5 | 362.5 |
| EMEA | Feb-22 | 359.5 | 362.5 |

Verilerin pivot giriş tablosu olarak görüntülenmesini çoğaltmak istiyorsanız bir sayfada eş değer bir pivot tablo oluşturabilirsiniz.

Aşağıdakileri yapın:

1. Az önce oluşturduğunuz tabloyu kopyalayıp sayfaya yapıştırın.
2. Pivot tablo grafik nesnesini yeni oluşturulan tablo kopyasının üzerine sürükleyin. Dönüştür'ü seçin.
3. the Düzenleme bitti icon 'ye tıklayın.
4. Month Year alanını dikey sütun rafından yatay sütun rafına sürükleyin.
5. Values öğesini yatay sütun rafından dikey sütun rafına sürükleyin.

Aşağıdaki tablo, verileri ilk tablo biçiminde, Qlik Sense içinde görüntülendiği haliyle göstermektedir:

Qlik SenseQlik Sense içinde görüntülendiği haliyle asıl sonuçlar tablosu (kısaltılmış)

| Alan | Ay Yıl | Gerçek | Hedef |
| --- | --- | --- | --- |
| Toplamlar | - | 13812 | 13950 |
| APAC | Jan-22 | 435 | 425 |
| APAC | Feb-22 | 434 | 425 |
| APAC | Mar-22 | 397 | 425 |
| APAC | Apr-22 | 404 | 425 |
| APAC | May-22 | 458 | 425 |
| APAC | Jun-22 | 447 | 425 |
| APAC | Jul-22 | 413 | 425 |
| APAC | Aug-22 | 458 | 425 |
| APAC | Sep-22 | 385 | 425 |
| APAC | Oct-22 | 421 | 425 |
| APAC | Nov-22 | 448 | 425 |
| APAC | Dec-22 | 397 | 425 |
| EMEA | Jan-22 | 363.5 | 362.5 |
| EMEA | Feb-22 | 359.5 | 362.5 |

Eş değer pivot tablo; yılın her bir ayının sütunu Month Year için daha büyük satırın içinde kalacak şekilde olmak üzere şuna benzer:

Month YearMonth Year alanı yatay pivot yapılmış olarak eş değer pivot tablo (kısaltılmış)

| Alan (Değerler) | Jan-22 | Feb-22 | Mar-22 | Apr-22 | May-22 | Jun-22 | Jul-22 | Aug-22 | Sep-22 | Oct-22 | Nov-22 | Dec-22 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| APAC - Gerçek | 435 | 434 | 397 | 404 | 458 | 447 | 413 | 458 | 385 | 421 | 448 | 397 |
| APAC - Hedef | 425 | 425 | 425 | 425 | 425 | 425 | 425 | 425 | 425 | 425 | 425 | 425 |
| EMEA - Gerçek | 363.5 | 359.5 | 337.5 | 361.5 | 341.5 | 337.5 | 379.5 | 352.5 | 327.5 | 337.5 | 360.5 | 334.5 |
| EMEA - Hedef | 362.5 | 362.5 | 362.5 | 362.5 | 362.5 | 362.5 | 362.5 | 362.5 | 362.5 | 362.5 | 362.5 | 362.5 |
| Geçerli değil - Gerçek | 378 | 415 | 363 | 356 | 403 | 343 | 401 | 365 | 393 | 340 | 360 | 405 |
| Geçerli Değil - Hedef | 375 | 375 | 375 | 375 | 375 | 375 | 375 | 375 | 375 | 375 | 375 | 375 |

Verilerin bir tablo ve Month Year alanı yatay pivot yapılarak eş değer bir pivot tablo olarak gösterilmesine örnek

Verilerin bir tablo ve Month Year alanı yatay pivot yapılarak eş değer bir pivot tablo olarak gösterilmesine örnek

Verilerin bir tablo ve Month YearMonth Year alanı yatay pivot yapılarak eş değer bir pivot tablo olarak gösterilmesine örnek ![Verilerin bir tablo ve Month Year alanı yatay pivot yapılarak eş değer bir pivot tablo olarak görüntülenmesine örnek.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-crosstable-advanced-example-pivot-table-comp2.png)

## Daha fazla bilgi

* [Veri yükleme betiğinde çapraz tablolarla çalışma](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/LoadData/work-with-cross-tables.htm)
* [Generic](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Generic.htm)
* [Load](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)
* [Select](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)