{"data":{"slug":"dashboards-from-spreadsheets","title":"Replace Tableau Creator seats with Data Studio (Looker Studio) dashboards on Google Sheets","summary":"For SMB reporting on spreadsheet-sized data: prep your Sheets properly, build the dashboard in Google's free Data Studio (renamed from Looker Studio in 2026), use Claude or ChatGPT for analysis and formulas, and schedule PDF email delivery. Microsoft 365 shops can use free Power BI Desktop, but sharing needs Power BI Pro.","outcome":"A refreshable, shareable dashboard of the business's key numbers, emailed on a schedule, without paying for Tableau Creator licences.","capabilities":["dashboards","data-analysis","sales-reporting"],"replaces":[{"tool":"tableau","scope":"partial"}],"requiredTools":[{"tool":"looker-studio","purpose":"Free dashboarding tool (now called Data Studio) with a native Google Sheets connector, calculated fields, sharing and scheduled email delivery.","optional":false},{"tool":"google-workspace","purpose":"Google Sheets as the data source and Drive for sharing. A free Google account also works with lower email-delivery quotas.","optional":false},{"tool":"claude","purpose":"Data cleaning formulas, calculated-field syntax, SQL if you move to BigQuery, and narrative analysis of exported data.","optional":true},{"tool":"chatgpt","purpose":"Alternative for formula help and analysing CSV exports.","optional":true},{"tool":"microsoft-365","purpose":"Alternative path: Excel PivotTables/charts and the free Power BI Desktop app. Sharing Power BI reports requires Power BI Pro (included in Microsoft 365 E5) or Premium Per User.","optional":true}],"additionalMonthlyUSD":0,"difficulty":"moderate","skill":"basic","setupTime":"1–2 days for the first dashboard (data prep is most of it); a few hours for each after","illustrative":true,"evidenceStatus":"editorial","lastReviewed":"2026-10-13","links":{"page":"/workflows/dashboards-from-spreadsheets","api":"/api/v1/workflows/dashboards-from-spreadsheets","markdown":"/workflows/dashboards-from-spreadsheets.md"},"additionalCost":{"monthlyUSD":0,"explanation":"Data Studio's standard tier and Google Sheets cost nothing extra. Data Studio Pro (team workspaces, organisation-owned content, more schedules) is a paid upgrade you only need for governance. On the Microsoft path, Power BI Desktop is free but sharing needs Power BI Pro ($14/user/month paid yearly per Microsoft's pricing page) unless you're on E5."},"timePerRun":"Automatic refresh on view; weekly PDF by scheduled email","goodFitFor":["Small and mid-sized businesses whose data already lives in Google Sheets, CSV exports or Google products","A handful of standard dashboards (sales, marketing, operations) rather than heavy ad-hoc exploration","Teams paying for one or two Tableau Creator seats mainly to publish a few recurring reports","Anyone comfortable with spreadsheets who can learn calculated fields"],"notFitFor":["Row-level security (each viewer sees only their own rows), certified data sources and formal governance — stay on a BI platform or use Data Studio Pro plus BigQuery with care","Large data (millions of rows) living in spreadsheets — Sheets and the Sheets connector aren't built for it; use a warehouse","Analysts who rely on Tableau's advanced visual analytics (LOD expressions, complex table calcs, custom geocoding, extensive drag-and-drop exploration)","Regulated reporting that needs audit trails on metric definitions and data lineage"],"before":"One or two people hold Tableau Creator licences to connect to spreadsheets/CSVs, build workbooks and publish dashboards; others view them with Viewer/Explorer licences. Most of the dashboards are a few scorecards, trend lines and a table refreshed from spreadsheets.","after":"Clean, append-only Google Sheets tabs feed a Data Studio report built from a written dashboard spec. Calculated fields define metrics once (win rate, net revenue). Viewers open a link; owners get a scheduled PDF every Monday. When someone asks 'why did revenue drop?', you export the table and ask Claude or ChatGPT for an analysis — and verify its numbers against the sheet.","steps":[{"title":"List what your Tableau dashboards actually do","body":"For each published workbook, note: viewers, how often it's opened, data sources, row counts, and any feature you'd miss — **row-level security, LOD expressions, extracts from databases, subscriptions**. If a dashboard relies on row-level security or millions of rows, keep it on Tableau (or plan a warehouse) and migrate the rest. Many SMBs find most dashboards are scorecards, trends and tables — those move easily."},{"title":"Prepare the data in Google Sheets","body":"Work through the **Data-prep checklist** artifact. The two rules that prevent most problems:\n\n1. **One header row, one record per row, one type per column.**\n2. **Long, not wide** — a `Month` column, not twelve month columns.\n\nUse an AI assistant on a **50-row sample** (not your whole sensitive dataset) with the **Find data-quality problems** prompt to get exact cleaning formulas, e.g. `=DATEVALUE()`, `=TRIM()`, `=IFERROR(VALUE(...))`. Paste the fixed values back.\n\nNote: the Sheets connector **includes hidden and filtered cells by default** — delete junk rows rather than hiding them."},{"title":"Write the dashboard spec before opening the tool","body":"Fill in the **Dashboard spec** template: audience, the decision it supports, at most six metrics with plain-English definitions, default date range, filters, layout and acceptance numbers.\n\nThis replaces the most valuable thing a Tableau specialist brought — agreed metric definitions. Get the person who reads the dashboard to sign off on the metric definitions now, not after building."},{"title":"Build in Data Studio (formerly Looker Studio)","body":"1. Open Data Studio (formerly Looker Studio) → **Blank report** → **Google Sheets** connector → pick spreadsheet and tab, keep **Use first row as headers** on.\n2. **Resource → Manage data sources → Edit** and add the calculated fields from the **Calculated-field cookbook** (e.g. `Is won = CASE WHEN Stage = \"Won\" THEN 1 ELSE 0 END`, `Win rate = SUM(Is won) / SUM(Is closed)`).\n3. Build row by row from the spec: scorecards with **comparison date range**, a time series, a bar chart breakdown, a table with conditional formatting.\n4. Add **Date range** and **Drop-down list** controls for the filters in the spec.\n5. **Theme and layout**: set your brand colours once in the theme so every page matches.\n6. Data credentials: *Owner's credentials* lets viewers see data without access to the sheet — decide deliberately.\n\nIf you add or rename columns in the sheet later, **refresh fields** in the data source."},{"title":"Share and schedule email delivery","body":"- **Share** with named people or a Google Group (avoid 'anyone with the link' for business data).\n- **Schedule delivery** (Share menu → *Schedule delivery*): the report is emailed as a **PDF** with a link; choose pages and recipients (up to 50 addresses), and a repeat frequency. Without Pro, the most frequent option is **daily** and each report can have **one schedule**.\n- Quotas: individual accounts can send 200 scheduled emails/day and 800/month; Google Workspace 500/day and 3,000/month, per Google's docs. Scheduled PDFs use US number/date formats.\n\n**Microsoft 365 alternative:** Excel PivotTables and charts cover simple needs. **Power BI Desktop** is a free download, but sharing reports requires Power BI **Pro** ($14/user/month paid yearly) or Premium Per User; Pro is included in Microsoft 365 E5 / Office 365 E5."},{"title":"Use AI for analysis — and check its arithmetic","body":"Export a chart's table (**⋮ → Export → CSV/Google Sheets**) and use the **Explain a change in a metric** prompt. AI assistants are good at spotting patterns and drafting the commentary for a monthly report, but they can mis-add or misread columns. Require the assistant to show its working table, and check two numbers against the dashboard before sending anything.\n\nThen run both systems for one reporting cycle and compare the acceptance numbers from the spec before cancelling Tableau seats."}],"prompts":[{"title":"Find data-quality problems","purpose":"Get exact cleaning formulas from a small sample before building the dashboard.","text":"Here are the header row and a 50-row sample from my Google Sheets tab \"{{tab_name}}\" (CSV):\n\n{{sample_csv}}\n\nOne row should represent one {{row_grain}}. Identify:\n1. Columns with mixed types or text where a number/date is expected.\n2. Inconsistent category spellings (list the variants you see).\n3. Rows that look like subtotals, blanks or duplicates.\n4. Whether the table is 'wide' and should be reshaped long.\nFor each problem, give the exact Google Sheets formula for a helper column that fixes it (assume data starts in row 2). Don't guess about rows you haven't seen; tell me what to check in the full sheet.","variables":["tab_name","sample_csv","row_grain"]},{"title":"Write a calculated field","purpose":"Get correct Data Studio / Looker Studio formula syntax for a metric definition.","text":"Write a calculated field for Google Data Studio (formerly Looker Studio). My data source fields (name: type) are:\n{{field_list}}\n\nMetric I want, in words: {{metric_definition}}\n\nGive: (1) the formula, (2) whether it must be created in the data source or the chart, (3) the field type/format to set, (4) one way to sanity-check the result against the source sheet. Use only functions that exist in Data Studio; if what I want needs a blend or can't be done, say so. If my previous attempt failed, here is the formula and error: {{previous_error}}","variables":["field_list","metric_definition","previous_error"]},{"title":"Explain a change in a metric","purpose":"Draft monthly commentary from exported dashboard data, with visible working.","text":"I'm the {{role}} at a {{business_type}}. Below is a table exported from our dashboard (CSV). {{metric}} changed from {{previous_value}} in {{previous_period}} to {{current_value}} in {{current_period}}.\n\n{{exported_csv}}\n\n1. Show a working table that reproduces both values from the data. If you can't reproduce them, stop and tell me why.\n2. Break the change down by {{breakdown_dimension}}: which segments drove it (absolute and % contribution).\n3. Note anything that looks like a data problem rather than a business change.\n4. Write a 4-sentence summary for the owners in plain English, no jargon, no speculation beyond the data.","variables":["role","business_type","metric","previous_value","previous_period","current_value","current_period","exported_csv","breakdown_dimension"]}],"artifacts":[{"title":"Data-prep checklist for Google Sheets sources","kind":"checklist","content":"DATA-PREP CHECKLIST — do this in Google Sheets before connecting Looker Studio / Data Studio\n\nShape\n[ ] One table per tab, starting at A1, ONE header row (Data Studio uses the first row as field names)\n[ ] One row = one event/record (one order, one deal, one ticket) — no subtotal rows, no blank spacer rows, no merged cells\n[ ] Long, not wide: a \"Month\" column + a \"Value\" column, NOT one column per month\n[ ] Every column has a single data type all the way down (no \"N/A\" text in a number column — leave blank)\n[ ] Stable, unique ID column (Order ID, Deal ID) for COUNT_DISTINCT and joins (blends)\n\nTypes and formats\n[ ] Dates are real dates (right-aligned in Sheets), one format, no text like \"Q3\"\n[ ] Currency columns are plain numbers; currency code in its own column if you have several\n[ ] Categories spelled consistently (use data-validation dropdowns at the source; =UNIQUE(C2:C) to spot variants)\n[ ] Percentages stored as numbers (0.25), not text (\"25%\")\n\nHygiene\n[ ] Raw data tabs are append-only; calculations live in Data Studio calculated fields or a separate \"model\" tab\n[ ] Hidden/filtered rows: Data Studio INCLUDES hidden and filtered cells by default — delete junk rows instead of hiding them\n[ ] Freeze the header row and protect it (Data → Protect sheets and ranges) so nobody renames a column\n    (renaming breaks fields; after any column change, Resource → Manage data sources → Edit → Refresh fields)\n[ ] Store the sheet in a normal Drive folder (the connector docs say shared/Team Drive files aren't supported)\n[ ] Volume check: if a tab is approaching hundreds of thousands of rows or reports feel slow, move the data to BigQuery\n\nAI help (paste a 50-row sample, never the full sensitive dataset)\n[ ] Ask the assistant to list type problems, inconsistent categories and outliers in the sample\n[ ] Ask for the exact Sheets formulas to fix them in a helper column, then paste values"},{"title":"Dashboard spec template","kind":"template","content":"DASHBOARD SPEC — fill this in before building anything (one page per dashboard)\n\n1. Purpose\n   Audience: ______ (e.g. owners + 2 account managers)\n   Decision it supports: ______ (e.g. \"which clients need attention this week\")\n   Review cadence: ______ (e.g. Monday 9:00, emailed PDF)\n\n2. Data sources\n   | Source (sheet/tab) | Grain (one row = …) | Refresh (manual/form/import) | Owner | Rows today |\n   |--------------------|---------------------|------------------------------|-------|-----------|\n\n3. Metrics (max 6 on page 1)\n   | Metric | Definition in words | Data Studio formula | Target / good-bad | Format |\n   | Revenue | Sum of invoice amount, excl. credit notes | SUM(Amount) with filter Type = Invoice | ≥ 40k/mo | Currency, 0 dp |\n   | Win rate | Won deals ÷ closed deals | SUM(CASE WHEN Stage = \"Won\" THEN 1 ELSE 0 END) / SUM(CASE WHEN Stage IN (\"Won\",\"Lost\") THEN 1 ELSE 0 END) | ≥ 30% | Percent |\n   | Avg deal size | Won value ÷ won deals | SUM(Won value) / SUM(Is won) | | Currency |\n\n4. Dimensions & filters\n   Date field: ______  Default range: ______ (e.g. last 12 months, compare to previous period)\n   Filter controls: ______ (e.g. Owner, Client segment)\n   Breakdowns: ______ (e.g. by month, by service line)\n\n5. Layout (top → bottom)\n   Row 1: scorecards (metric + comparison)\n   Row 2: trend line (metric by month)\n   Row 3: breakdown bar chart + table with conditional formatting\n   Page 2+: detail tables for drill-down\n\n6. Access & delivery\n   Viewers: ______  Editors: ______  Data credentials: owner's / viewer's\n   Scheduled email: recipients ______, frequency ______, pages ______\n\n7. Acceptance test\n   Three numbers checked against the source sheet by hand: ______ / ______ / ______"},{"title":"Calculated-field cookbook","kind":"template","content":"CALCULATED-FIELD COOKBOOK (Data Studio, formerly Looker Studio) — add via Resource → Manage data sources → Edit → Add a field\nField names below assume headers: Date, Amount, Stage, Client, Owner, Type, Deal ID.\n\nFlag won deals (number, so it can be summed)\n  Is won        = CASE WHEN Stage = \"Won\" THEN 1 ELSE 0 END\nClosed deals\n  Is closed     = CASE WHEN Stage IN (\"Won\", \"Lost\") THEN 1 ELSE 0 END\nWin rate (aggregate field — set type to Percent)\n  Win rate      = SUM(Is won) / SUM(Is closed)\nWon value\n  Won value     = CASE WHEN Stage = \"Won\" THEN Amount ELSE 0 END\nDeal count (unique)\n  Deals         = COUNT_DISTINCT(Deal ID)\nRevenue excluding credit notes\n  Net revenue   = CASE WHEN Type = \"Credit note\" THEN -Amount ELSE Amount END\nSimple bucketing\n  Deal size band = CASE WHEN Amount >= 10000 THEN \"10k+\" WHEN Amount >= 2500 THEN \"2.5k–10k\" ELSE \"<2.5k\" END\nCleaning inconsistent text\n  Client clean  = TRIM(UPPER(Client))\nAge in days\n  Days open     = DATE_DIFF(TODAY(), Date)\n\nTips\n- Monthly trend: change the Date field's type to \"Year Month\" in the chart, rather than a formula.\n- Put row-level CASE fields in the data source; ratios like Win rate must aggregate (SUM(...)/SUM(...)), never average a per-row ratio.\n- If a formula errors, paste the error and your field list into the \"Write a calculated field\" prompt."}],"limitations":["No row-level security in the standard tier when using owner's credentials — every viewer of a report sees all the data it shows.","Governance is light: content belongs to individual users unless you pay for Data Studio Pro (organisation-owned content, team workspaces).","Google Sheets is not a database; large or fast-growing data makes reports slow and should move to BigQuery or another warehouse.","Fewer advanced analytics and visual options than Tableau (no equivalent of LOD expressions; limited custom visuals).","Scheduled delivery without Pro: at most daily, one schedule per report, PDF in US number/date formats, email quotas per account.","AI-generated analysis can contain arithmetic or interpretation errors; it needs checking before it's shared."],"risks":[{"type":"security","severity":"medium","note":"Reports using owner's credentials expose the underlying data to anyone the report is shared with, even if they can't open the sheet. Share with named people/groups only."},{"type":"functionality_loss","severity":"medium","note":"Losing row-level security, certified data sources and advanced calculations can matter for multi-team or client-facing reporting."},{"type":"reliability","severity":"medium","note":"Renamed or retyped columns in the source sheet break fields silently until someone refreshes the data source. Protect header rows."},{"type":"collaboration","severity":"low","note":"If the report owner leaves, ownership must be transferred; Data Studio Pro's organisation ownership avoids this."},{"type":"sensitive_data","severity":"low","note":"Pasting full customer or financial datasets into an AI assistant may conflict with your data policies; use samples or aggregated exports and a business plan where possible."}],"verificationChecklist":["For every migrated dashboard, three acceptance numbers from the spec match the Tableau version (and the source sheet) for the same date range.","Changing a value in the source sheet appears in the report after refresh, and adding a new row for today shows up in the current period.","A test viewer without access to the sheet can see exactly what you intend (and nothing more) using the chosen data-credential setting.","The scheduled email arrives on time with the right pages as a PDF for at least two cycles, and recipients can open the link.","Renaming a test column breaks a test field as expected, and your documented fix (refresh fields) restores it — so you know the recovery path.","Every person who views a Tableau dashboard today has confirmed the replacement meets their need before seats are cancelled."],"savingsMethodology":"Savings = Tableau licences you can cancel (Creator, and any Explorer/Viewer seats only used for these dashboards) × price per month − incremental cost (normally $0 for Data Studio on Google Sheets; Data Studio Pro or Power BI Pro if you need them). Tableau is typically billed annually, so savings start at renewal. Build time is not counted in dollars.","example":{"scenario":"A 25-person services firm with 2 Tableau Creator seats used to publish 4 recurring dashboards from Google Sheets, moving to Data Studio.","currentMonthlyUSD":150,"newMonthlyUSD":0,"assumptions":["ILLUSTRATIVE: 2 Creator seats at $75/user/month billed annually, as reported by third-party pricing guides. Tableau's own pricing pages returned HTTP 403 to our fetch today, so this price is not verified — use your contract.","No Explorer/Viewer seats are included; viewers move to free Data Studio sharing.","Standard (free) Data Studio is sufficient; no Data Studio Pro.","Savings realised at the next Tableau renewal."]},"evidence":{"status":"editorial","sources":[{"url":"https://docs.cloud.google.com/looker/docs/studio/schedule-automatic-report-delivery","title":"Data Studio — Schedule automatic report delivery","accessedAt":"2026-10-13","note":"PDF attachment + link; up to 50 recipients; daily max without Pro (hourly with Pro); one schedule per report without Pro; quotas 200/day & 800/month individual, 500/day & 3,000/month Workspace; notes Data Studio is the current name for Looker Studio."},{"url":"https://docs.cloud.google.com/looker/docs/studio/connect-to-google-sheets","title":"Data Studio — Connect to Google Sheets","accessedAt":"2026-10-13","note":"First row as headers; hidden and filtered cells included by default; refresh fields after column changes; shared drives not supported."},{"url":"https://docs.cloud.google.com/looker/docs/studio/about-looker-studio-pro","title":"About Data Studio Pro","accessedAt":"2026-10-13","note":"Paid version: organisation-owned content, team workspaces, Cloud Customer Care, up to 200 schedules per report; price not listed on the page."},{"url":"https://www.microsoft.com/en-us/power-platform/products/power-bi/pricing","title":"Power BI pricing","accessedAt":"2026-10-13","note":"Free tier; Pro $14/user/month paid yearly; PPU $24; Pro included in Microsoft 365 E5/Office 365 E5; Desktop free; sharing requires Pro or Premium."},{"url":"https://www.tableau.com/pricing/teams-orgs","title":"Tableau pricing","accessedAt":"2026-10-13","note":"Returned HTTP 403 to our fetch; Creator price not verified (third-party guides report $75/user/month billed annually)."}],"verifiedBy":"agent:claude-research","notes":"Rename from Looker Studio to Data Studio confirmed in Google's own docs (2026). Calculated-field examples use standard Data Studio functions (CASE, SUM, COUNT_DISTINCT, DATE_DIFF, TODAY, TRIM, UPPER); test each in your report. Tableau prices are illustrative."}},"meta":{"apiVersion":"v1","dataVersion":"b50ff0897461","dataGeneratedAt":"2026-10-13T15:03:29.611Z","docs":"/docs/api","evidenceLegend":"/docs/data-model#evidence","disclaimer":"Prices and capabilities change. Check each item's evidence status and verification date. Savings are estimates, not guarantees."}}