crossfilter , dc.js 计算维度中的唯一值
crossfilter , dc.js Counting unique value in dimension
我正在尝试创建一个条形图(交叉过滤器和 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
如何在 cross filter 和 dc js 中实现这个?
您需要构建一个自定义减速器,这非常复杂。这里有一个例子是正确的想法,虽然它不会很快并且会破坏某些键,因为并非所有 JS 字符串都是有效的 属性 names: Crossfilter reduce :: find number of uniques
您可以使用 Reductio's exception aggregation functionality to build fast and robust versions of these reducers easily. Or you may want to keep an eye on Universe,它旨在以不同的方式简化此操作,在幕后使用 Reductio 和 Crossfilter。
我正在尝试创建一个条形图(交叉过滤器和 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
如何在 cross filter 和 dc js 中实现这个?
您需要构建一个自定义减速器,这非常复杂。这里有一个例子是正确的想法,虽然它不会很快并且会破坏某些键,因为并非所有 JS 字符串都是有效的 属性 names: Crossfilter reduce :: find number of uniques
您可以使用 Reductio's exception aggregation functionality to build fast and robust versions of these reducers easily. Or you may want to keep an eye on Universe,它旨在以不同的方式简化此操作,在幕后使用 Reductio 和 Crossfilter。