FONKSİYON & FORMÜLLER
🧮

FONKSİYON & FORMÜLLER

Analizlerde sık kullanılan birçok fonksiyonun sistemde önceden tanımlı olması ve bir formülde birden fazla fonksiyon kullanabilme imkanı, Platformun analiz kabiliyetlerini güçlendirmektedir.

💡
İpucu: Fonksiyonlar, anahtar kelimeleri kullanarak çeşitli matematiksel ve istatistiksel sonuçlar elde etmek için kullanılır.
FonksiyonlarAçıklamalar
MAX(@timeseries, frequency)Zaman serisinin belirlenen frekans için maksimum değerini döndürür.
Math.max(@timeseries1, @timeseries2)İlgili zaman dilimi için iki farklı zaman serisinin maksimum değerini döndürür.
MIN(@timeseries, frequency)Zaman serisinin belirlenen frekans için minimum değerini döndürür.
Math.min(@timeseries1, @timeseries2)İlgili zaman dilimi için iki farklı zaman serisinin minimum değerini döndürür.
MEAN(@timeseries, frequency)Zaman serisinin belirlenen frekans için ortalama değerini döndürür.
SUM(@timeseries, , frequency)Zaman serisinin belirlenen frekans için toplamını döndürür.
CSUM(@timeseries, , frequency)Zaman serisinin belirlenen frekansa göre kümülatif toplamını döndürür.
FILL(MEAN(@timeseries, frequency))Tablo çözünürlüğünden daha düşük seviyede değer gösterebilmeye olanak sağlar.
TIMESHIFT(@timeseries, shiftvalue)Zaman serisi için girilen değer kadar zaman ekseninde (-) X önceki / (+) X sonraki değerini getirir.
NVL(@timeseries1, @timeseries2)Null değer yerine yeni değer atamayı sağlar.
SQRT(@timeseries)Zaman serisindeki değerlerin karekökünü döndürür.
ABS(@timeseries)Değerlerin, hesaplamaların mutlak değerini döndürür.
DECODE(expression, search1, result1, search2, result2, ..., default_result)İlgili fonksiyon ifadenin verilen değerle karşılaştırmasını yapar ve yine verilen sonuçlardan birini döndürür.

Örnekler

MAX, MIN, MEAN, SUM

Aşağıda MAX, MIN, MEAN, SUM fonksiyonları kullanılarak 1 haftalık periyot için günlük bazda Piyasa Takas Fiyatı (PTF) değerlerinin nasıl oluşturulduğuna dair örnek bir açıklama ve formülasyon verilmiştir:

Saatlik bir zaman serisi olan PTF’nin Platform’daki keyword karşılığı “@MCP” dir. Günlük bir tabloda her bir satır ilgili güne ait saat sayısı kadar PTF ile işlem yapmaya olanak tanımaktadır. Bu tabloda;

MIN(@MCP)

Günlük bazdaki tabloda “Tarih” sütunundaki gün için PTF’nın en küçük değerini döndürür.

MAX(@MCP)

Günlük bazdaki tabloda “Tarih” sütunundaki gün için PTF’nın en büyük değerini döndürür.

MEAN(@MCP)

Günlük bazdaki tabloda “Tarih” sütunundaki gün için PTF’nın aritmetik ortalama değerini döndürür.

SUM(@MCP* @DAMMatchedBidQty ) / @DAMMatchedBidQty

Günlük bazdaki tabloda “Tarih” sütunundaki gün için PTF’nın Gün Öncesi Piyasası eşleşme miktarına göre ağırlıklı ortalama fiyatını döndürür.

CSUM

Kümülatif toplamları elde etmek için kullanılan bir fonksiyondur. Tabloda seçili santrallar için üretim değerlerinin toplamı ilk sütunda gösterilirken sağ sütunda ise günlük toplam değerlerinden oluşan bir seri yaratılmıştır.

CSUM(@PP_GenerationQty)

FILL

Saat çözünürlüğünde bilgisi bulunan PTF için, gün bazında ortalama değeri hemen sağdaki sütuna FILL() fonskiyonu ile eklenmiştir.

FILL(MEAN(@MCP,1d))

TIMESHIFT

Gerçek zamanlı tüketim zaman serisinin güncel değeri ile, TIMESHIFT() fonksiyonu ile türetilmiş 7 gün önceki değeri aşağıdaki tabloda yan yana gösterilmiştir.

MEAN(TIMESHIFT(@ConsumptionQty ,-7d))

NVL, SQRT, ABS

SMF ve PTF ile fonskiyonların örneklenmesi amacıyla aşağıdaki gibi kullanılmışlardır.

NVL(@SMP,@MCP)

ABS(@MCP - NVL(@SMP,@MCP))

SMF’nin bulunmadığı saatler için PTF değerini getirerek, bu değerin PTF ile farkının mutlak değerini döndürür.

ABS(@MCP - NVL(@SMP,@MCP))

SMF’nin bulunmadığı saatler için PTF değerini getirerek, bu değerin PTF ile farkının mutlak değerinin karekökünü döndürür.

DECODE

Bir kolon ya da ifadenin, verilen değerlerle karşılaştırmasını yapar ve yine verilen sonuçlardan birini döndürür. Aşağıda barajlı üretimin filtre kullanılmadan gösterimi sağlanmıştır.

SUM (DECODE(@santral.kaynak, 'Barajlı', @PP_GenerationQty ,0))

Aşağıda ise üst kısımda elde edilen değerin toplam kümeye oranlanmış hali örneklenmiştir.

SUM (DECODE(@santral.kaynak, 'Barajlı', @PP_GenerationQty ,0)) / SUM(@PP_GenerationQty)

Aşağıda ise üst kısımda elde edilen değerin toplam kümeye oranlanmış hali örneklenmiştir.