İLERİ EXCEL BÜYÜK DOSYA PERFORMANSI

Excel logosu ve büyük dosya performans optimizasyonu için sıkıştırma simgesi

Pazartesi sabahı raporu açıyorsunuz: 1.040.000 satırlık satış dökümü. Excel pencerede beyazlaşıyor, "Yanıt vermiyor" yazısı çıkıyor, sekmenin altındaki ilerleme çubuğu 47 saniye sürüyor. Bir hücreyi düzenliyorsunuz — DÜŞEYARA formülleri zincirleme yeniden hesaplanıyor, klavye kilitleniyor. Dosya boyutu 180 MB, e-postaya sığmıyor, OneDrive senkronu sürekli kopuyor. Sorun makinenizde değil; sorun, Excel'in hücre tabanlı motorunu satır milyonlarıyla zorlamanızda. Power Pivot ve veri modeli devreye girdiğinde aynı dosya 12 MB'a iniyor ve formül anında sonuç veriyor.

Excel Neden Yavaşlar: Hücre Motorunun Sınırı

Klasik Excel, her hücreyi bağımsız bir nesne olarak tutar. 1 milyon satır × 15 sütun, 15 milyon bağımsız hücre demek. Her hücrenin biçimi, formülü, bağlantısı bellekte ayrı tutulur. Tek bir DÜŞEYARA formülü diğer 999.999 satıra kopyalandığında, hesap motoru her satırı tek tek tarar. İşlem karmaşıklığı O(n×m) olduğundan, satır sayısı iki katına çıkınca süre iki katı değil dört katı uzar.

Yavaşlığın gerçek kaynaklarını şu sırada bulursunuz:

  • Volatile (uçucu) formüller: BUGÜN, ŞİMDİ, DOLAYLI, KAYDIR — her değişiklikte tüm sayfayı yeniden hesaplar.
  • Tam sütun referansları: A:A yerine A2:A1048576 yazmak motoru gereksiz tarama yapmaya zorlar.
  • Koşullu biçimlendirme katmanları: Her kural her hücre için ayrı değerlendirilir.
  • Bağlantılı (linked) çalışma kitapları: Kapalı dosyalardan veri çekmek yeniden hesaplamayı yavaşlatır.
  • Pivot tablo önbellekleri: Aynı kaynaktan oluşturulan birden çok pivot, önbelleği paylaşmazsa dosyayı şişirir.

Power Pivot ile Sütun Tabanlı Motora Geçiş

Power Pivot, Excel'in içine gömülü bir analiz motoru olan VertiPaq'ı kullanır. VertiPaq sütun tabanlı (columnar) saklama yapar ve veriyi sıkıştırır. Bir sütundaki tekrar eden değerleri sözlük (dictionary encoding) ile kodlar — 1 milyon satırda yalnızca 50 farklı şehir adı varsa, şehir sütunu 1 milyon kez yazılmaz, 50 kez yazılır ve referans verilir. Bu yüzden 180 MB'lık xlsx dosyası, veri modeline alındığında 10-15 MB'a iner.

Satır tabanlı klasik Excel ve sütun tabanlı VertiPaq saklama yapısının yan yana karşılaştırması

Power Pivot'a veri aldıktan sonra DÜŞEYARA yazmazsınız — bunun yerine tablolar arasında ilişki kurarsınız. Satış tablosundaki MüşteriID, Müşteri tablosundaki MüşteriID ile bağlandığında, müşteri adına ulaşmak için formül çalışmaz; motor ilişkiyi takip eder. Bu, hücre formülünden bin kat daha hızlıdır çünkü ilişkiler hash tabanlı çalışır.

Power Query ile Veriyi Modele Doğru Şekilde Almak

Power Query, ham veriyi temizleyip Power Pivot'a beslemenin doğru yoludur. CSV ya da SQL bağlantısı kurarken şu kuralları uygulayın:

  1. Gereksiz sütunları en başta kaldırın — model belleğe yüklendikten sonra atmak geç kalır.
  2. Veri tiplerini açıkça belirtin: Metin yerine tarih, ondalıklı yerine tam sayı kullanmak sıkıştırma oranını artırır.
  3. Filtreleri kaynakta uygulayın — "Query folding" özelliği filtreyi SQL'e çevirir ve veriyi indirmeden eler.
  4. "Yalnızca Bağlantı Oluştur" seçeneği ile veriyi sayfaya değil, doğrudan veri modeline yükleyin.
  5. Tarih tablosunu el ile oluşturup işaretleyin — Time Intelligence DAX fonksiyonları bunu zorunlu kılar.

