I have a series of snapshots for a list of companies. Only changed values will appear in subsequent snapshots, and new companies can be added in new snapshots. This is great for db storage.
What I would like to have, is a fully populated row for each company, for all subsequent snapshots after they first appeared.
Meaning:
| Company 1 | Snapshot 1 | value 1 | value 2 | value 3 |
| Company 1 | Snapshot 2 | Value 1 | null() | null() |
| Company 2 | Snapshot 2 | value 1 | value 2 | value 3 |
| Company 1 | Snapshot 3 | value 1 | null() | null() |
Becomes:
| Company 1 | Snapshot 1 | value 1 | value 2 | value 3 |
| Company 1 | Snapshot 2 | Value 1 | value 2 (from snapshot 1) | value 3 (from snapshot 1) |
| Company 2 | Snapshot 2 | value 1 | value 2 | value 3 |
| Company 1 | Snapshot 3 | value 1 | value 2 (from snapshot 1) | value 3 (from snapshot 1) |
| Company 2 | Snapshot 3 | value 1 (from snapshot 2 | value 2 (from snapshot 2) | value 3 (from snapshot 2) |
There is probably a more elegant way of describing this. Basically each company gets a fully populated row after they appear. If no new value is provided, take the last provided value for the row.
I have maybe 10 value columns in my dataset, so simple workflow is best for upkeep.