# Top - grafik fonksiyonu

Top(), bir tabloda sütun segmentinin ilk (en üstteki) satırında bulunan bir ifadeyi değerlendirir. Hesaplandığı satır offset değerine göre değişir (varsa) ve varsayılan ayar en üst satırdır. Tablolar dışındaki grafikler için Top() değerlendirmesi, grafiğin düz tablo eşdeğerinde geçerli sütunun ilk satırı üzerinde yapılır.

Söz Dizimi:

Top([TOTAL] expr [ , offset [,count ]])

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

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| expr | Hesaplanacak verileri içeren ifade veya alan. |
| offset | 1'den büyük bir offset n belirtildiğinde, ifadenin değerlendirmesi üst satırın altında n satır aşağı taşınır.<br><br>Negatif offset sayısı belirtilmesi, Top fonksiyonunun karşılık gelen pozitif offset sayısı ile Bottom fonksiyonu gibi çalışmasını sağlar. |
| count | 1'den büyük üçüncü bir parametre count değeri belirtildiğinde, fonksiyon, geçerli sütun segmentinin her son count satırı için bir adet olmak üzere bir count değerleri aralığı döndürür. Bu biçimde, fonksiyon herhangi bir özel aralık fonksiyonuna yönelik bir bağımsız değişken olarak kullanılabilir. [Aralık fonksiyonları](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm) |
| TOTAL | Tablo tek boyutluysa veya TOTAL niteleyicisi bir bağımsız değişken olarak kullanılıyorsa, geçerli sütun segmenti her zaman sütunun tamamına eşittir.<br><br>[Toplama kapsamını tanımlama](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Bilgi notuSütun segmenti, geçerli sıralama düzeninde boyutlar için aynı değerlere sahip olan ardışık hücreler kümesi olarak tanımlanır. Kayıtlar arası grafik fonksiyonları, eşdeğer düz tablo grafiğinde en sağdaki boyut hariç tutularak sütun segmentinde hesaplanır. Grafikte yalnızca bir boyut varsa veya TOTAL niteleyicisi belirtilirse, ifade tüm tablo genelinde değerlendirilir.

Bilgi notuTablo veya tablo eşdeğeri birden çok dikey boyuta sahipse, geçerli sütun segmenti, alanlar arası sıralama düzenindeki son boyutu gösteren sütun haricinde tüm boyut sütunlarında geçerli satır olarak yalnızca aynı değerlere sahip satırları içerir.

Sınırlamalar:

* Yinelemeli çağrılar NULL sonucunu döndürür.

* Grafiğin ifadelerinden herhangi birinde bu grafik fonksiyonu kullanıldığında grafiklerde y değerlerine veya tablolarda ifade sütunlarına göre sıralamaya izin verilmez. Bu nedenle, söz konusu sıralama alternatifleri otomatik olarak devre dışı bırakılır. Bir görselleştirmede veya tabloda bu grafik fonksiyonunu kullandığınızda, görselleştirmenin sıralaması bu fonksiyonun sıralanmış girdisine geri döner.

Örnek: Grafik ifadeleri

| Örnek | Sonuç |
| --- | --- |
| `Top( Sum(Sales) )` | Bir tablodaki sütun segmentinin ilk (en üst) satırı için `Sales` değerini döndürür. |

## Örnek - Top temel bilgileri

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

  * `Year`

  * `Sales`

Komut dosyası

```
Example:
LOAD * INLINE [
Year, Sales
2019, 1000
2020, 1500
2021, 1200
2022, 1800
2023, 1700
];
```

Sonuçlar

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

* `Year`

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

* `=Sum(Sales)`, yıllık satışları bulmak için.

* `=Top(Sum(Sales))`, ilk yılın satış değerini, yani bir tablodaki bir sütunun ilk (en üst) satırını bulmak için.

* `=Sum(Sales) - Top(Sum(Sales))`, geçeli satırın `Sales` değeri ile bir sütunun ilk (en üst) satırındaki değer arasındaki farkı hesaplamak için.

* `=Sum(Sales)-Top(Sum(Sales), 3)`, geçerli satırın satış değeri ile üsten 3. satırın değeri arasındaki farkı hesaplamak için.

* `=(Sales - Top(Sales)) / Top(Sales)`, `Sales` içindeki değişikliği ilk satırla karşılaştırarak bir oran/yüzde olarak döndürmek için. Bu değeri yüzde olarak göstermek için Sayı biçimlendirme altında, Sayı &gt; Basit Biçimlendirme &gt; %12,34 öğesini seçin.

Tabloyu, `Year` boyutunda artan sırada sıralayın.

Sonuçlar tablosu

| Year | Sum(Sales) | Top(Sum(Sales)) | Sum(Sales) - Top(Sum(Sales)) | Sum(Sales)-Top(Sum(Sales), 3) | (Sales - Top(Sales)) / Top(Sales) |
| --- | --- | --- | --- | --- | --- |
| Totals | 7200 | 1000 | 6200 | 6000 | - |
| 2019 | 1000 | 1000 | 0 | -200 | 0.00% |
| 2020 | 1500 | 1000 | 500 | 300 | 50.00% |
| 2021 | 1200 | 1000 | 200 | 0 | 20.00% |
| 2022 | 1800 | 1000 | 800 | 600 | 80.00% |
| 2023 | 1700 | 1000 | 700 | 500 | 70.00% |

Sonuçlara bakarak, geçerli dönemdeki `Sales` değerlerini bir en üstteki (veya ilk) dönemle karşılaştırabilirsiniz.

* `Sum(Sales) - Top(Sum(Sales))` hesaplaması, geçerli dönemi ilk dönemle karşılaştırarak `Sales` değerlerindeki farkı döndürür.

* `Sum(Sales)-Top(Sum(Sales), 3)` hesaplaması, mevcut satır eksi üstten üçüncü dönem için `Sales` toplamını döndürür.

* `=(Sales - Top(Sales)) / Top(Sales)` hesaplaması, ilk döneme kıyasla `Sales` değerindeki değişikliği yüzde olarak döndürür.

İpucu notuBu fonksiyon tablolar dışında grafiklerde de (örneğin, sütun grafiklerinde) kullanılabilir.

Aşağıdakileri yapın:

Bir sütun grafik oluşturun ve bu alanı boyut olarak ekleyin:

* `Year`

Şu hesaplamayı oluşturun:

* `=Sum(Sales)- Top(Sum(Sales))`, cari dönem ile en üstteki dönem arasındaki satış farkını döndürmek için kullanılır.

Top fonksiyonu için sonuçları gösteren sütun grafik

Top fonksiyonu için sonuçları gösteren sütun grafik

TopTop fonksiyonu için sonuçları gösteren sütun grafik ![Cari dönem ile en üstteki (ilk) dönem arasındaki satış farkını gösteren sütun grafik.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-top-example.png)

Bir sütun grafikte `Top` fonksiyonunun kullanılması, cari dönem ile en üstteki (veya ilk) dönem satışları arasındaki farkın görsel olarak karşılaştırılmasını sağlar.

## Örnek - Top senaryosu

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

  * `OrderID`

  * `Product`

  * `SalesValue`

  * `OrderDate`

Komut dosyası

```
Example:
LOAD * INLINE [
OrderID, Product, SalesValue, OrderDate
1, "Product A", 500, '2023-01-10'
2, "Product B", 300, '2023-01-15'
3, "Product C", 450, '2023-02-01'
4, "Product D", 700, '2023-02-20'
5, "Product E", 350, '2023-03-05'
];
```

Sonuçlar

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

* `Product`

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

* `=RangeAvg(Top(Sum(SalesValue),1,3))`, en üstteki üç satırın ortalamasını döndürmek için.

* `=Sum(SalesValue) - RangeAvg (Top(Sum(SalesValue),1,3))`, geçerli satır ile en üstteki üç satırın ortalaması arasındaki farkı hesaplamak için kullanılır.

* `=Sum(SalesValue)`, geçerli satırın toplam `SalesValue` değerini hesaplamak için.

Sonuçlar tablosu

| Product | RangeAvg(Top(Sum(SalesValue),1,3)) | Sum(SalesValue) - RangeAvg (Top(Sum(SalesValue),1,3)) | Sum(SalesValue) |
| --- | --- | --- | --- |
| Totals | 416.67 | 1883.33 | 2300 |
| 2019 | 416.67 | 83.33 | 500 |
| 2020 | 416.67 | --116.67 | 300 |
| 2021 | 416.67 | 33.33 | 450 |
| 2022 | 416.67 | 283.33 | 700 |
| 2023 | 416.67 | -66.67 | 350 |

Sonuçlar, satış değerlerini analiz etmek ve karşılaştırmak için `RangeSum` fonksiyonu ile `Top` fonksiyonunun bir kombinasyonunu nasıl kullanabileceğinizi göstermektedir.

## Örnek - Top kullanan grafik ifadesi

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

* `Monthnames` ve `Sales2013` adlı iki veri tablosu.

Komut dosyası

```
Monthnames:
LOAD *, Dual(MonthText,MonthNumber) as Month INLINE [
MonthText, MonthNumber
Jan, 1
Feb, 2
Mar, 3
Apr, 4
May, 5
Jun, 6
Jul, 7
Aug, 8
Sep, 9
Oct, 10
Nov, 11
Dec, 12
];

Sales2013:
Crosstable (MonthText, Sales) LOAD * inline [
Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
Astrida|46|60|70|13|78|20|45|65|78|12|78|22
Betacab|65|56|22|79|12|56|45|24|32|78|55|15
Canutility|77|68|34|91|24|68|57|36|44|90|67|27
Divadip|57|36|44|90|67|27|57|68|47|90|80|94
] (delimiter is '|'); 
                                
```

Sonuçlar

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

* `Customer`

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

* `=Sum(Sales)`, satışların toplamını hesaplamak için.

* `=Top(Sum(Sales))`, en üstteki satırdaki `Customer` satışların toplamını göstermek için.

* `=Sum(Sales)+Top(Sum(Sales))`, mevcut `Customer` öğesinin `Sum(Sales)` değerini en üstteki satırda `Customer` öğesiyle toplamak için.

* `=Sum(Sales)+Top(Sum(Sales), 3)`, mevcut `Customer` öğesinin `Sum(Sales)` değerini en üstten üçüncü olan `Customer` değeriyle toplamak için.

Sonuçlar tablosu

| Customer | Sum(Sales) | Top(Sum(Sales)) | Sum(Sales)+Top(Sum(Sales)) | Sum(Sales)+Top(Sum(Sales), 3) |
| --- | --- | --- | --- | --- |
| Totals | 2566 | 587 | 3153 | 3249 |
| Astrida | 587 | 587 | 1174 | 1270 |
| Betacab | 539 | 587 | 1126 | 1222 |
| Canutilty | 683 | 587 | 1270 | 1366 |
| Divadip | 757 | 587 | 1344 | 1440 |

`Top(Sum(Sales))` hesaplaması, tüm satırlar için `587` döndürür çünkü üst satırın değeri budur: `Astrida`.

`Sum(Sales)+Top(Sum(Sales))` hesaplaması için `Betacab`, `Betacab` için `Sum(Sales)` değerini ve en üstteki satırda `Customer` olan `Astrida` değerini toplamanın sonucu olan `1126` değerini döndürür.

`Sum(Sales)+Top(Sum(Sales), 3)` hesaplaması için `offset` bağımsız değişkeni, `3` olarak ayarlanır. İfade, geçerli satır ve üstten üçüncü satır `Canutility` için `Sum(Sales)` değerini toplar. Örneğin, `Divadip` müşterisi için `1440` değeri döndürülür. Bu, `Divadip` `Sum(Sales)` değerinin ve `Canutility` için `SumSales` değerinin (`757`+`683`) toplanmasının sonucudur.

## Daha fazla bilgi

* [Bottom - grafik fonksiyonu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)
* [Above - grafik fonksiyonu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/above.htm)
* [Sum - grafik fonksiyonu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/sum.htm)
* [RangeAvg Komut dosyası ve grafik fonksiyonu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangeavg.htm)
* [Aralık fonksiyonları](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm)