Engin.Demir
Yeni Üye
- Katılım
- 3 Eyl 2026
- Mesajlar
- 6
- Aldığı beğeni
- 1
- Excel V
- Office 2021 TR
Konu Sahibi
Selamlar herkese, iyi forumlar dilerim.
Şirkette veri analitiği departmanında çalışıyorum ve her ay yaklaşık 1.2 milyon satırlık ham satış datasıyla rapor hazırlamam gerekiyor. Yapmak istediğim şey şu: A sütununda Bölge, B sütununda Mağaza Tipi ve C sütununda Ürün ID var. Benim bu üç kritere göre "Benzersiz (Unique) satılan ürün sayısını" bulup rapor sayfasına yazdırmam lazım.
Klasik For-Next döngüleriyle iç içe kontrol yapmaya çalıştım ama Excel "Yanıt Vermiyor" moduna geçiyor, işlemci (CPU) %100 oluyor ve bilgisayar kilitleniyor. Büyük veride kasmayan bir çözüm ararken yabancı kaynaklarda Scripting.Dictionary ya da Collection yapısının çok daha hızlı (bellekte çalıştığı için) olduğunu okudum.
Kendi çapımda bir şeyler karalayıp Scripting.Dictionary ile tek kriterli benzersiz saydırmayı başardım ama işin içine 3 farklı kriter (Bölge + Mağaza Tipi + Ürün ID) girince mantığı bir türlü oturtamadım. Key (Anahtar) kısmına bu 3 kriteri birleştirip A2 & B2 & C2 şeklinde mi atamalıyım, yoksa iç içe (nested) dictionary mi kurmak gerekiyor? Hangisi RAM'i daha az şişirir ve daha performanslı olur?
Üstatlardan ricam, büyük datalarda saniyeler içinde sonuç verecek, dizilerle (Variant Array) optimize edilmiş ileri düzey bir VBA kod mimarisi konusunda bana yol gösterebilir misiniz?
Ekte, üzerinde çalıştığım yapının küçük bir simülasyonunu içeren örnek dosyayı paylaşıyorum. Yardımlarınız için şimdiden çok teşekkür ederim.
Şirkette veri analitiği departmanında çalışıyorum ve her ay yaklaşık 1.2 milyon satırlık ham satış datasıyla rapor hazırlamam gerekiyor. Yapmak istediğim şey şu: A sütununda Bölge, B sütununda Mağaza Tipi ve C sütununda Ürün ID var. Benim bu üç kritere göre "Benzersiz (Unique) satılan ürün sayısını" bulup rapor sayfasına yazdırmam lazım.
Klasik For-Next döngüleriyle iç içe kontrol yapmaya çalıştım ama Excel "Yanıt Vermiyor" moduna geçiyor, işlemci (CPU) %100 oluyor ve bilgisayar kilitleniyor. Büyük veride kasmayan bir çözüm ararken yabancı kaynaklarda Scripting.Dictionary ya da Collection yapısının çok daha hızlı (bellekte çalıştığı için) olduğunu okudum.
Kendi çapımda bir şeyler karalayıp Scripting.Dictionary ile tek kriterli benzersiz saydırmayı başardım ama işin içine 3 farklı kriter (Bölge + Mağaza Tipi + Ürün ID) girince mantığı bir türlü oturtamadım. Key (Anahtar) kısmına bu 3 kriteri birleştirip A2 & B2 & C2 şeklinde mi atamalıyım, yoksa iç içe (nested) dictionary mi kurmak gerekiyor? Hangisi RAM'i daha az şişirir ve daha performanslı olur?
Üstatlardan ricam, büyük datalarda saniyeler içinde sonuç verecek, dizilerle (Variant Array) optimize edilmiş ileri düzey bir VBA kod mimarisi konusunda bana yol gösterebilir misiniz?
Ekte, üzerinde çalıştığım yapının küçük bir simülasyonunu içeren örnek dosyayı paylaşıyorum. Yardımlarınız için şimdiden çok teşekkür ederim.