Skip to content
AnrilX
All capabilities

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
See it live

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

3.0bn 1600 2.9bn 1800 2.8bn 1400 2.0bn 1200

Net revenue by month, 2026 against 2025

SAR

JanMarMayJul
2026 2025

Top customers by net revenue

6 of 2,118 accounts that ordered

SAR

Al Rajhi Steel 1.2bn Gulf Petrochem 986m Najd Contracting 812m Red Sea Logistics 648m Jeddah Cement 511m Riyadh Modular 402m

Net revenue by distribution channel

SAR

10.6bn
10 · Direct sale58% 20 · Wholesale28% 30 · Export14%

Order value by division, per quarter

Q3 is July and August only

SAR

3.9bn Q1 4.0bn Q2 2.7bn Q3 to date
01 · Components 02 · Systems 03 · Services

Order to cash, rolling 30-day average

days

JanMarMayJul
Days to cash

Top materials by net revenue

MaterialDescriptionOrdersQuantityNet revenueShare
TG-2207Sensor array42,1181.84m EA1,942,880,410.55 SAR18.3%
TG-3302Drive coupling28,9040.61m EA1,611,204,988.20 SAR15.1%
TG-1140Control unit51,6602.12m EA1,388,776,140.00 SAR13.1%
TG-0915Housing kit64,2084.06m EA1,104,509,772.40 SAR10.4%
TG-4410Valve assembly19,4420.38m EA902,118,660.10 SAR8.5%
TG-5021Gearbox11,2080.09m EA741,602,004.80 SAR7.0%
6 of 1,204materials sold217,5409.10m EA7,691,091,976.05 SAR72.4%

By sales organisation

Sales orgOrdersNet revenueAvg order valueOpen valuevs 2025
1600 · Riyadh212,8402,981,204,118.60 SAR14,006.78 SAR648,211,440.02 SAR+8.4%
1800 · Jeddah198,1122,869,440,902.15 SAR14,483.93 SAR512,090,118.66 SAR+6.9%
1400 · Dammam194,6602,831,118,440.80 SAR14,543.91 SAR431,772,905.40 SAR+7.7%
1200 · Export120,7881,958,236,538.45 SAR16,212.18 SAR229,372,438.10 SAR+4.2%
4 organisations726,40010,640,000,000.00 SAR14,647.58 SAR1,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.

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.