# Aggr - grafik fonksiyonu

Aggr(), belirtilen boyut veya boyutlar üzerinde hesaplanan ifade için bir değer dizisi döndürür. Örneğin, her bölge için müşteri başına maksimum satış değeri.

Aggr işlevi, ilk parametresinin (iç toplama) her boyutsal değer için bir kez hesaplandığı iç içe geçmiş toplamalar için kullanılır. Boyutlar ikinci parametrede (ve sonraki parametrelerde) belirtilir.

Ayrıca Aggr işlevinin sonuç dizisi, içinde bulunduğu toplamaya girdi olarak kullanılarak Aggr işlevi bir dış toplama işlevinin içine alınmalıdır.

Söz Dizimi:

Aggr({SetExpression}[DISTINCT] [NODISTINCT ] expr, StructuredParameter{, StructuredParameter})

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

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

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| expr | Toplama işlevinden oluşan bir ifade. Toplama işlevi varsayılan olarak, seçim tarafından tanımlanmış olası kayıtlar kümesi üzerinden toplanır. |
| StructuredParameter | StructuredParameter, bir boyuttan ve isteğe bağlı olarak şu biçimdeki sıralama ölçütlerinden oluşur: `(Dimension(Sort-type, Ordering))`<br><br>Boyut tek bir alandır ve ifade olamaz. Boyut, Aggr ifadesinin hesaplandığı değer dizisini belirlemek için kullanılır.<br><br>Sıralama ölçütleri dahil edilirse Aggr fonksiyonu tarafından oluşturulan ve boyut için hesaplanan değer dizisi sıralanır. Bu, sıralama düzeni Aggr fonksiyonunun bulunduğu ifadenin sonucunu etkilediğinde önemli olur.<br><br>Sıralama ölçütlerinin nasıl kullanılacağıyla ilgili ayrıntılar için bkz. [Yapılandırılmış parametrede boyuta sıralama ölçütleri ekleme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/aggr.htm#Sorting). |
| SetExpression | Toplama işlevi, varsayılan olarak, seçim tarafından tanımlanmış olası kayıtlar kümesi üzerinden toplanır. Bir set analizi ifadesi ile alternatif bir kayıt kümesi tanımlanabilir. |
| DISTINCT | İfade bağımsız değişkeninden önce distinct niteleyicisi geliyorsa veya hiçbir niteleyici kullanılmamışsa, boyut değerlerinin her bir tekil kombinasyonu yalnızca bir döndürülen değer üretir. Toplamalar normalde bu yolla yapılır; boyut değerlerinin her bir tekil kombinasyonu, grafikteki bir çizgiyi oluşturur. |
| NODISTINCT | İfade bağımsız değişkeninden önce nodistinct niteleyicisi geliyorsa boyut değerlerinin her bir birleşimi, temel veri yapısına bağlı olarak, birden fazla döndürülen değer üretir. Yalnızca tek bir boyut varsa aggr fonksiyonu, kaynak verilerdeki satır sayısı ile aynı sayıda öğe içeren bir dizi döndürür. |

Sum, Min ve Avg gibi temel toplama işlevleri tek bir sayısal değer döndürürken, Aggr() fonksiyonu, başka bir toplamanın gerçekleşebileceği geçici, aşamalandırılmış bir sonuç kümesi (sanal tablo) oluşturulmasıyla karşılaştırılabilir. Örneğin, ortalama satış değerini hesaplamak için, bir Aggr() deyimi içinde müşteri bazında satışların toplamının alınması ve sonra da toplamı alınan bu sonuçların ortalamasının hesaplanması: Avg(TOTAL Aggr(Sum(Sales),Customer)).

İpucu notuBirden fazla düzey halinde iç içe geçmiş grafik toplamaları oluşturmak isterseniz hesaplanan boyutlarda Aggr() fonksiyonunu kullanın.

Sınırlamalar:

Aggr() fonksiyonundaki her boyut tek bir alan olmalıdır ve bir ifade (hesaplanan boyut) olamaz.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/aggr.htm)Yapılandırılmış parametrede boyuta sıralama ölçütleri ekleme

Temel biçiminde, Aggr fonksiyon söz dizimindeki StructuredParameter bağımsız değişkeni tek bir boyuttur. İfade: Aggr(Sum(Sales, Month)), her bir ay için toplam satış değerini bulur. Ancak, başka bir toplama işlevine dahil edildiğinde, sıralama ölçütleri kullanılmazsa beklenmedik sonuçlar ortaya çıkabilir. Bunun nedeni, bazı boyutların sayısal veya alfabetik olarak sıralanması, vb. olabilir.

