Jae Wilson @DataCrew
Domo

Domo - Month over Month Date Comparison using ETL - Old School Hack

March 3, 2025

Hook (1-2 sentences): When you filter a Domo card to a single month, the underlying SQL query excludes every other month — including the previous one you need for comparison. Here's the ETL workaround that solved this problem before Variables, FIXED functions, and Segments existed.

Why It Matters

Without a workaround, applying a month filter in Domo is a one-way door: you get your selected month's data, and nothing else. That makes month-over-month comparisons impossible in a single card unless you hard-code date ranges — which breaks the moment anyone touches the filter. This ETL pattern gives analysts a way to embed comparison periods directly into the dataset, so the card always has what it needs regardless of what the filter selects.

What You'll Learn

  • Understand why Domo's single-SQL-query architecture makes filtered date comparisons hard
  • Use ETL Union steps to create offset copies of a dataset tagged by period
  • Hardcode date offsets (e.g., +31 days) to shift data into a comparable period slot
  • Structure your dataset so Beast Mode calculations can distinguish "actual" from "offset" rows
  • See how this old-school approach relates to modern tools like Variables and the FIXED function