Bu adımları öğrenmek ve ileri seviye uygulamalar için ileri Excel eğitimi içeriklerinden yararlanabilirsiniz; özellikle veri modelleme ve DAX bölümleri büyük dosya performansı için kritik temeli kurar.

DAX Formülleri: SUMIFS Yerine CALCULATE

Klasik Excel'de SUMIFS ile milyonlarca satır arasında koşullu toplam alırken motor satır satır gezer. DAX'ta CALCULATE ve SUM birleşimi, sıkıştırılmış sütun üzerinde paralel çalışır. Örneğin:

Toplam Satış 2024 := CALCULATE( SUM(Satis[Tutar]), Tarih[Yil] = 2024 )

Bu ölçü (measure), pivot tabloya sürüklendiğinde hangi bağlamda olursa olsun (şehir, ürün, ay kırılımı) yeniden yazılmasına gerek kalmaz. Filtre bağlamı motor tarafından otomatik uygulanır. CALCULATE, FILTER, ALL, RELATED gibi DAX fonksiyonlarını anladığınızda, 50 sayfalık formül labirentini 5-6 ölçüye indirebilirsiniz. Söz dizimi ayrıntıları ve bağlam davranışı için resmi dokümantasyona başvurabilirsiniz.

Dosya Şişmesinin Sessiz Sebepleri

Bazı dosyalar mantıksız büyür. Açıp baktığınızda 20 bin satırlık tablo görürsünüz ama dosya 90 MB. Olası nedenler:

  • Kullanılmayan stiller — eski şablonlardan miras kalan binlerce hücre stili.
  • Boş gibi görünen ama biçimlendirilmiş 1.048.576. satıra kadar uzanan sütunlar.
  • Gömülü nesneler (resim, grafik) ve eski pivot önbellekleri.
  • Paylaşılan çalışma kitabı modunda kalan değişiklik geçmişi.

Çözüm: Ctrl+End ile gerçek son hücreyi görün, gereksizleri silin, "Dosya > Bilgi > Sorunları Denetle > Belge Müfettişi" ile temizleyin. xlsb (binary) formatına kaydetmek dosyayı %30-50 küçültür ve açılışı hızlandırır.

Hesaplama Modu ve Çok Çekirdek Kullanımı

Excel optimizasyon bar grafiği: dosya boyutu, hesaplama süresi ve bellek tüketiminin düşüşü

Büyük modellerle çalışırken "Formüller > Hesaplama Seçenekleri > Manuel" moduna geçin. Her hücre değişiminde tüm sayfa yeniden hesaplanmaz; F9 ile siz tetiklersiniz. "Dosya > Seçenekler > Gelişmiş > Formüller" altında çok iş parçacıklı hesaplamayı açıp mevcut çekirdek sayısını kullanın. 8 çekirdekli bir makinede tek iş parçacığında dakikalarca süren hesaplama, sekiz çekirdeğe dağıldığında 8 saniyeye düşebilir.

Ne Zaman Excel'den Çıkmalı

Power Pivot 1.999.999.997 satıra kadar veri tutabilir ama RAM sizi sınırlar. 5-10 milyon satırın üzerine çıkıyorsanız ve veri günlük büyüyorsa, Excel artık doğru araç değildir. Power BI Desktop aynı motoru (VertiPaq) kullanır ama daha geniş bellek alanı, planlanmış yenileme ve paylaşım altyapısı sunar. SQL Server, PostgreSQL ya da bir veri ambarına geçiş kaçınılmaz hale gelir. Excel raporlayıcı olarak kalır, hesap motoru olmaktan çıkar.

1 milyon satırlık dosyanın donması bir donanım problemi değildir — yaklaşım problemidir. Hücre tabanlı düşünmekten sütun tabanlı düşünmeye geçtiğinizde aynı veri, aynı makinede saniyeler yerine milisaniyelerle yanıt verir. Power Pivot, Power Query ve DAX üçlüsü Excel'in içinde ücretsiz gelir; yalnızca açıp kullanmayı bilmek gerekir.