我正在尝试按2个属性对数据进行分组,并为每个组添加两个其他属性。我的代码关闭了一点,因为我得到了两个字段(值和数量)相同的总和。我错过了什么?谢谢!
代码 -
var linq = Enumerable.from(data);
var result = linq
.groupBy(
"{ pCo: $.portCo , sName: $.secName }",
"$.value, $.quantity",
"{ portCo: $.pCo, security: $.sName, value: $$.sum($.value), quantity: $$.sum($.quantity) }",
"$.pCo + ' ' + $.secName")
.toArray();
答案 0 :(得分:2)
好的,在n次试验和(n-1)错误之后,使用以下语法使其工作:
var linq = Enumerable.from(data);
var result = linq
.groupBy(
"{ pCo: $.portCo , sName: $.secName }",
null,
"{ portCo: $.pCo, security: $.sName, value: $$.sum('$.value'), quantity: $$.sum('$.quantity') }",
"$.pCo + ' ' + $.secName")
.toArray();
null的基本原理对我来说并不清楚,我在sum函数中需要'$ .x'引用属性名称。
杰夫答案的解决方案的灵感来自 - https://stackoverflow.com/a/15647792/2011729