gpt4 book ai didi

javascript - 使用分组元素 dc.js 的百分比聚合数据表

转载 作者:行者123 更新时间:2023-11-30 14:20:17 26 4
gpt4 key购买 nike

如何在数据表中显示失效百分比?我有以下 csv,我正在计算每个“名称”字段的失败百分比,我想显示数据表中每个“名称”的总失败百分比

Customer | year| Week |Failure_Reason|     name        |    Type  |   Count 
___________________________________________________________________________
A 2018 29 D Express Air PR 27
___________________________________________________________________________
A 2018 26 M Express Air PR 58
___________________________________________________________________________
A 2018 26 D Domestic 5
___________________________________________________________________________
A 2018 27 N Domestic SPEED 29
___________________________________________________________________________
A 2018 30 Missed International PR 11
___________________________________________________________________________
A 2018 32 N Domestic PR 53

维度和组的代码:

        var ndx= crossfilter(data);
var all= ndx.groupAll();
var CTypedim=ndx.dimension(function(d) {return d["name"]+ ',' + d["Customer"];})
var CTypeGroup=CTypedim.group();

var percentFailures = CTypedim.group().reduce(
function(p, v) {
p.counter+= Number(v.count);
p.failures += Number(v.Failure_Reason != 'N' ? v.count : 0);
p.failPercent = p.counter ? p.failures/p.counter : 0;
return p;
},
function(p, v) {

p.counter-= Number(v.count);
p.failures -= Number(v.Failure_Reason != 'N' ? v.count : 0);
p.failPercent = p.counter ? p.failures/p.counter : 0;
return p;
},
function() {
return {
counter: 0,
failures: 0,
failPercent: 0
};
});

dataTable.width(800).height(800)
.dimension(percentFailures)
.group(function(d) { return "" })
.size(100)
.columns([
function(d) { return d.Customer; },
function(d) { return d.year; },
function(d) { return d.value.failpercent*100; },
function(d) { return d.name; },

])
.sortBy(function(d){ return d.year; })
.order(d3.descending);

需要显示聚合的datavtable如下:

Customer | Year| Failure%|     name        |    
_____________________________________________
A 2018 100% Express Air
_____________________________________________
A 2018 5.7% Domestic
_____________________________________________
A 2018 100% International
_____________________________________________

Result

最佳答案

你在正确的轨道上,继续前进!

您需要在表格中使用聚合字段:

    .columns([
function(d) { return d.key.split(',')[1]; }, // customer part of multikey
function(d) { return d.year; },
function(d) { return d.value.failPercent*100; }, // capitalize consistently
function(d) { return d.key.split(',')[0]; }, // name part of multikey

])

使用年份是有问题的!因为一旦聚合,您就不知道每个聚合值代表哪一年 - 它可能代表多年。如果您可以删除该专栏,我推荐它。

关于javascript - 使用分组元素 dc.js 的百分比聚合数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52871245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com