Dictionary Nesnesi ile Benzersiz Sayma
Büyük ölçekli veri tabanlarında veya Excel dosyalarında "Hangi üründen toplam kaç adet satıldı?" ya da "Tekil müşteri sayısı kaçtır?" sorularını yanıtlamak için Scripting.Dictionary (Sözlük) nesnesi kullanılır. Standart döngülere göre devasa bir hız avantajı sağlar.
Dictionary (Sözlük) Mantığı Nasıl Çalışır?
Gerçek hayattaki bir sözlük gibi düşünün: Her kelimenin (Key) karşılığında bir açıklama veya sayı (Item) vardır. Excel'de bir veriyle ilk kez karşılaşıldığında sözlüğe eklenir ve değeri 1 yapılır. Aynı veri tekrar karşımıza çıktığında ise mevcut değer 1 arttırılır. Böylece hem benzersiz liste elde edilir hem de kaç kez tekrar ettiği (frekansı) anında hesaplanır.
Örnek Dictionary Kod Kalıbı
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
' Veri sözlükte yoksa ekle, varsa sayısını 1 arttır
If Not dict.exists(veri) Then
dict.Add veri, 1
Else
dict(veri) = dict(veri) + 1
End If