New · SOFI private deployment is ready for enterprise rolloutTalk to us
[ ANALYSTS ][ NO ETL ][ GOVERNED ][ PGWIRE ]
pattern · /solutions/self-service-bi

Trustable views foranalysts who ship

Skip the dbt + warehouse + BI pipeline. Analysts define governed views directly on operational sources, policies attach automatically, dashboards read live — no engineering loop in the middle.

[ 01 / 05 ]Capabilities
// What you get //

What changes for data analysts

Three things that move analysts from 'tickets and CSVs' to 'ship dashboards.'

BI tools speak SOFI

Tableau, Looker, Power BI, Metabase — all connect via the pgwire endpoint. Looks like Postgres, behaves like a federation engine.

Trust by construction

Analysts publish views with policies attached. RBAC and masking are enforced on every dashboard read — not on the analyst's discipline.

No engineering loop

Studio (visual) or SQL (raw) — analysts model views, declare consumers, ship the dashboard. Eng team reviews policies, not pipelines.

[ 02 / 05 ]Architecture
// Reference flow //

From sources to published dashboard

Four steps. No scheduler. No staging warehouse. No 2am pipeline failures.

step · 01

Define

analyst writes view · sql or studio

step · 02

Govern

policy.attach · rbac · audit

step · 03

Publish

pgwire · jdbc · rest

step · 04

Consume

tableau · looker · metabase · superset

[ 03 / 05 ]Sample
// View definition //

What an analyst actually writes

One file: revenue by segment, governed, ready for Looker / Tableau.

revenue_by_segment.sql
-- pgwire :5556 / jdbc
CREATE VIEW analytics.revenue_by_segment AS
SELECT
    date_trunc('day', i.paid_at)  AS day,
    c.segment,
    c.country,
    SUM(i.amount)                 AS revenue,
    COUNT(DISTINCT c.customer_id) AS paying_customers
FROM oracle.billing.invoices i
JOIN postgres.crm.customers   c USING (customer_id)
WHERE i.status   = 'paid'
  AND i.paid_at >= now() - interval '90 days'
GROUP BY 1, 2, 3
WITH POLICY rbac_analyst, mask_aggregate, audit_per_dashboard
PUBLISH ON pgwire, jdbc, rest;
[ 04 / 05 ]Outcomes
// Numbers //

What self-service actually buys

Numbers from data teams that swapped a dbt + warehouse loop for SOFI views.

faster than dbt loop

Skip the dbt → warehouse → BI pipeline. Define the view, publish, the dashboard reads it.

BI-ready

out of the box

Pgwire endpoint exposes views as Postgres tables to any BI tool that speaks SQL.

0

shadow extracts

Analysts get governed reads. No more 'just give me a CSV' that ends up emailed to the wrong person.

audit

per dashboard

Every dashboard view is logged with the analyst, the dashboard ID, and the rows returned.

[ 05 / 05 ]FAQ
// Self-service FAQ //

What data teams ask first

Where SOFI replaces the warehouse, where it sits alongside, and where to keep dbt.

No — they keep using Tableau / Looker / Metabase / Superset / Hex. They only learn one new thing: the pgwire endpoint URL. Their queries look like Postgres queries.

// analysts ship faster

Connect Tableau or Looker to SOFI's pgwire today.

Trial includes the BI recipe — pgwire endpoint, RBAC and per-dashboard audit pre-wired.