Calculate Cumulative Value in Categories
Example
In the Excel file sales.xlsx, the sales amount of salespeople is shown in the following figure:
The task is to calculate the date when the sales amount of each salespeople is over 50,000.
Write SPL script:
A |
|
1 |
=T("e:/work/sales.xlsx") |
2 |
=A1.group(Name) |
3 |
=A2.new(Name,~.select@1(Sales[:0].sum()>50000).Date:Date) |
A1 Read the data in the file sales.xlsx as a table sequence
A2 Group the data by Name
A3 Create a new record with each group in A2, select the Name field, and loop through the records of the group. If the sum of Sales from the first row to the current row is greater than 50,000, select the Date value of this row and name it as the new Date field. Sales[:0] represents the sequence composed of the Sales fields from the first row to the current row in the group, and the @1 option means to select the first record that meets the condition
The final result in A3 is as follows:
SPL Official Website 👉 https://www.scudata.com
SPL Feedback and Help 👉 https://www.reddit.com/r/esProc_Desktop/
SPL Learning Material 👉 https://c.scudata.com
Discord 👉 https://discord.gg/cFTcUNs7
Youtube 👉 https://www.youtube.com/@esProcDesktop
Linkedin Group 👉 https://www.linkedin.com/groups/14419406/