Aggr fonksiyonundaki StructuredParameter bağımsız değişkeninde, ifadenizdeki boyutta sıralama ölçütlerini belirtebilirsiniz. Bu şekilde, Aggr fonksiyonu tarafından oluşturulan sanal tabloda bir sıralama düzeni uygularsınız.

StructuredParameter bağımsız değişkeni aşağıdaki söz dizimine sahiptir:

(FieldName, (Sort-type, Ordering))

Yapılandırılmış parametreler iç içe geçebilir:

(FieldName, (FieldName2, (Sort-type, Ordering)))

Sıralama türü şunlar olabilir: NUMERIC, TEXT, FREQUENCY veya LOAD\_ORDER.

Her Sıralama türüyle ilişkilendirilen Düzenleme türleri şöyledir:

İzin verilen düzenleme türleri

| Sıralama türü | İzin verilen Düzenleme türleri |
| --- | --- |
| NUMERIC | ASCENDING, DESCENDING veya REVERSE |
| TEXT | ASCENDING, A2Z, DESCENDING, REVERSE veya Z2A |
| FREQUENCY | DESCENDING, REVERSE veya ASCENDING |
| LOAD\_ORDER | ASCENDING, ORIGINAL, DESCENDING veya REVERSE |

REVERSE ve DESCENDING düzenleme türleri eşdeğerdir.

TEXT sıralama türü için ASCENDING ve A2Z düzenleme türleri ile DESCENDING, REVERSE ve Z2A eşdeğerdir.

LOAD\_ORDER sıralama türü için ASCENDING ve ORIGINAL düzenleme türleri eşdeğerdir.

## Örnekler: Aggr kullanan grafik ifadeleri

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

#### Örnekler - grafik ifadeleri

### Grafik ifadesi örneği 1

#### Komut dosyası

Aşağıdaki grafik ifadesi örneğini oluşturmak için aşağıdaki verileri veri yükleme düzenleyicisinde satır içi yükleme olarak yükleyin.

```
ProductData:

LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD|25|25
Canutility|AA|8|15
Canutility|CC|0|19
] (delimiter is '|');
```

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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

#### Grafik ifadesi

Qlik Sense sayfasında bir KPI görselleştirmesi oluşturun. Şu ifadeyi bir hesaplama olarak KPI'ya ekleyin:

`Avg(Aggr(Sum(UnitSales*UnitPrice), Customer))`

#### Sonuç

376.7

#### Açıklama

`Aggr(Sum(UnitSales*UnitPrice), Customer)` ifadesi, Customer bazında toplam satış değerini bulur ve şu değerlerden oluşan bir dizi döndürür: üç Customer değeri için 295, 715, ve 120.

Değerleri içeren özel bir tablo veya sütun oluşturmak zorunda kalmadan etkili bir şekilde değerlerin geçici listesini oluşturduk.

Bu değerler Avg() fonksiyonu için giriş olarak kullanılır ve satışların ortalama değeri olarak 376.7 bulunur.

İfadeler hakkında daha fazla bilgi için bkz. [Görselleştirmelerde ifadeleri kullanma](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm).

### Grafik ifadesi örneği 2

#### Komut dosyası

Aşağıdaki grafik ifadesi örneğini oluşturmak için aşağıdaki verileri veri yükleme düzenleyicisinde satır içi yükleme olarak yükleyin.

```
ProductData:

LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|BB|7|12
Betacab|CC|2|22
Betacab|CC|4|20
Betacab|DD|25|25
Canutility|AA|8|15
Canutility|AA|5|11
Canutility|CC|0|19
] (delimiter is '|');
```

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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

#### Grafik ifadesi

Qlik Sense sayfasında Customer, Product, UnitPrice ve UnitSales alanlarını boyut olarak kullanarak bir tablo görselleştirmesi oluşturun. Tabloya hesaplama olarak şu ifadeyi ekleyin:

`Aggr(NODISTINCT Max(UnitPrice), Customer, Product)`

#### Sonuç

