下面我将获取给定的数组并为Category创建一个维度。然后我使用group()和reduceCount()来获取Category中的计数。但是,我想获得该类别的唯一唯一计数,而不仅仅是计数。
下面,A有2个唯一ID,B有4个唯一ID,C有5个唯一ID。
var data = [{
Category: "A",
ID: "1"
}, {
Category: "A",
ID: "1"
}, {
Category: "A",
ID: "1"
}, {
Category: "A",
ID: "2"
}, {
Category: "A",
ID: "2"
}, {
Category: "B",
ID: "1"
}, {
Category: "B",
ID: "1"
}, {
Category: "B",
ID: "1"
}, {
Category: "B",
ID: "2"
}, {
Category: "B",
ID: "3"
}, {
Category: "B",
ID: "3"
}, {
Category: "B",
ID: "3"
}, {
Category: "B",
ID: "4"
}, {
Category: "C",
ID: "1"
}, {
Category: "C",
ID: "2"
}, {
Category: "C",
ID: "3"
}, {
Category: "C",
ID: "4"
}, {
Category: "C",
ID: "5"
}];
以下显示了crossfilter的唯一计数
var ndx = crossfilter(data);
var XDimension = ndx.dimension(function (d) {
return d.Category;
});
var YDimension = XDimension.group().reduceCount(function (d) {
return d.Category;
});
它返回此
"[object Object](3) = [
{"key":"B","value":8},
{"key":"C","value":5},
{"key":"A","value":5}
]"
但我希望它能归还:
"[object Object](3) = [
{"key":"B","value":4},
{"key":"C","value":5},
{"key":"A","value":2}
]"
答案 0 :(得分:-1)
您需要一个自定义缩减器来跟踪您之前看过的ID属性中的值。您可以自己执行此操作,也可以使用reductio之类的库。有一个如何在自述文件中执行此操作的示例。我称之为“异常聚合”。