From source to report.

An illustrative quarterly report. Compare the finished numbers with the source rows behind them.

Explore the report

Period
View

Showing Q3 FY25 report view.

Department expense review

Q3 FY25 · Report view

Interactive synthetic department expense report
DepartmentActualBudgetVariance
Corporate$335,000$312,000+$23,000
Operations$219,500$218,000+$1,500
Research$158,000$150,000+$8,000
Total$712,500$680,000+$32,500

Correction in this quarter: Operations includes -$4,500 to reverse a duplicate shared-services charge before the report is refreshed.

Follow a correction

Change the source.
Update the report.

Wdata stores the rows, a parameterized query selects the period, a connection refreshes the spreadsheet input, and cell links carry the result into a document. Each action changes a different layer.

Q3 FY25 · Operations

Source ready

Source readySource correctedConnection refreshedLinks pendingLinks published

Wdata query

Select the period and aggregate its rows.

parameterized
SELECT department,
  SUM(actual) AS actual,
  SUM(budget) AS budget
FROM wdata.expense_ledger
WHERE period = :period
GROUP BY department
Parameter
:period = Q3 FY25
Result row
Operations · actual $224,000
Correction note
Reverse a duplicate shared-services charge before the report is refreshed.

Spreadsheet

Refresh the input. Keep calculations separate.

two sheets
Inputsconnected cells
Actual
$224,000
Budget
$218,000

Refresh replaces unlocked input rows with the latest query result.

Calculationsformula cells
Report actual
$224,000
Variance
+$6,000
=input_actual - budget

Corrections belong in the source. Connected cells are not an editing surface.

Linked document

The published table and narrative share a source.

subsequent change
Document link state for Operations actual
DestinationPublishedPending
Operations actual$224,000
Linked narrative
Operations actual is $224,000 for Q3 FY25.

Connection refresh and link publication are separate actions.

Inside the data model

Behind the number.

Wdata brings the source rows together. Spreadsheet calculations prepare the figures. Links carry them into the report.

Ledger

Wdata fact table

Department IDPeriodAmount
OPSQ3 FY25224,000
OPSQ3 FY25−4,500
CORPQ3 FY25335,000
Selected rows · correction retained as activity

Department mapping

Wdata dimension table

Department IDReport label
OPSOperations
CORPCorporate
A stable key gives the data its reporting label.
Join on
department_id

Reporting query

Filter the period. Join the mapping. Aggregate the activity.

SELECT d.report_label,
       SUM(l.amount) AS actual
FROM ledger l
LEFT JOIN departments d
  ON l.department_id = d.id
WHERE l.period = :period
GROUP BY d.report_label
Period parameter
Q3 FY25
Operations actual
$219,500

Check unmapped keys and source totals before the result feeds a report.

Connected input

Query results refresh into a spreadsheet sheet. Connected cells stay protected; they are not the place for a manual correction.

Spreadsheet calculation

Separate sheets calculate variances and reporting totals. Numeric formulas stay numeric; native formatting controls their presentation.

Linked document

Source cells feed document tables and narrative. Review the changes, then publish the links—not another round of copy and paste.

And the repeatable work?

Chains can orchestrate imports, query runs, and connection refreshes through configured connectors. Permissions, parameters, exception handling, and review points still need deliberate design.

Data connections and integration