11.5 递归获取字段值
根据 JSON 格式的销售数据,计算 2014 年的总销售额。文件部分数据如下:
[
{"YEAR":2013,"MONTH":7,"SALES": [
{"ID":10248,"CUSTOMERID":"VINET", … ,"SALES":2440},
{"ID":10249,"CUSTOMERID":"TOMSP", … ,"SALES":1863.4},
{"ID":10250,"CUSTOMERID":"HANAR", … ,"SALES":1813.0},
…
]},
{"YEAR":2013,"MONTH":8,"SALES": [
{"ID":10270,"CUSTOMERID":"WARTH", … ,"SALES":1376.0},
{"ID":10271,"CUSTOMERID":"SPLIR", … ,"SALES":48.0},
{"ID":10272,"CUSTOMERID":"RATTC", … ,"SALES":1456.0},
…
]},
…
]
使用 A.field@r() 递归获取字段值。
脚本:
A | |
---|---|
1 | =json(file(“sales.json”).read()) |
2 | =A1.select(YEAR==2014) |
3 | =A2.field@r(“SALES”) |
4 | =A3.sum(~.sum()) |
A1:导入 JSON 数据文件。
A2:选出 2014 年的销售记录。
A3:使用函数A.field@r ()递归获取所有销售字段值。
A4:循环计算 2014 年每个月份的销售额,再计算总销售额。