crossfilter - 返回 DC.js/Crossfilter 组中的最大值

标签 crossfilter dc.js

我想知道如何从 dc.js 组返回最大值。

例如:

  var dateDim = data.dimension(function(d) {return d.page_id;});
  var hits = dateDim.group().reduceSum(function(d) {return d.commodity_id;}); 

这将返回一个条形图,在 X 轴上绘制 page_ids,在 Y 轴上绘制 commodity_ids。

但是,我希望它返回 Y 轴上该特定页面上的商品 ID 数量。

是否可以使用类似于最大和最小维度功能的东西来完成?

 var minDate = dateDim.bottom(1)[0].page_id;
 var maxDate = dateDim.top(1)[0].page_id;

如果描述不清楚,我们深表歉意。

谢谢

最佳答案

我会尝试至少为您指明正确的方向。

以下代码行将返回按 page_id 分组的 commodity_id 的总和:

    var dateDim = data.dimension(function(d) {return d.page_id;});
    var hits = dateDim.group().reduceSum(function(d){return d.commodity_id;});

如果一个页面有三个具有以下 commodity_id 的商品:[ 1, 2, 5 ] reduceSum 将返回该页面的值 8 (1+2+5=8);它将添加每个后续 commodity_id 直到到达页面末尾。

假设数据集中的每个条目都包含一个必须计算的 commodity_id,您只需分组并使用 reduceCount 即可,因为您只关心总数每页商品数:

    var hits = dateDim.group().reduceCount();

这将计算每个 page_id 在数据库中出现的次数,这对应于该页面上 commodity_id 的数量。

如果您想查看此分组的结果,您可以使用:

    hits.all();

这将返回一个对象数组 此数组中的每个对象都包含一个key 和一个valuekey对应于page_idvalue对应于page_id在数据集中出现的次数。

此时,如果想获取最大值的page_id,可以使用top()函数。 (group() 包含一个 top() 函数,就像 dimension() 一样,它返回计数最大的组。)以下是如何访问数据库中条目最多的 page_id(它应该对应于最多的 commodity_id)以及相应条目的数量:

    var page_id_with_most_entries = hits.top(1)[0].key;
    var number_of_entries = hits.top(1)[0].value;

如果您还没有,请查看 crossfilter.js API wiki:

https://github.com/square/crossfilter/wiki/API-Reference

我还发现 DC.js 页面上显示的 DC.js Nasdaq 示例的注释源代码很有帮助:

http://nickqizhu.github.io/dc.js/docs/stock.html

(只需从链接中删除“docs/stock.html”即可转到 Nasdaq 示例。)

关于crossfilter - 返回 DC.js/Crossfilter 组中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22609954/

相关文章:

javascript - 具有大型数据集的 DC 和交叉滤波器

dc.js - 如何使用序数轴更改刻度线的文本

javascript - 在 dc.js 气泡图上按月绘制日期作为 x 轴

d3.js - 使用不同颜色的 dc.js 显示原始(有条件)拉丝未拉丝交叉过滤器条

javascript - 在嵌套 JSON 上使用 dc.js 创建条形图

javascript - DC.JS散点图图表选择

javascript - 使用画笔后,有没有办法分别获取未选中和选中的数据?

javascript - 如何在 dc.js 的行图中创建目标线

javascript - DC.js,crossfilter - 在 groupAll() 上运行 reduce()

javascript - 如何将自定义(定义的)顺序应用于 DC.js 中的行图表的行?