Our Excel file has separate columns for January, February, March, and so on, with a new worksheet each year. When moving this data into Busabase, should we keep that structure or store the month as a field on each record? We will need to compare results across months, stores, and products. What are the trade-offs between the two approaches?
Question
Closed · AnsweredShould monthly data be stored in new columns or new records?
QiangDiao Li

Prefer new rows (one period per record), not new columns for each month. Years and months stay data—not schema.

(Diagram: avoid Jan/Feb columns; store period + metric + value as rows.)
Suggested shape
Metrics (or monthly facts) table
- Period (month start date, or year + month fields)
- Metric name (revenue, count, …) or link to a metric definition
- Value, currency if needed
- Optional: entity (customer, product) via link
To add April you insert a row. Charts and filters work on Period instead of hunting Col_Apr.

(Local demo: period and value as ordinary fields.)
How to verify
- Filter
Periodwithin one quarter—you should get three rows per metric, not three columns. - Year-over-year = filter two years and compare values; no new worksheet.
Boundaries
- Wide Excel months-as-columns fight every new year and every new metric.
- If you truly need a crosstab for reading, build a view or export later—don’t freeze that shape into the Base fields.
- Keep “business period” separate from created-time so late entry doesn’t land in the wrong month (see also backfill-date guidance on the forum).
Rows scale; column-per-month does not.
Day-to-day
- Decide the grain (month vs day) once and stick to it in
Period. - Enter or import one row per period per metric.
- Build views: “This year”, “Last 12 periods”, maybe a chart later.
- When finance adds a new KPI, add rows (or a metric type)—not a new column named after the KPI×month.
Prompt you can give an agent
Migrate our spreadsheet that has one column per month into a Busabase table with Period, Metric, Value (and Entity if needed). Map each non-empty cell to one row. Do not create month columns.
That keeps history queryable without yearly redesigns.
Your reply
Sign in to join the discussion. Reading is always open; you only need an account to post.
Sign in