我有一个数据集
{"parent":"/home","inside":"/files","filename":"type.jar",
"extension":"jar","type":"modified","archive"}同样,json数组中也有许多行。我使用交叉过滤器来读取数据,绘制图表和数据。数据集中的Type具有“添加”、“修改”和“删除”的值。
我想创建一个数据表,如
扩展部分添加了修改后的
在添加、修改和删除的地方,将保存具有特定扩展名的文件的计数。有人能建议我怎么做吗?
到目前为止,我已经创建了这样一个维度:
var extensionType = facts.dimension(function(d) {
return d.extension; });
var extensionTypeGroup=extensionType.group();我得到了这样一个分组输出,
{"key":"class","value":424},
{"key":"js","value":176},
{"key":"properties","value":26},
{"key":"jar","value":10},
{"key":"css","value":8},
{"key":"txt","value":6},
{"key":"war","value":4},
{"key":"png","value":4},
{"key":"handlebars","value":4},
{"key":"jar_local","value":2},
{"key":"aar","value":2}如何获得添加、删除和修改的单独计数?
发布于 2017-02-12 23:27:53
可能最简单的方法是将其简化为一个对象,而不是单个值。
这包括在FAQ:如何同时减少多个值?如果行包含单个值,但每行包含不同的值,怎么办?中,您可能只需要正确的搜索条件就可以找到它。
实际上,看起来FAQ中的代码将不受修改地适用于您:
var extensionTypeGroup = extensionType.group().reduce(
function(p, v) { // add
p[v.type] = (p[v.type] || 0) + v.value;
return p;
},
function(p, v) { // remove
p[v.type] -= v.value;
return p;
},
function() { // initial
return {};
});https://stackoverflow.com/questions/42037115
复制相似问题