在大数据中计算占比

二进制文件TelBill中,存储了一家电信公司的客户账单数据,请计算其中每位客户每个月的话费在他总话费中的占比。

解答:

A B
1 =file("TelBill.btx")
2 =A1.cursor@b()
3 =A2.groupx(ID;sum(Amount):Total;200)
4 =A2.reset()
5 =A2.sortx(ID)
6 =join@x(A5:TelBill,ID;A3:Sum,ID)
7 =A6.new(TelBill.Date:Date,TelBill.Name:Name,TelBill.Amount:Amount,Sum.Total:Total,round(Amount/Total,4):Ratio)
8 =A7.fetch(200)
9 >A7.close()

在大数据中计算占比,首先需要计算出每位客户的总话费,在数据量庞大时,汇总结果无法读入一个序表,此时可以使用游标,再将游标中的数据对齐式连接。

在A8中,仅取出了前200条结果如下: