or
Bu egzersiz, kursun bir parçasıdır
Snowflake pencere fonksiyonlarıyla olasılıkların dünyasına pencere aç! Önce pencere fonksiyonlarını geleneksel fonksiyonlardan ayırarak başlayacaksın. Ardından bir sorgudaki her kayıt için satır numarası ve sıralama oluşturmayı öğreneceksin. Temelleri kavradıktan sonra, pencere fonksiyonlarına asıl “pencereyi” PARTITION BY ile ekleyeceksin. Belirli bir pencerenin ilk ve son değerini nasıl bulup kullanacağını keşfettikten sonra, toplama fonksiyonlarına kısa bir bakışla bölümü tamamlayacaksın.
Vitesi artırma zamanı! Bu bölümde sıralama fonksiyonlarını bir üst seviyeye taşıyacaksın. RANK'in bir varyantı olan DENSE_RANK ile başlayacak, eşitlikleri biraz farklı şekilde ele alışını göreceksin. Ayrıca, önceki derste gördüğün fonksiyonların daha güçlü bir sürümünü NTH_VALUE ile keşfedeceksin. Sonraki adımda, beklediğinden daha faydalı olan NTILE ile verileri “kovalara” böleceksin. Ayrıca bir pencerede belirli bir kayıttan küçük veya ona eşit kaç kayıt olduğunu bulmak için CUME_DIST adlı kullanışlı bir aracı öğreneceksin. Bölümü, şimdiye kadar gördüğün en güçlü pencere fonksiyonu uygulamalarından ikisiyle noktalayacaksın: LAG ve LEAD.
Bu son bölüme AVG, COUNT ve SUM gibi toplama fonksiyonlarıyla başlayacaksın. Bu fonksiyonların çıktısını bir penceredeki tekil kayıtlarla karşılaştırarak ve ek hesaplamalar yapmak için kullanarak ilerleyeceksin. Sonrasında ise pencere fonksiyonlarının en heyecan verici uygulamasına hakim olacaksın: koşan (running) ve hareketli (moving) hesaplamalar! Elektrikli araç şarjı için farklı metriklerde kümülatif ortalamalar ve toplamlar hesaplayarak başlayacaksın. Son olarak, kayan bir pencereyle hareketli toplamlar ve ortalamalar üreterek dersi tamamlayacaksın!
Geçerli egzersiz