• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü VBA ile Büyük Veride Nesnesel (Dictionary/Array) Çok Kriterli Özet Raporlama ve Benzersiz Sayım Performansı

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Master

Yeni Üye
Katılım
19 Eki 2021
Mesajlar
86
Aldığı beğeni
34
Katkı
%0.03
Excel V
Office 2003 TR
Konu Sahibi
Selamlar değerli hocalarım ve forumdaşlarım,

Şirkette kullandığımız ve satır sayısı her geçen gün hızla artan büyük bir ham veri setimiz var. Bu veriler üzerinden çok kırılımlı bir özet rapor üretmem gerekiyor. Klasik formüller veya döngüler veri boyutu büyüdükçe Excel'i tamamen kilitleme noktasına getiriyor. Pivot Tablo kullanmak istemiyorum çünkü bu yapıyı daha sonra otomatik bir mail ve form kontrol mekanizmasına entegre edeceğim. Tamamen VBA tabanlı, arka planda dinamik çalışan ve maksimum performans sağlayan uzman işi bir çözüme ihtiyacım var.

Siz değerli hocalarımın bu konudaki performans optimizasyonu ve kod mimarisi tecrübelerinden faydalanmak istedim.
 
böyle birşeymi arıyorsunuz deneyiniz
 
power Qery de işinize yarayabilir
 
alternatif.
sarı alanlardan seçim yapınız.
 
Çözüm
Merhaba,

Alternatif olarak ekteki dosyada 3 farklı teknik örneklendirilmiştir.

Ado / Dictionary / Pivot

Pivot örneğinde önce excelin yerleşik pivot table özelliği kullanılmaktadır. Sonra vba ile veriler pivot özelliğinden arındırılmaktadır. Yani sadece raporun oluşma aşamasında pivot kullanılmaktadır.

Not : Pivot örneği Excel 2016 ve sonrası için daha sağlıklı sonuç verecektir. Bu sebeple eski sürüm kullanalar HATA alabilirler...


500 satırlık veri bloğunda bende oluşan sonuçlar;

Ado0,051Saniye
Dictionary0,043Saniye
Pivot0,48Saniye


Aynı veri bloğunu 1.000.000 satıra kadar çıkarınca oluşan sonuçlar ise aşağıdaki gibidir;


Ado13,2Saniye
Dictionary2,82Saniye
Pivot15,78Saniye
 
Son düzenleme:
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst