learntodriveai.dev/Analytics & BI/Second BI Platform: Tableau and Cross-Platform Verification
Analytics & BI·Project 13·6 units

Second BI Platform: Tableau and Cross-Platform Verification.

**Track:** Analytics & BI

§ Brief

You're building a portfolio dashboard for Carlos Mendoza, CFO of Meridian Properties — a commercial real estate firm in Montevideo whose board has lost patience with spreadsheets and wants investor-grade analytics.

The discipline skills: Tableau Desktop from a blank canvas, calculated fields and LOD expressions, parameters, designing a dashboard against a static-export deployment constraint, and reconciling the same metric across two BI platforms.

The AI-direction lesson: AI's failure pattern changes when the tool changes. You already know how AI generates Metabase SQL. In Tableau, AI writes calculated-field expressions that are syntactically valid but conceptually wrong — a measure on the Color shelf when it belongs on Detail, a FIXED LOD where INCLUDE is correct, a hardcoded date where a parameter should sit. The Metabase build becomes the reference: if the same metric produces a different number in Tableau, one of the two implementations is wrong, and the verification work is finding which. Multi-platform direction means you direct AI inside both tools and verify across them.

Your Role

You're the analyst building the Tableau workbook, but the deeper work is being the architect of the cross-platform verification. The Metabase reference exists so the Tableau number can be trusted. The board reads to four decimal places; your design has to survive that scrutiny.

The relationship with AI deepens rather than shifts. The infrastructure you built last project — project memory, the profiling skill, the pre-commit hook — runs as the floor here. You direct AI to draft Tableau calculated fields and LOD expressions, but you own the cross-platform check: same definition in CLAUDE.md, two implementations, one expected number. When the numbers diverge, AI does not surface it. You do.

What's New

Last time, you encoded analytical judgment as infrastructure for a Kingston music venue — a SKILL.md, a pre-commit hook, MCP permission scopes, a delegated agent in Codex CLI.

This time, that infrastructure is established and stays in the background. What's new is the second BI platform: Tableau Desktop Free Edition, the drag-and-drop visual query builder, calculated fields, LOD expressions, parameters, and forecasting. You'll feed Tableau from DuckDB through a Hyper extract — a different integration pattern from MCP, because Tableau predates MCP and uses its own data-source model. You'll build the same portfolio overview twice, once in Metabase as the reference, once in Tableau as the deliverable, and reconcile every headline metric across both. The audience is also new: a CFO and his board, not an internal operator.

The hard part is not the analysis. It is noticing where Tableau's paradigm nudges you toward a different design than Metabase did, and catching the cross-platform divergence before Carlos does.

Tools

  • Claude Code with the DuckDB MCP connection — established
  • Codex CLI — established from last project, available but used sparingly
  • DuckDB — established
  • Metabase via Docker — established, used here as the reference platform
  • Tableau Desktop Free Edition — new; the unit that uses it walks through installation
  • Tableau Hyper extract format — new; the data integration pattern Tableau uses
  • Python (pandas), Jupyter notebooks — established
  • Git and GitHub with the pre-commit hook from last project — established
  • CLAUDE.md, the profile-dataset skill, the pre-commit configuration — carried forward

Materials

  • Meeting notes from the kickoff call with Carlos — the first-contact artifact. Sharp brief, but the analytical specifics are not in the notes.
  • Meridian portfolio dataset — about 22 office and retail properties across Montevideo and Punta del Este, 36 months of history. Property metadata, monthly rent rolls per tenant, lease terms, operating costs, occupancy, anchor revenue-share data. Roughly 850 monthly rent-roll rows, 140 active leases, 45 expired leases.
  • Starter CLAUDE.md — same shape as last project. Project context, tech stack, the established skill, and the established hook are populated. Metric definitions and tool-specific notes for Tableau are placeholders for you to fill in once the framing is settled.
  • Established profile-dataset skill — copied into the project's .claude/skills/. You invoke it; you do not re-author it.
  • Established .pre-commit-config.yaml — extended to govern the workbooks/ directory.
  • Working Metabase Docker stack and DuckDB MCP connection with read-only scope.
  • Reference documentation — a short Tableau Desktop primer (data pane, shelves, marks card, calculated fields, parameters, LOD expressions), the Tableau Free Edition sharing-restriction documentation, and the Hyper extract format reference.