5.9 迭代:提前终止的累计
循环中使用迭代计算,自行设置迭代中的计算表达式和终止条件。
根据销售表数据,统计 2014 年第一季度到哪一天完成了销售总额 15 万的季度目标。销售表部分数据如下:
OrderID | Customer | SellerId | OrderDate | Amount |
---|---|---|---|---|
10400 | EASTC | 1 | 2014/01/01 | 3063.0 |
10401 | HANAR | 1 | 2014/01/01 | 3868.6 |
10402 | ERNSH | 8 | 2014/01/02 | 2713.5 |
10403 | ERNSH | 4 | 2014/01/03 | 1005.9 |
10404 | MAGAA | 2 | 2014/01/03 | 1675.0 |
… | … | … | … | … |
脚本:
A | |
---|---|
1 | =connect(“db”).query@x(“select * from sales”) |
2 | =A1.select(year(OrderDate)==2014) |
3 | =A2.iterate((@+=Amount, ~~=OrderDate),0,@>150000) |
A1 连接数据源,读取销售表
A2 选出 2014 年数据
A3 使用函数 iterate() 迭代计算,初始值为 0。将销售额累加到当前记录,直到超过 15 万终止。函数返回订单日期。
运行结果:
Value |
---|
2014/03/25 |