我正在尝试创建一个条形图(交叉过滤器和dc js)来显示有多少人(独特的)参加了活动
[
{"Year: 2015" , "Name:Person1"},
{"Year: 2015" , "Name:Person2"},
{"Year: 2015" , "Name:Person3"},
{"Year: 2015" , "Name:Person1"},
{"Year: 2015" , "Name:Person1"},
{"Year: 2016" , "Name:Person4"},
{"Year: 2016" , "Name:Person4"},
{"Year: 2016" , "Name:Person1"},
]
我在X轴上绘制Year,在Y轴上绘制Count。现在我减少了第一年的数量
Year: 2015 Count:3 -> person 1,2,3
Year: 2016 Count:2 -> person 1,4
示例代码
yeardimension.group().reduceCount(function(d) { return d.year })
我想获得独特的价值和期望值
Year: 2015 Count:5
Year: 2016 Count:3
如何在交叉滤波器和直流js中实现这一目标?
答案 0 :(得分:1)
您需要构建一个非常复杂的自定义减速器。这里有一个例子可以得到正确的想法,虽然它不会很快并且会因某些键而中断,因为并非所有JS字符串都是有效的属性名称:Crossfilter reduce :: find number of uniques
您可以使用Reductio's exception aggregation功能轻松构建这些Reducer的快速且强大的版本。或者你可能想要关注Universe,其目的是以不同的方式使这个变得容易,使用Reductio和Crossfilter。