Skip to main content

Example 9: Snowflake -> Google Sheets executive report

Data Pipeline examples

Why this example​

The exec team reads a monthly KPI dashboard inside a shared Google Sheet that they already have bookmarked. Authoring the same report inside Snowflake or BI tools nobody opens isn't useful. This data pipeline runs once a month, queries the KPI fact table in Snowflake, pivots it into the wide layout the sheet expects, and writes back to the same tab.

Helix Beverages context: the CEO at Helix reads the same shared Google Sheet every Monday morning, and no BI tool will replace it. This recipe is how the leadership team keeps the Sheet auto-fresh from Snowflake (named problem 4 in the Helix overview).

At a glance​

  • Connectors used: Snowflake, Google Sheets
  • Nodes used: Start, Source, Reshape (pivot), Transform, Load
  • Schedule: monthly, the 1st at 09:00 local
  • Direction: One-way (Snowflake -> Google Sheets)

Canvas​

Step-by-step​

#NodeActionKey configurationOutput shape
1StartNoneNoneNone
2SourceSnowflake: querySELECT month, region, kpi_name, value FROM WH.MART.KPI_FACTS WHERE month = DATE_TRUNC('month', CURRENT_DATE) - INTERVAL '1 month'Long-format rows: { month, region, kpi_name, value }
3ReshapeNonePivot mode: rows = region, columns = kpi_name, values = value.One row per region, one column per KPI
4TransformNoneAdd a top-row header label, format month as MMM YYYY, round numeric columns to two decimals.Sheet-ready row
5LoadGoogle Sheets: writeSheet ID + tab name (e.g. KPI Monthly). Mode: Replace tab contents. Header row: first row.None

Variations​

  • Day-level instead of monthly: change the schedule + the Source predicate.
  • Append rather than replace: switch the Load mode to Append. Useful for an audit log that grows over time.
  • Multiple sheets in one workbook: duplicate the Reshape + Load chain after the Source; each branch targets a different tab.
  • PDF snapshot: run a final Notification node that emails the leadership team with the sheet URL after the load completes.