Çapraz filtrelere aşina değilim, sadece oynamaya yeni başladım. Daha iyi bir yol olabilir, ancak bu, gruplama için kullanılan boyut (lar) için sayımı hesaplamanın bir yolunu sağlar (d.count'un, gruplama için kullanılan boyutun sayısını ifade ettiği anlamına gelmediği% 100 açık değildir. gerekirse başka bir gruplama. mevcut kod türetilen
Örnek: https://github.com/square/crossfilter/wiki/API-Reference
var payments = crossfilter([
{date: "2011-11-14T16:17:54Z", quantity: 2, total: 190, tip: 100, type: "tab"},
{date: "2011-11-14T16:20:19Z", quantity: 2, total: 190, tip: 100, type: "tab"},
{date: "2011-11-14T16:28:54Z", quantity: 1, total: 300, tip: 200, type: "visa"},
{date: "2011-11-14T16:30:43Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T16:48:46Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T16:53:41Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T16:54:06Z", quantity: 1, total: 100, tip: 0, type: "cash"},
{date: "2011-11-14T16:58:03Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T17:07:21Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T17:22:59Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T17:25:45Z", quantity: 2, total: 200, tip: 0, type: "cash"},
{date: "2011-11-14T17:29:52Z", quantity: 1, total: 200, tip: 100, type: "visa"}
]);
var paymentsByType = payments.dimension(function(d) { return d.type; }),
paymentVolumeByType = paymentsByType.group(),
counts = paymentVolumeByType.reduceCount().all(),
countByType = {};
// what is returned by all is a pseudo-array. An object that behaves like an array.
// Trick to make it a proper array
Array.prototype.slice.call(counts).forEach(function(d) { countByType[d.key] = d.value; })
var paymentVolumeByType = paymentVolumeByType.reduceSum(function(d, i) {
console.log(d.total, d.type, countByType[d.type])
return d.total/countByType[d.type];
});
// accessing parentVolumeByType to cause the reduceSum function to be called
var topTypes = paymentVolumeByType.top(1);
comment aşağıda bunu başarmak için hedeflenen yoludur. –