generateAggregations
Açıklama: Bu fonksiyon, API'den gelen toplama sonuçlarını tabloya uygun bir formata dönüştürür. Tablodaki sütunlarla eşleştirilen toplama verilerini içerir.
Kod
generateAggregations(aggResult?: IAggregationResult[]) {
return aggResult?.map((agg) => {
return {
column: agg.aggregatedBy.toLowerCase(),
type: agg.type,
value: agg.result,
};
});
}
Ne İşe Yarar?
- Toplama sonuçlarını tablo ile uyumlu hale getirir.
- Toplama sonuçlarını uygun bir formatta diğer işlemler için kullanılabilir kılar.
Parametreler
Parametre | Tipi | Açıklama |
---|---|---|
aggResult | IAggregationResult[] | API'den gelen toplama sonuçlarının listesi. |
Dönüş Değeri
Değer | Tipi | Açıklama |
---|---|---|
aggregations | ITableAggregations[] | Tabloyla uyumlu toplama sonuçları listesi. |
Kullanım Alanları
1. prepareTableData
- Kullanım Amacı: Gelen toplama sonuçlarını tablo durumuna entegre etmek için çağrılır.
- Kullanıldığı Fonksiyon:
prepareTableData
const aggregations = this.generateAggregations(response.aggregationResults);
2. AggregationPopover
- Kullanım Amacı: Kullanıcının seçtiği toplama işlemlerini işlemek ve görüntülemek için çağrılır.
- Kullanıldığı Yer:
AggregationPopover
bileşeninde.
İş Mantığı
- Veri Eşleme: Her toplama sonucunu, ilgili sütun adı (
aggregatedBy
) ve toplama türü (type
) ile eşleştirir. - Küçük Harfe Çevirme: Sütun adlarını küçük harfe çevirerek tutarlılık sağlar.
- Değer Formatlama: API'den gelen
result
değerini doğrudan tabloyla uyumlu hale getirir.
Önemli İpuçları
aggregatedBy
alanı, API'den gelen sütun adıyla eşleşmelidir. Eğer API'de farklı bir adlandırma kullanılıyorsa dönüşüm yapılmalıdır.type
alanı, toplama türünü belirtir (SUM
,AVG
, vb.). Bu türler tabloda görüntüleme sırasında kullanılabilir.- API'den gelen sonuçlarda hatalı veya eksik veri olup olmadığını kontrol etmek önemlidir.