Skip to content
Joe BI Platform
Esc
navigateopen⌘Jpreview
On this page

Dashboards and ad-hoc analysis

Working in Metabase - parity dashboards, questions, SQL, collections, and subscriptions.

Dashboards and ad-hoc analysis

Metabase (https://joe-metabase.fly.dev) is the internal BI surface. If you used Looker’s Explore, Metabase’s equivalent is Questions; Looker dashboards map to Metabase Dashboards; Looker folders map to Collections.

The parity dashboards

Rebuilt one-for-one from the top Looker surfaces (which together carried ~92% of embedded views):

Dashboard Looker equivalent Notes
Home (Parity) Home Network overview cards
Sales Report (Parity) Sales Report Per-shop sales detail; every tile verified against the LookML definitions
Payout by Arrival Date (Parity) Payout by Arrival Date Banking-day payouts by arrival
All Transactions (Parity) All Transactions Full ledger detail; 7.4M rows, 365 days, all money splits
Network Overview / Network Pulse (Admin) / Store Spotlight internal views Network health, single-store deep dive
Shop Sales Report (Embed) merchant embeds Shop-locked; powers embeds and PDF reports

Filters at the top of each dashboard (shop, date range) apply to every card. Cards are built on bi.* views, so their numbers are identical to the scheduled emails by construction.

Building your own questions

  1. + New > Question for the GUI builder: pick a bi.* view, filter, summarize, visualize. No SQL needed for most day-to-day questions.
  2. + New > SQL query for full control. Variables work: where business_date >= {{start_date}} creates a date picker automatically.
  3. Save into a collection. Use “Our analytics” shared collections, not your personal collection, for anything a teammate might need. Saved questions can be added to dashboards.

Tips carried over from how this instance is set up:

  • The Metabase database connection uses a read-only role with a connection cap. Dashboards fire all cards concurrently, so if you build a dashboard with 15+ heavy cards it can queue; keep dashboards focused.
  • Prefer bi.* views over raw tables (the data dictionary explains each). If a view is missing something you need repeatedly, ask for the view to be extended rather than working around it - that keeps the contract honest.
  • Query today’s data from live dashboards or recent_orders; the ledger and facts close at the nightly sync.

Metabase subscriptions vs platform reports

Metabase has its own email subscription feature (dashboard > sharing > subscriptions). It is fine for internal “send me this dashboard weekly” needs.

Anything merchant-facing or accounting-critical should be a platform scheduled report instead: those are versioned in code, tested against fixtures, idempotent (a failed run retries without double-sending), branded, and logged. Rule of thumb: if the recipient is outside the data team or the output feeds a downstream system (QuickBooks, Zapier), it is a platform report.

Sharing and permissions

  • Everyone on the data/ops team is either an admin or the Data Analyst group.
  • Dashboards can be shared by URL internally; merchant-facing sharing goes through signed embeds, never by adding merchants to Metabase.

Was this page helpful?