What does "revenue" mean in your SAC model? Define your metrics before Joule or any AI answers
A LinkedIn article by Diego Minas, Claude Dashboards vs SAP Joule: where does SAC fit? (October 2026), makes a point every finance team will recognise: AI can build a dashboard in seconds, but it can't tell you what "revenue" really means at your company. Gross or net? Which ledger? Which currency conversion? Returns and cancelled orders in or out? Whose fiscal calendar? The query can run clean, the chart can look great, and the number can still be wrong — and nobody gets an error message for that.
We agree, and we'd add a practical question: where exactly do those decisions live in an SAP Analytics Cloud model? This guide maps each one to an SAC feature, then gives you a checklist to define every metric once — before Joule, Claude or any other assistant starts answering questions on it.
The stack, in one picture
The conversational layer will keep changing. The middle layer is the one you control — and in SAC, it's the model.
Five revenue decisions, and where they live in SAC
| Decision | Where it lives in an SAC model |
|---|---|
| Gross or net? | Separate, explicitly named members or measures (Gross revenue, Discounts, Net revenue) — with Net revenue as a calculated measure or a parent in the account hierarchy, so it can't be computed two ways. Put the definition in the description. |
| Which ledger / source? | A dedicated dimension (e.g. Ledger or Data source) or a filtered model, documented in the model description. Never mix ledgers silently in one measure. |
| Which currency conversion? | Model currency conversion: a currency rate table, the date dimension used for rates, and the rate type on each account. SAP documents two rate types — Average (typically income and expense accounts) and Closing (typically balance-sheet accounts) — plus optional rate versions per category such as Actual or Forecast. |
| Returns and cancelled orders? | Explicit members (Returns, Cancellations) or a status dimension, with the revenue measure defined to include or exclude them — and that rule written in the measure description. |
| Whose fiscal calendar? | The model's time dimension and fiscal year settings (a fiscal year can start in a month other than January). Check that every story and every question uses the same calendar. |
Two more settings decide whether a "correct" definition still adds up: aggregation (a rate or a headcount summed over months is a confident, wrong answer — see SUM, AVERAGE, LAST or COUNT and exception aggregation on time) and the Version dimension ("revenue" in Actual, Budget or Forecast — see Actual vs Budget vs Forecast).
Why it matters more with Joule
Joule's analytical answers in SAC run on Just Ask, against models an administrator has added and indexed (we cover the setup in Joule in SAP Analytics Cloud: what it actually does). A natural-language question can only match what the model names and describes. If "revenue" exists three times with three meanings, or not at all under that word, the assistant has to guess — and guessing is exactly what a governed model is meant to prevent. Access rules matter too: an assistant answers within the data access you configured, so secure the model first (our security & authorization matrix helps).
A metric definition checklist (one row per metric)
Before a model is opened to stories, Joule or any AI tool, write one row per business metric and get it signed off by its owner:
| Field | Example — Net revenue |
|---|---|
| Business name & synonyms | Net revenue; also "net sales", "turnover" |
| Definition | Gross revenue − discounts − returns; cancelled orders excluded |
| SAC object | Calculated measure / account NET_REV (parent of GROSS_REV, DISC, RET) |
| Source & ledger | S/4HANA, leading ledger |
| Currency rule | Local currency → group currency, Average rate, monthly |
| Calendar & aggregation | Fiscal year starting April; SUM over time |
| Versions | Actual, Budget, Forecast |
| Access | Restricted by company code (data access control) |
| Owner & test | Group controller · reconciles to the monthly close within 0.1% |
Then copy the definition into the measure or account description in SAC — that's the text people and assistants actually see.
Defined, secured, tested
A dashboard template is not valuable because of its charts — AI can draw those. It is valuable because of the business logic behind them. That is how we think about SAC: numbers people can trust are defined (one agreed meaning per metric, including eliminations and intercompany rules where they apply), secured (everyone sees only the data they should) and tested (they still reconcile after every quarterly release).
Where to start
Every template in our free catalog ships with a Model Definition sheet listing its dimensions and measures — a ready starting point for this checklist. And if you're preparing the next quarterly release, re-run your metric reconciliation tests after the update: our QRC Testing Pack (pilot) includes them in the regression matrix.
Sources (October 2026): Diego Minas, "Claude Dashboards vs SAP Joule: where does SAC fit?" (LinkedIn, 14 Oct 2026); SAP Learning — Converting Currency in SAP Analytics Cloud (rate tables, Average and Closing rate types, model currency conversion); SAP Architecture Center — Joule with SAP Analytics Cloud. Recommendations are ours, not an SAP certification list. Independent project, not affiliated with SAP SE. SAP, SAP Analytics Cloud and Joule are trademarks of SAP SE; Claude is a trademark of Anthropic.
Frequently asked questions
Why do AI-generated dashboards give different revenue numbers?
Because revenue is a set of business decisions — gross or net, which ledger, which currency rate, returns and cancellations in or out, which fiscal calendar. If those decisions are not encoded in the model, a query can run cleanly and still return the wrong number, with no error message.
Where do these decisions live in SAP Analytics Cloud?
In the model: measure and account definitions with descriptions, calculated measures, the account dimension and its types, currency conversion settings (rate table, Average or Closing rate type), the time dimension and fiscal year settings, the Version dimension, and data access controls.
Does Joule use my model definitions?
Joule's analytical answers run on SAC's Just Ask, on models an administrator has added and indexed. Clear names, descriptions and correct aggregation directly affect the quality of the answers.
Do I need a separate semantic layer tool?
Not necessarily. For SAC content, the model is your semantic layer. Larger landscapes may define metrics upstream (for example in SAP Datasphere) and consume them in SAC; either way, define each metric once, in one place.
Related SAC resources
- Digital performance & GMV →SAC Analytics · E-commerce
- Marketing & acquisition →SAC Analytics · E-commerce
64 SAP Analytics Cloud templates for 16 industries, already structured following these best practices.
Explore the catalog →