| Customer | Product | UnitPrice | UnitSales | Aggr(NODISTINCT Max(UnitPrice), Customer, Product) |
| --- | --- | --- | --- | --- |
| Astrida | AA | 15 | 10 | 16 |
| Astrida | AA | 16 | 4 | 16 |
| Astrida | BB | 9 | 9 | 15 |
| Astrida | BB | 15 | 10 | 15 |
| Betacab | BB | 10 | 5 | 12 |
| Betacab | BB | 12 | 7 | 12 |
| Betacab | CC | 20 | 4 | 22 |
| Betacab | CC | 22 | 2 | 22 |
| Betacab | DD | 25 | 25 | 25 |
| Canutility | AA | 11 | 5 | 15 |
| Canutility | AA | 15 | 8 | 15 |
| Canutility | CC | 19 | 0 | 19 |

#### Açıklama

Değer dizisi: 16, 16, 15, 15, 12, 12, 22, 22, 25, 15, 15 ve 19. nodistinct niteleyicisi, dizinin kaynak verilerindeki her satır için bir öğe içerdiği anlamına gelir: her biri, her Customer ve Product için maksimum UnitPrice değeridir.

### Grafik ifadesi örneği 3

#### Komut dosyası

Aşağıdaki grafik ifadesi örneğini oluşturmak için aşağıdaki verileri veri yükleme düzenleyicisinde satır içi yükleme olarak yükleyin.

```
Set vNumberOfOrders = 1000;

OrderLines:
Load
	RowNo() as OrderLineID,
	OrderID,
	OrderDate,
	Round((Year(OrderDate)-2005)*1000*Rand()*Rand()*Rand1) as Sales
	While Rand()<=0.5 or IterNo()=1;
Load * Where OrderDate<=Today();
Load 
	Rand() as Rand1,
	Date(MakeDate(2013)+Floor((365*4+1)*Rand())) as OrderDate,
	RecNo() as OrderID
	Autogenerate vNumberOfOrders;
    
Calendar:
Load distinct
	Year(OrderDate) as Year,
	Month(OrderDate) as Month,
	OrderDate 
	Resident OrderLines;
```

#### Grafik ifadeleri

Qlik Sense sayfasında Year ve Month alanlarını boyut olarak kullanarak bir tablo görselleştirmesi oluşturun. Tabloya hesaplama olarak şu ifadeleri ekleyin:

* `Sum(Sales)`
* Tabloda Structured Aggr() olarak etiketlenmiş `Sum(Aggr( Rangesum(Above(Sum(Sales),0,12)), (Year, (Numeric, Ascending)), (Month, (Numeric, Ascending)) ))`.

#### Sonuç

| Year | Month | Sum(Sales) | Structured Aggr() |
| --- | --- | --- | --- |
| 2013 | Jan | 53495 | 53495 |
| 2013 | Feb | 48580 | 102075 |
| 2013 | Mar | 25651 | 127726 |
| 2013 | Apr | 36585 | 164311 |
| 2013 | May | 61211 | 225522 |
| 2013 | Jun | 23689 | 249211 |
| 2013 | Jul | 42311 | 291522 |
| 2013 | Aug | 41913 | 333435 |
| 2013 | Sep | 28886 | 362361 |
| 2013 | Oct | 25977 | 388298 |
| 2013 | Nov | 44455 | 432753 |
| 2013 | Dec | 64144 | 496897 |
| 2014 | Jan | 67775 | 67775 |

#### Açıklama

Bu örnek, her yıl için on iki aylık bir dönemden toplanan değerleri zaman sırasına göre artan düzende göstermektedir. Yapısal parametrelerin (Numeric, Ascending) Aggr() ifadesine dahil edilmesinin nedeni budur. Yapılandırılmış parametre olarak iki spesifik boyut gerekir: Year ve Month, sıralanmış olarak (1) Year (sayısal) ve (2) Month (sayısal). Bu iki boyut, tabloda veya grafik görselleştirmesinde kullanılmalıdır. Bu, Aggr() işlevinin boyut listesinin görselleştirmede kullanılan nesnenin boyutlarına uygun olması için gereklidir.

Bir tabloda veya ayrı çizgi grafiklerde bu hesaplamalar arasındaki farkı karşılaştırabilirsiniz:

* `Sum(Aggr(
  	Rangesum(Above(Sum(Sales),0,12)), 
  	(Year), 
  	(Month)
  	))`
* `Sum(Aggr(
  	Rangesum(Above(Sum(Sales),0,12)), 
  	(Year, (Numeric, Ascending)), 
  	(Month, (Numeric, Ascending))
  	))`

Sadece ikinci ifadenin toplama değerlerinin istendiği gibi biriktirilmesini sağlayacağı açıkça anlaşılmalıdır.

## Daha fazla bilgi

* [Temel toplama işlevleri](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/AggregationFunctions/basic-aggregation-functions.htm)
* [Set analizi](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)