Analitik SQL: pencere fonksiyonları ve raporlama
Pencere fonksiyonları, özyinelemeli CTE’ler, gruplama kümeleri ve pivot ile sıralama, hareketli ortalama, kohort ve huni gibi analiz raporlarını SQL’de üretirsin.
Seviye 301 · 19 ders · 15 pratik lab
Dersler
Pencere fonksiyonları
- OVER ile pencere tanımlamak
- Sıralama: ROW_NUMBER, RANK, DENSE_RANK
- Önceki ve sonraki satır: LAG ve LEAD
- Kümülatif toplamlar
- Çerçeveler ve hareketli ortalama
- FIRST_VALUE, NTILE ve yüzdelikler
- Kısa görev: bölgelere göre en iyi satıcılar
İleri sorgular
- Özyinelemeli CTE: ağaçlar ve hiyerarşiler
- Boşluklar ve adalar
- GROUPING SETS, ROLLUP ve CUBE
- Satırları sütunlara çevirmek: pivot
- LATERAL ile her grupta ilk N kayıt
- Kısa görev: kategori ağacının toplamları
Analiz kalıpları
- Kohort ve elde tutma
- Huni analizi
- Olaylardan oturum çıkarmak
- Zaman serileri ve aralıklara bölmek
- Tekrarları silmek ve en son kaydı seçmek
- Bitirme görevi: bir abonelik işinin aylık panosu
Pratik lablar
- Her mağazanın en iyi satıcısını seç: ROW_NUMBER ile Lale Market'in her şubesinde bu ay en çok satış yapan kasiyeri getir.
- Eşit puanlarda doğru sıralamayı seç: Bir yarışma sonuç tablosunda RANK, DENSE_RANK ve ROW_NUMBER'ın farkını gösterip ödül listesine uygun olanı uygula.
- Müşterileri dörde bölüp yüzdelik ver: NTILE ve yüzdelik fonksiyonlarıyla müşterileri harcama dilimlerine ayır ve her dilimin sınırlarını raporla.
- Kasanın yürüyen bakiyesini çıkar: Tarçın Restoran'ın günlük kasa hareketlerinden her satırda birikmiş bakiyeyi hesapla.
- Yedi günlük hareketli ortalama çiz: Web sitesi ziyaretlerinin yedi günlük hareketli ortalamasını doğru pencere çerçevesiyle hesapla.
- Fiyat değişimlerini LAG ile yakala: Ürün fiyat geçmişinde yalnızca fiyatın gerçekten değiştiği satırları ve değişim yüzdesini LAG ile çıkar.
- Organizasyon şemasını yürüt: Özyinelemeli CTE ile bir yöneticinin altındaki tüm çalışanları seviyeleriyle listele.
- Kategori ağacının toplamlarını çıkar: İç içe kategorilerdeki satışları özyinelemeli sorguyla her üst kategoriye topla.
- Döngüye giren hiyerarşiyi yakala: Hatalı veride kendine dönen yönetici zincirini sonsuz döngüye girmeden tespit eden özyinelemeli sorgu yaz.
- Ara toplamları ROLLUP ile ekle: Bölge ve şehir bazında satışlara ROLLUP ile ara toplamlar ve genel toplam ekle.
- Ayları sütuna çeviren rapor yaz: Kestane Mobilya'nın satışlarını ürün satırları ve ay sütunları olacak şekilde pivotla.
- Bölge başına ilk üçü LATERAL ile al: LATERAL alt sorgusuyla her bölgenin en yüksek cirolu üç müşterisini getir ve pencere çözümüyle hızını karşılaştır.
- Her müşterinin son siparişini seç: Tekrarlı kayıtlar arasından her müşterinin en son siparişini pencere fonksiyonu ile seç.
- Kayıt sonrası elde tutma tablosu kur: Yelken Sigorta'nın uygulama kullanıcıları için kayıt ayına göre aylık elde tutma oranlarını hesapla.
- Olaylardan oturum ve huni çıkar: Tıklama olaylarını 30 dakikalık boşluklarla oturumlara böl ve sepet-ödeme hunisinin adım oranlarını hesapla.
Kurs hakkında
Pencere fonksiyonları, özyinelemeli CTE’ler, gruplama kümeleri ve pivot ile sıralama, hareketli ortalama, kohort ve huni gibi analiz raporlarını SQL’de üretirsin.
Ne öğreneceksin
- Pencere fonksiyonları
- İleri sorgular
- Analiz kalıpları
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.