Add Cumulative Sum to Parquet Files Online
Add a running total column to Parquet files for any numeric column. Optionally order by a date or sequence column and restart totals per group — no upload required.
How to add Cumulative Sum to Parquet files
- Drop your file onto the upload area. It is loaded into the in-browser engine and the first 200 rows are shown.
- Choose the value column to sum. Only numeric columns are listed, and the first one is preselected.
- Choose an Order by column, usually a date or sequence number. Leave it at (none) to add up rows in file order, top to bottom.
- Optionally choose a Partition by column so the running total restarts for each group. Rename the output column from cumulative_sum if you like, then click Add Cumulative Sum.
- Check the preview and download the file in the same format you uploaded.
Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.
Worked example
A facilities team logs daily solar generation in kWh for two roof arrays. They want month-to-date output for each array, so the running total must restart per site.
Input (Parquet)
Parquet file (binary, columnar) — shown as a table with its schema
| reading_date | site | kwh |
|---|---|---|
| 2026-06-01 | Roof A | 18.5 |
| 2026-06-01 | Roof B | 11 |
| 2026-06-02 | Roof A | 21 |
| 2026-06-02 | Roof B | 9.5 |
| 2026-06-03 | Roof A | 16.5 |
| 2026-06-03 | Roof B | 12.5 |
Schema: reading_date DATE, site VARCHAR, kwh DOUBLE
Settings
- Value column: kwh
- Order by: reading_date
- Partition by: site
- Output column name: cumulative_sum
Result
| reading_date | site | kwh | cumulative_sum |
|---|---|---|---|
| 2026-06-01 | Roof A | 18.5 | 18.5 |
| 2026-06-01 | Roof B | 11 | 11 |
| 2026-06-02 | Roof A | 21 | 39.5 |
| 2026-06-02 | Roof B | 9.5 | 20.5 |
| 2026-06-03 | Roof A | 16.5 | 56 |
| 2026-06-03 | Roof B | 12.5 | 33 |
Each site gets its own running total in date order: Roof A goes 18.5, 39.5, 56 and Roof B goes 11, 20.5, 33. The rows stay in their original order. With Order by and Partition by both left at (none), the total would run down the file instead: 18.5, 29.5, 50.5, 60, 76.5 and 89.
Working with Parquet files
Parquet timestamps order at full precision, so events a few microseconds apart accumulate in the right sequence. Rows with exactly the same Order by value are added in file order, so the result is the same on every run. With Order by at (none), the row order stored in the Parquet file is used.
The output type depends on the value column. DOUBLE and FLOAT sum to DOUBLE. DECIMAL sums exactly and is written as DECIMAL with 38 digits of precision and the same scale. INT32 and INT64 sum into a 128-bit integer to avoid overflow, and that is written to Parquet as DOUBLE. Cast it back to BIGINT with Cast Column Types if a downstream schema expects an integer. Every other column keeps its original type. Fields inside a struct cannot be chosen as the value, order or partition column.
Frequently Asked Questions
Why is my Parquet running total a DOUBLE when the source column is INT64?
Integer sums are computed as 128-bit integers so they cannot overflow, and Parquet has no 128-bit integer type, so the column is written as DOUBLE. Use Cast Column Types to convert it back to BIGINT if you need to.
Does a DECIMAL column keep exact cents in a Parquet running total?
Yes. DECIMAL values are summed exactly, and the result is written as a DECIMAL with the same number of decimal places.
What does (none) in Order by do?
It adds up rows in file order, top to bottom. With a Partition by column, each group has its own running total, still in file order. Pick a date or sequence column when the file is not already sorted.
How does the total restart for each group?
Choose a Partition by column. The total starts again at the first row of each group value, in Order by order or in file order when Order by is (none). Rows are not regrouped, so they keep their original order.
How are rows with the same Order by value handled?
They are added in file order, one row at a time. The result is the same every time you run it.
Related Tools
Add Percent of Total to Parquet Files Online
Add a percentage-of-total column to Parquet files directly in your browser. Show each row's share of the grand total, or the share within each group — no upload required.
Add Moving Average to Parquet Files Online
Add a moving average, rolling sum, rolling min, or rolling max column to Parquet files directly in your browser. Choose window size, order-by column, and optional partitioning — no upload required.
Add Lag / Lead Column to Parquet Files Online
Add a LAG or LEAD column to Parquet files to shift any column forward or backward by N rows. See previous day's sales, next value in a sequence, or any time-shifted comparison — runs entirely in your browser.
Add Cumulative Sum to CSV Files Online
Add a running total column to CSV files for any numeric column. Optionally order by a date or sequence column and restart totals per group — no upload required.
Add Cumulative Sum to Excel Files Online
Add a running total column to Excel files for any numeric column. Optionally order by a date or sequence column and restart totals per group — no upload required.
Add Cumulative Sum to JSON Files Online
Add a running total column to JSON files for any numeric column. Optionally order by a date or sequence column and restart totals per group — no upload required.
Parquet Viewer Online
View and inspect Parquet files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Convert Parquet to CSV Online
Convert Parquet files to CSV format directly in your browser. No upload required — your data never leaves your device.