How to Import a Model into SAP Analytics Cloud: A Step-by-Step Guide (Rolling Forecast)
This is the exact sequence to import a model into SAP Analytics Cloud and end up with an Actual / Budget / Forecast comparison — tested in a live tenant, with the three traps that catch almost everyone the first time. Download the printable PDF version.
What you'll end up with
A working SAC model loaded with Actual, Budget and Forecast data, and a Story showing all three versions side by side — Business Unit and Month down the rows, Version across the columns, Revenue in the cells. You supply your own figures; a ready accelerator supplies the structure that's already correct.
Part 1 — Create the model from the file
- Open the Modeler (main menu → Modeler).
- Create New → Model, then choose Import a file / from a CSV.
- Select your CSV, keep Use first row as column headers ticked, leave the delimiter on Auto-detect, and confirm.
- SAC shows the columns (for the sample data: Version, Business Unit, Month, Revenue, EBITDA). Numeric columns become Measures, the rest Dimensions. Save the model — a star by the title means unsaved.
Pitfall 1 — the system Version dimension. When you save a Planning model, SAC adds its own Version dimension automatically (often shown as Version2). This is expected and required — leave it alone. Your own Version column (Actual / Budget / Forecast) is a separate dimension, and that's the one your comparison will use.
Part 2 — Load the data (the step most people get wrong)
Open Data Management (the dropdown at the top-left of the model).
Pitfall 2 — Upload Job vs Import Job. SAC offers two ways to bring in a local file, and they behave very differently. An Upload Job only configures a load — it does not run from the job list, its status stays "set up / Not yet run", and there is no Run button in its menu. That's the dead end most first-timers hit. An Import Job is the one that actually loads, and it ends with a Run Import button. Use the Import Job path.
- In the Import Jobs section, start a new import from a File and select your CSV.
- Step 1 — Prepare Data: check the rows and columns, then Next.
- Step 2 — Map to Facts: confirm Version maps to your Version dimension, not the system one. Next.
- Step 3 — Map Properties: the "public.Actual" default note refers to the system Version — expected. Next.
- Step 4 — Review Import: aim for 0 rows rejected, then click Run Import.
- Confirm the settings (Import Method Update, Reverse Sign Off) and click Finish. Leave the tab open until it completes.
When it's done, the Import Jobs list shows a real Last Run date and a row of green status ticks. That's your confirmation the data is in — not before.
Part 3 — Build the Story (Actual / Budget / Forecast side by side)
- Go to Stories → New Story, choose a Canvas page.
- In Add data to story, pick Model or Dataset and select your model (not File).
- From the left panel, add a Table and draw it on the canvas.
- Columns → Measures: add Revenue (clears the "at least 1 measure required" prompt).
- Rows → Add Dimension: add Business Unit, then Month.
- Columns → Add Dimension: add Version (your Actual/Budget/Forecast dimension — not the system one).
- Scroll horizontally to confirm all three versions show, then save the Story.
Pitfall 3 — removing a filter can delete the widget. While editing, deleting a filter can remove the whole table if it's the active object. Build the table first (measure + rows + columns), check the result, and only then adjust filters. If a table disappears, check Outline → Pages before rebuilding.
Why this guide exists
None of the three pitfalls above shows up in a generated CSV or a prompt's output. They only appear inside a live tenant — which is exactly the work a tested accelerator has already done for you. Generating the model is the easy part; getting it loaded and displayed correctly is the job. See also: what AI doesn't see in a SAC model.
Note: independent project, not affiliated with or endorsed by SAP SE. You supply and validate your own figures. "SAP" and "SAP Analytics Cloud" are trademarks of SAP SE.
Frequently asked questions
Why won't my SAC upload job run?
Because an Upload Job only configures a load — it does not execute from the job list, and its menu has no Run option. Its status stays 'set up / Not yet run'. To actually load a local file, use an Import Job instead: it ends with a Run Import button that writes the data.
What's the difference between an Upload Job and an Import Job in SAC?
An Upload Job stores a file-load template but doesn't run itself from the list. An Import Job runs the load through a wizard (Prepare, Map to Facts, Map Properties, Review) and finishes with Run Import, which is the step that populates the model.
Why does SAC add a second Version dimension?
Every Planning model requires a system Version dimension, which SAC adds automatically (often shown as Version2). It coexists with your own Version column (Actual/Budget/Forecast). Leave the system one alone and use your own dimension in the Story.
How do I show Actual, Budget and Forecast side by side in a Story?
Add a Table, put Business Unit and Month in Rows, put your Version dimension in Columns, and add Revenue as the measure. The three versions then appear as adjacent columns.
Related SAC resources
- Annual budget →SAC Planning · Finance
- CapEx planning →SAC Planning · Finance
64 SAP Analytics Cloud templates for 16 industries, already structured following these best practices.
Explore the catalog →