Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于其他两列中的每个唯一组合值,一列中的Javascript页脚回调和值_Javascript_Datatables - Fatal编程技术网

对于其他两列中的每个唯一组合值,一列中的Javascript页脚回调和值

对于其他两列中的每个唯一组合值,一列中的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

我有一份不同日期的公司股息支付报告,其中重复了每次支付所持股份的价值

每个唯一的Portfolio.Symbol可能有多笔付款,但每次付款只能重复一个值

我需要对每个独特的投资组合的值列中的值求和。符号组合

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中解决问题的失败尝试,我希望这样可以吗?。非常感谢科林