Lesson 4 of 6
Stories and dashboards
9 min
Listen to this lesson
A story is SAC's report or dashboard: pages with charts, tables, filters and text. SAC's current story design experience (the optimized story experience) combines classic story building with the scripting and interactivity that used to need separate analytic applications. The tool is flexible; the discipline is to make each story answer a business question, not show every chart the model allows.
Start from the question
Dan's question for the CFO dashboard is: "Is margin on CMC-ALT-100 holding at the expected 37.5% in each channel, and if not, why?" That one sentence gives the structure: a headline KPI (margin % this month against plan), a breakdown by channel (fleet versus aftermarket, which follows the profit centers CMC-FLEET and CMC-AFTMKT), a driver view (price and cost per unit by plant), and a detail table for the exceptions.
Building the story
- Create a story and add the margin model (live or import) as the data source.
- Add a numeric point chart for margin % with a variance against the plan version.
- Add a time series or bar chart for margin by month and profit center.
- Add a table for exceptions with a filter (margin % below 30) and document-level detail.
- Add story or page filters for company code and period, and link filters across charts where needed.
- Add a text box with the data source, refresh time, definitions and owner.
- Check the story on desktop and mobile layouts; share it with the right teams and set view rights.
Common story defects
| Defect | Example | How to catch it |
|---|---|---|
| Hidden filter | A page filter excludes company code 1810 that nobody sees | Review all story, page and widget filters in testing |
| Wrong version | Variance compares to last year's plan | Check version selection on every variance chart |
| Scale and rounding | Values shown in thousands without a label | Check number formats against the source |
| Unbooked or null values | Products with no sales disappear from the table | Decide and document whether to show unbooked members |
| Stale import | Story shows last week's data with no timestamp | Show refresh time on every page |
Story-level defects that tests must look for, separate from model defects.
Sharing, commentary and mobile
Stories are shared with teams and users, with view or edit rights, and can be bookmarked with filters. Commentary lets readers ask questions on a chart, which keeps discussion next to the number instead of in e-mail. For the CFO, the mobile layout matters: test that the headline and channel charts appear first on a phone and that the exceptions table remains readable. Scheduled publications (for example a PDF to the leadership team each Monday) need their own test: the right filters, the right version, and a recipient list that respects data access. Every distribution channel is another place where a restricted user could see data they should not.
What would you do?
The CFO dashboard shows margin 41% for October; Dan's own calculation from the journal gives 37.5%. The model was tested and passed. Where should Priya look first?
Different readers need different pages, not different numbers. The CFO needs the headline and the exceptions; Dan’s controllers need drivers and document-level detail; Maria’s team needs customer-level views for fleet accounts such as Great Lakes Fleet Services. Build one model and several pages or stories on it rather than separate models per audience, so a margin figure is calculated once and appears identically everywhere. When two stories show different numbers for the same scope, that is a defect in one of them, never a matter of perspective.
- Start each story from one business question: headline, breakdown, drivers, exceptions, context.
- SAC's optimized story experience combines dashboards with interactive scripting.
- Story-level defects (filters, versions, scale, unbooked values, staleness) are separate from model defects.
- Show data timestamp, source and definitions on every page.
Check your understanding · not graded
Lesson check
1. What should drive the layout of a story?
2. A tested model shows the right margin, but the story shows a different one. What is the most likely cause?
3. Why show the data timestamp on every story page?
4. Which is a story-level defect rather than a model defect?