Self-building views
Describe the view. It builds itself.
Say what you want to watch and the dashboard assembles. Each panel stores the question rather than the answer, so it runs again against live SAP every time it is opened.
- Panels store a compiled query, never a snapshot
- “Last 30 days” still means the last 30 days a year from now
- A renamed SAP field surfaces as an error, never as a plausible wrong number
- Rendering costs no model call at all
Sales performance · saved dashboard · 1 Jan – 31 Aug 2026
Sales performance · saved dashboard · 1 Jan – 31 Aug 2026
Described in a sentence, compiled into twelve stored queries. Opening it re-reads SAP: everything below is what the system holds now, not what it held when somebody built this view.
Net revenue · YTD
10.64bnSAR
+7.1% on the same months of 2025
Sales orders
726,400
+4.1% on 2025
Average order value
14,647.58SAR
+2.9% on 2025
Open order value
1.82bnSAR
3,918 orders not fully delivered
Net revenue by sales organisation
SAR
Net revenue by month, 2026 against 2025
SAR
Top customers by net revenue
6 of 2,118 accounts that ordered
SAR
Net revenue by distribution channel
SAR
Order value by division, per quarter
Q3 is July and August only
SAR
Order to cash, rolling 30-day average
days
Top materials by net revenue
| Material | Description | Orders | Quantity | Net revenue | Share |
|---|---|---|---|---|---|
| TG-2207 | Sensor array | 42,118 | 1.84m EA | 1,942,880,410.55 SAR | 18.3% |
| TG-3302 | Drive coupling | 28,904 | 0.61m EA | 1,611,204,988.20 SAR | 15.1% |
| TG-1140 | Control unit | 51,660 | 2.12m EA | 1,388,776,140.00 SAR | 13.1% |
| TG-0915 | Housing kit | 64,208 | 4.06m EA | 1,104,509,772.40 SAR | 10.4% |
| TG-4410 | Valve assembly | 19,442 | 0.38m EA | 902,118,660.10 SAR | 8.5% |
| TG-5021 | Gearbox | 11,208 | 0.09m EA | 741,602,004.80 SAR | 7.0% |
| 6 of 1,204 | materials sold | 217,540 | 9.10m EA | 7,691,091,976.05 SAR | 72.4% |
By sales organisation
| Sales org | Orders | Net revenue | Avg order value | Open value | vs 2025 |
|---|---|---|---|---|---|
| 1600 · Riyadh | 212,840 | 2,981,204,118.60 SAR | 14,006.78 SAR | 648,211,440.02 SAR | +8.4% |
| 1800 · Jeddah | 198,112 | 2,869,440,902.15 SAR | 14,483.93 SAR | 512,090,118.66 SAR | +6.9% |
| 1400 · Dammam | 194,660 | 2,831,118,440.80 SAR | 14,543.91 SAR | 431,772,905.40 SAR | +7.7% |
| 1200 · Export | 120,788 | 1,958,236,538.45 SAR | 16,212.18 SAR | 229,372,438.10 SAR | +4.2% |
| 4 organisations | 726,400 | 10,640,000,000.00 SAR | 14,647.58 SAR | 1,821,446,902.18 SAR | +7.1% |
What this view said on 1 September 2026
- Net revenue is 10.64bn SAR across 726,400 orders, 7.1% ahead of the same eight months of 2025. Order count grew 4.1% and average order value 2.9%, so most of the growth is price and mix rather than volume.
- The growth is not evenly spread. 1600 Riyadh is up 8.4% and 1200 Export up 4.2%; export is the organisation falling behind the group rate, and it is also the one with the highest average order value, so the gap is orders rather than discounting.
- Three materials carry nearly half the book. TG-2207, TG-3302 and TG-1140 are 46.5% of net revenue between them, out of 1,204 materials sold.
- Order to cash has moved from 41.2 days in January to 49.4 in August, in the same direction every month. No tile above shows it and nothing else on this dashboard caused it. It is the one panel here worth acting on.
- 1.82bn SAR sits in orders that are not fully delivered, the oldest raised on 28 January.
Source: zsd_sales_order / ZA_SalesOrder · net revenue = sum of TotalNetAmount · twelve compiled queries, each grouped as its own panel states · 1 January to 31 August 2026 · order to cash from A_BillingDocument PaymentDate against the order CreationDate
Each panel stores the question rather than the answer, which is why re-opening this costs a database read and an SAP read and no model call at all. The written summary is the one exception: it is generated once when the dashboard is assembled and carries the date it was written for, because a sentence that reads the figures has to say which figures it read.
How it works
01
A panel stores the question, not the answer
What is saved is a compiled query: the entity, the measure, the grouping and a period token. Opening the dashboard re-runs it. Nothing is cached as a figure, so a panel cannot show you a number that was true last month.
02
Periods are tokens, not dates
A panel scoped to “last quarter” stores exactly that, and the window is resolved against today's clock at render. This is the single most common way a saved dashboard goes quietly wrong elsewhere: a date literal written on the day it was built, still showing that window a year later under a title that says otherwise.
03
Every render re-validates against the catalogue
Before a panel runs, its stored query is checked against your current SAP catalogue. A field that has been renamed or removed makes the panel show an error, which is the correct outcome; the alternative is a plausible number computed from whatever was nearest.
04
Opening one costs nothing
A saved dashboard makes no model calls at all. Rendering is a database read plus an SAP read, so a dashboard on a wall refreshing all day costs what the SAP calls cost and nothing more.
Why a dashboard goes stale
The usual failure is not that a dashboard breaks. It is that it keeps working while quietly describing the wrong period.
A view built in December with a hardcoded date range will show December for as long as anyone leaves it up. Nothing errors, no alert fires, and the title still says “last 30 days”. The only way to notice is for somebody to check the numbers against the system by hand, which is the work the dashboard existed to avoid.
We measured this on real saved dashboards before building the current model: several carried frozen date ranges, including one titled “Last 30 Days” showing a window from the previous November.
Storing the question instead
A panel holds a compiled query: the entity it reads, the measure it computes, the dimension it
groups by, and a period token such as last_quarter. None of those is a value; each is an
instruction. The window is resolved when the panel renders, against the clock, so the meaning of
the title and the meaning of the data cannot drift apart.
The same property makes a renamed SAP field visible. Because the stored query is re-validated against the current catalogue on every render, a field that no longer exists produces an error on that panel rather than a number computed from something else.
What it costs to run
Nothing per view. The model was paid for once, when you described what you wanted to watch. After that a dashboard is a database read and a set of SAP reads, which is why one can sit on a screen in an operations room refreshing all day without anybody thinking about it.
Where it stops
What this capability will not do
Where this one stops, said here rather than discovered in a pilot.
-
A panel shows the window it was built for. Comparison against a previous period is available in chat and in reports, not as a delta chip on a tile.
-
A tile over an empty result reads “no data”, never zero; a sum over nothing is not the number nought.
-
Dashboards are built from questions about data. They are not a general drawing surface.
Questions people ask us
Will a saved dashboard still be correct next quarter?
Yes, and that is deliberate. Panels store a period token rather than a date range, resolved at render time, so a view titled “this month” is always this month. A panel whose underlying SAP field has been renamed shows an error instead of a number.
Do dashboards cost anything to leave open?
No model calls are made when a dashboard renders; the query was compiled once, when you described the view. Refreshing costs the SAP reads and nothing else.
Can I edit a dashboard after it is built?
Yes. You refine it by conversation (change a chart type, add a panel, narrow a filter), and the change is compiled the same way the original was.
Next
Live reporting
A report you can page, sort and keep
Tables that page, sort and filter inside SAP rather than over an extract. Save one, come back tomorrow, and it is reading today's data.
Conversational SAP
Ask it the way you would ask a person
No query language, no entity names, no transaction codes. A question in plain English comes back as figures, with the SAP field and the period they were computed from printed underneath.
Forward-looking
Trained on your history. Tested on what it never saw.
History is pulled from SAP, a model is trained on it, and it is backtested on whole periods held out of training. Then it tells you what it thinks happens next, and what is pushing it.
Bring the question your reports cannot answer
Thirty minutes against a live SAP system we provide: no access to yours, nothing to set up. If it cannot answer, you find that out in half an hour rather than three months into a pilot.