我想通过使用join_date进行分组并得到平均数量(通过将数量相加然后除以有数量的记录数来制定;不考虑没有数量的记录)。
输入
{
"number": 282,
"topic": [
{
"fruit": "apple",
"colour": "red",
"join_date": "today",
"quality": [
{
"date": "2020-08-21",
"in": {
"feedback": "good",
"qty": "3 qty"
},
"out": {
"feedback": "poor",
"qty": "1 qty"
}
},
{
"date": "2020-08-21",
"in" :{}
},
{
"date": "2020-08-22",
"in": {
"feedback": "normal",
"qty": "3 qty"
}
}
]},
{
"fruit": "banana",
"colour": "yellow",
"join_date": "Yesterday",
"quality": []
} ] }
以下是预期输出的示例:
输出
number, fruit, colour, join_date, avginqty, avgoutqty
282, apple, red, today, 3 qty, 1 qty
282, banana, yellow, yesterday, ,
非常感谢。
使用groupBy函数对记录进行分组,并筛选以忽略所有小于零的数量。
过滤器
群友
基本转换如下,请添加分组依据并相应地过滤 -
%dw 2.0
output application/csv
---
payload.topic[0].quality map ({
number: payload.number,
fruit: payload.topic[0].fruit,
colour: payload.topic[0].colour,
date:$."date",
feedback_in: $.in.feedback,
qty_in: $.in.qty,
feedback_out: $.out.feedback,
qty_out: $.out.qty
})
对于你问的上一个问题,有很多方法可以解决问题,这应该给你一个足够公平的想法来开始如何解决这个问题。对于您的问题,输入和预期输出,请在您的尝试(DW脚本)中发布解决问题以及您在哪里遇到问题。
你也可以利用教程附带的操场来帮助你更好地理解用法。
脚本
%dw 2.0
output application/csv
import * from dw::core::Arrays
---
flatten(payload.topic groupBy $.join_date mapObject ((item) -> {
temp: (if(sizeOf(item.quality)==0) [{}] else item.quality) default [{}] map {
number: payload."number",
fruit: item.fruit[0],
colour: item.colour[0],
join_date: item."join_date"[0] default "",
avginqty: ((($.in..qty) sumBy ($ splitBy " ")[0])/(($.in..qty) countBy ($ splitBy " ")[0] as Number > -1)) ++ " qty" default " ",
avgoutqty: ((($.out..qty) sumBy ($ splitBy " ")[0])/(($.out..qty) countBy ($ splitBy " ")[0] as Number > -1)) ++ " qty" default " ",
}
}) pluck $)
输出
number,fruit,colour,join_date,avginqty,avgoutqty
282,apple,red,today,3 qty,1 qty
282,banana,yellow,Yesterday, ,
本文向大家介绍C ++中的数组嵌套,包括了C ++中的数组嵌套的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个长度为N的零索引数组A,其中包含从0到N-1的所有整数。我们必须找到并返回集合S的最长长度,其中S [i] = {A [i],A [A [i]],A [A [A [i []]],...}以下规则。现在考虑S中的第一个元素以索引= i的元素A [i]的选择开始,S中的下一个元素应为A
问题内容: 在我正在处理的集合中,文档如下所示: 我写了这个Mongoose模式来访问它: 当我查询文档时,一切正常,控制台中显示的输出正确。但是当我尝试执行console.log(myDoc.stuff)时,得到了以下信息: 代替 我究竟做错了什么?谢谢您的帮助!! 问题答案: 免责声明:此回复的日期过早,2012年!这可能不是最准确的。 从猫鼬的文档。 http://mongoosejs.co
问题内容: 我有以下mongodb文件结构: 我已经能够使用$ elemMatch来更新操作中的字段,但是当我尝试对参数执行相同的操作(修改)时,它似乎不起作用。我想知道我应该尝试哪种其他方法,以便能够成功更新特定参数中的字段(通过其pid查找)。 我当前拥有但不起作用的更新代码如下所示: 问题答案: MongoDB 3.6及更高版本 MongoDB3.6及更高版本提供了一项新功能,该功能允许您使
问题内容: 我经常使用pandas groupby生成堆积表。但是然后我经常想将生成的嵌套关系输出到json。有什么方法可以从生成的堆叠表中提取嵌套的json文件吗? 假设我有一个df,例如: 我可以: 美丽!当然,我真正想做的是通过命令沿着grouped.to_json嵌套嵌套的json。但是该功能不可用。任何解决方法? 所以,我真正想要的是这样的: 唐 问题答案: 我认为熊猫没有内置任何东西可
问题内容: 我已经开始使用https://mholt.github.io/json-to-go/将API JSON转换为go结构,但我真的很喜欢它,但是我仍然坚持如何在Report Definition结构中初始化Filters数组结构如下所示。 我似乎无法引用在Filters结构甚至是Filters结构中声明的项,以创建新的Filter项目并将其附加到Filters。 是否可以使用原样编写的Re
这是我的架构: