DC.js - Çapraz Filtreye Giriş

Crossfilter, çok boyutlu bir veri kümesidir. Bir milyon veya daha fazla kayıt içeren veri kümeleriyle son derece hızlı etkileşimi destekler.

Temel konseptler

Çapraz filtre, çapraz filtre ad alanı altında tanımlanır. Anlamsal versiyonlama kullanır. Aşağıda tanımlanan meyve koleksiyonuyla yüklenmiş bir çapraz filtre nesnesini düşünün -

var fruits = crossfilter ([
   { name: “Apple”, type: “fruit”, count: 20 },
   { name: “Orange”, type: "fruit”, count: 10 },
   { name: “Grapes”, type: “fruit”, count: 50 },
   { name: “Mango”,  type: “fruit”, count: 40 }
]);

Bir gruptaki toplam kayıtları gerçekleştirmemiz gerekirse, aşağıdaki işlevi kullanabiliriz -

var count = fruits.groupAll().reduceCount().value();

Belirli bir türe göre filtrelemek istiyorsak -

var filtering = fruits.dimension(function(d) { return d.type; });
filtering.filter(“Grapes”)

Benzer şekilde Crossfilter ile gruplama yapabiliriz. Bunu yapmak için aşağıdaki işlevi kullanabiliriz -

var grouping = filtering.group().reduceCount();
var first = grouping.top(2);

Bu nedenle, Crossfilter son derece hızlı olacak şekilde tasarlanmıştır. Grupları filtreler uygulandıkça yeniden hesaplamak isterseniz, kademeli olarak hesaplar. Çapraz filtre boyutları çok pahalıdır.

Crossfilter API

Önemli Crossfilter API'lerini ayrıntılı olarak inceleyelim.

  • crossfilter([records])- Yeni bir çapraz filtre oluşturmak için kullanılır. Kayıt belirtilirse, aynı anda belirtilen kayıtları ekler. Kayıtlar, herhangi bir JavaScript nesnesi veya ilkel dizisi olabilir.

  • crossfilter.add(records) - Belirtilen kayıtları çapraz filtreye ekler.

  • crossfilter.remove() - Geçerli filtrelerle eşleşen tüm kayıtları çapraz filtreden kaldırır.

  • crossfilter.size() - Çapraz filtredeki kayıtların sayısını döndürür.

  • crossfilter.groupAll() - Tüm kayıtları gruplamak ve tek bir değere indirmek için bir işlevdir.

  • crossfilter.dimension(value) - Belirtilen değer erişimci işlevini kullanarak yeni bir boyut oluşturmak için kullanılır.

  • dimension.filter(value) - Boyutun eşleşme değeri için kayıtları filtrelemek için kullanılır ve boyutu döndürür.

  • dimension.filterRange(range) - Aralık [0] 'dan büyük veya ona eşit ve aralık [1]' den küçük boyut değerinin kayıtlarını filtreler.

  • dimension.filterAll() - Bu boyuttaki tüm filtreleri temizler.

  • dimension.top(k) - Bu boyutun doğal sırasına göre ilk k kayıtları içeren yeni bir dizi döndürmek için kullanılır.

  • dimension.bottom(k) - Bu boyutun doğal sırasına göre alt k kayıtları içeren yeni bir dizi döndürmek için kullanılır.

  • dimension.dispose() - Ölçüyü çapraz filtreden çıkarmak için kullanılır.

Bir sonraki bölümde, kısaca D3.js hakkında bilgi vereceğiz.