对于其他两列中的每个唯一组合值,一列中的Javascript页脚回调和值
我有一份不同日期的公司股息支付报告,其中重复了每次支付所持股份的价值 每个唯一的Portfolio.Symbol可能有多笔付款,但每次付款只能重复一个值 我需要对每个独特的投资组合的值列中的值求和。符号组合对于其他两列中的每个唯一组合值,一列中的Javascript页脚回调和值,javascript,datatables,Javascript,Datatables,我有一份不同日期的公司股息支付报告,其中重复了每次支付所持股份的价值 每个唯一的Portfolio.Symbol可能有多笔付款,但每次付款只能重复一个值 我需要对每个独特的投资组合的值列中的值求和。符号组合 Date Portfolio Symbol Value Payment. Sum Value 2020-11-27 DEA GSK 26000 30. 26000 2020-11-30 ISA GSK
Date Portfolio Symbol Value Payment. Sum Value
2020-11-27 DEA GSK 26000 30. 26000
2020-11-30 ISA GSK 44000 30. 44000
2021-06-30 ISA GSK 44000 30. 0, repeat of ISA.GSK so ignore
2021-06-30 DEA GSK 26000 30. 0, repeat of DEA.GSK so ignore
Unique Sum 70000
So in the above example Sum of Value should be Sum of last column
26000+44000=70000
我已经建立了一个JSFIDLE
作为使用datatables.net页脚回调的起点
如果有人能帮我找到解决方案,我将不胜感激
非常感谢
Colin在您在JSFIDLE中提供的代码中,您似乎没有添加只添加唯一数据的条件。然后,作为解决方案,您可以尝试使用以下代码:
$(文档).ready(函数(){
$('#示例')。数据表({
“footerCallback”:函数(行、数据、开始){
var api=this.api();
var intVal=函数(i){
返回类型i==='string'?
i、 替换(/[\$,]/g,)*1:
i的类型=='编号'?
i:0;
};
var indexOfPortofolio=1;
var indexOfSymbol=2;
var indexOfValue=3;
//总页数
var总计=api
.rows()
.data()
.toArray()
.减少(功能(a、v、i){
var uniquePortofolioSymbol=v[indexOfPortofolio]+v[indexOfSymbol];
if(a.uniqueList.indexOf(uniqueportofiosymbol)=-1){
a、 sum+=intVal(v[indexOfValue]);
a、 uniqueList.push(uniqueportofiosymbol);
a、 uniqueIndex.push(i);
}
返回a;
},{sum:0,唯一列表:[],唯一索引:[]});
//本页总计
var pageTotal=api
.rows({page:'当前'})
.data()
.toArray()
.减少(功能(a、v、i){
var uniquePortofolioSymbol=v[indexOfPortofolio]+v[indexOfSymbol];
如果(
a、 uniqueList.indexOf(uniquePortofolioSymbol)=-1
&&总计.uniqueIndex.indexOf(开始+i)!=-1
) {
a、 sum+=intVal(v[indexOfValue]);
a、 uniqueList.push(uniqueportofiosymbol);
}
返回a;
},{sum:0,uniqueList:[]});
//更新页脚
$(api.column(3.footer()).html(
pageTotal.sum+'('+total.sum+')”
);
}
});
});代码>
日期
文件夹
象征
价值
付款
2020-11-30
伊萨
RLSEB
30000
30
2021-06-30
伊萨
葛兰素史克
44000
30
2020-11-30
伊萨
葛兰素史克
44000
30
2020-11-27
缉毒局
葛兰素史克
26000
30
2021-02-30
伊萨
RLSEB
30000
50
2021-05-30
伊萨
RLSEB
30000
54
2021-05-30
伊萨
RLSEB
30000
57
2021-05-30
缉毒局
RLSEB
20000
27
2021-05-30
缉毒局
RLSEB
20000
27
2021-05-30
伊萨
RLSEB
30000
31
2021-05-30
缉毒局
RLSEB
20000
22
总数:
Hi Yusut T,非常感谢您解决了我的问题好消息!!,我认为最好提供一个代码的起点,而不是在JSFIDLE中解决问题的失败尝试,我希望这样可以吗?。非常感谢科林