在我的问题中,我有关于客户和卖家的数据:
customer, seller, amount
cus1, sel1, 78
cus2, sel1, 34
cus3, sel2, 25
cus2, sel1, 13
cus2, sel1, 11
cus3, sel2, 18
cus4, sel3, 50
...我想知道每个卖家有多少客户。因此,我想构建一个行图,显示拥有最多客户的前10名卖家。
我试过了:
this.sellerDim = this.ndx.dimension(function(d: any) {return d.seller;});
this.customerDim = this.ndx.dimension(function(d: any) {return d.customer;});
this.sellerCount = this.sellerDim.group();
我也尝试过这样的事情:
this.sellerCount = this.sellerDim.group().reduceSum(function(d:any){return d.customerDim});
......但它没有成功。
显示我正在使用的图表:
this.topSellerChart = dc.rowChart("#chart-row");
this.topSellerChart.data(function(d: any){
return d.order(function (d: any) {
return d;
}).top(10);
})
.dimension(this.sellerDim)
.group(this.sellerCount)
.elasticX(true)
.controlsUseVisibility(true);
无论如何我确信这个错误是在.group()
创造期间。
那么,是否有人知道我如何对卖家进行分组而不计算一次同一个客户?