Ana içeriğe geç
Kesit SQL
Orta · Veri Analisti

Keşifsel veri analizi (EDA): bir tabloyu tanımak

Profil çıkarma: dağılım, boşluklar, uç değerler ve tutarlılık kontrolleri.

Uygulamada aç, 3 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Analizden önce profil

Yeni bir tabloyla karşılaştığında hemen rapora geçme. Önce tablonun profilini çıkar. Bu adım hem veriyi tanımanı sağlar hem de kirli veriyi erkenden yakalar.

SoruSQL
Kaç satır? Tanecik ne?COUNT(*), COUNT(DISTINCT anahtar)
Hangi sütunlar boş?COUNT(*) - COUNT(sutun)
Sayısal aralık mantıklı mı?MIN, MAX, AVG, medyan
Kategorik değerler neler?GROUP BY sutun ORDER BY COUNT(*) DESC
Tarih aralığı?MIN(tarih), MAX(tarih)
İş kurallarına aykırı satır var mı?Fiyat < maliyet, negatif adet, gelecek tarih…
Anahtar tekrar ediyor mu?GROUP BY anahtar HAVING COUNT(*) > 1

Tek sorguda sayısal profil

SELECT COUNT(*) AS satir,
       COUNT(DISTINCT order_id) AS siparis,
       MIN(quantity) AS min_adet,
       MAX(quantity) AS max_adet,
       ROUND(AVG(quantity * 1.0), 2) AS ort_adet,
       MIN(discount) AS min_indirim,
       MAX(discount) AS max_indirim
FROM order_items;

Kategorik değerlerin dağılımı

SELECT status,
       COUNT(*) AS adet,
       ROUND(100.0 * COUNT(*) / SUM(COUNT(*)) OVER (), 1) AS yuzde
FROM orders
GROUP BY status
ORDER BY adet DESC;
Sayılar mantıklı mı?Profil sonuçlarını iş bilgisiyle karşılaştır: indirim oranı 1'den büyük olabilir mi? Doğum yılı 1900 öncesi mi? En pahalı ürün gerçekten o mu? EDA'nın değeri bu soruları sormaktadır.
Alıştırmalara geç (3)