Skip to main content

Preparing Data for Dashboards

A practical guide to structuring sheet data in Farseer for dashboards—from simple series charts to combo charts, AC/FC handovers, transposed stacked bars, and Grid layouts for composed views and small multiples.

Updated yesterday

Farseer charts are driven by the shape of your sheet. If you can explain your chart as “categories on one axis, series on the other”, you can build it reliably in a dashboard.

One important mindset shift: the sheet is input only. You don’t format values in the sheet. Number formatting comes from the variable, and chart styling (colors, labels, chart type choices) comes from the tile.

1) The basics: one series, one chart

Start with the simplest possible structure: one series across a set of categories.

  • The top row contains category labels (for example months).

  • The first column contains the series name.

  • The numeric cells contain the values.

Here’s the smallest example (one series, three categories):

Name

Jan

Feb

Mar

Revenue

120

160

140

This produces a chart with a single series (“Revenue”).

The above dataset rendered as both bar or line charts

2) Adding another series

To compare two lines/bars (or to stack values), you add another row. In Farseer, each row is a series by default, which means you can style each row independently in the chart.

Name

Jan

Feb

Mar

Revenue

120

160

140

Cost

80

95

90

With two series you can choose:

  • A grouped/clustered bar chart (two bars per month)

  • A stacked bar chart (Revenue will never be stacked with Cost)

  • A multi-line chart (two lines)

The above dataset rendered as bar, line and stacked bar charts

3) Combo chart (bar + line, per series)

Combo charts let you choose a different chart type per series. The data layout stays the same; what changes is how you configure each series in the tile.

Use the same sheet:

Name

Jan

Feb

Mar

Revenue

120

160

140

Cost

80

95

90

Then in the tile:

  • Set Revenue to bars

  • Set Cost to a line (or vice versa)

The above dataset where Revenue is set as bar, and Cost as line

4) AC+FC in one continuous timeline

A common pattern is a timeline where Actuals run up to a cutover month and Forecast continues after it. The key is: don’t overlap. You keep two separate series, but only one of them has values in any given month.

This is the recommended input shape:

Name

Jan

Feb

Mar

Apr

PL

110

140

130

160

AC

120

160

FC

140

150

Notice what makes this work:

  • AC has values only for the months that are actual.

  • FC has values only for the months that are forecast.

  • The blank cells create the “handover” without double-plotting the same month.

Additional options used to get the exact same chart as below:

  • Bar spacing: -50%

  • PL is visually behind because it's the first row

The above dataset shown in a combo chart (AC & FC stacked)

Tip: There will be some blank reserved space for the cells in the series that are empty in this case. To eliminate the space, you can freely "stack" AC and FC on top of each other. This works seamlessly because in this case AC and FC don't overlap.

5) When to Transpose

So far, rows were series. That’s usually best for timelines and scenario comparisons.

But for some charts—especially stacked bars—you may want the components to be the series, and the entities to be the categories. In those cases, it’s often cleaner to structure your data so columns are the series, then transpose the chart mapping.

Example: Countries as categories, channels as series.

Name

Direct

Retail

Wholesale

HR

40

55

25

DE

60

20

30

UK

35

45

15

With transpose enabled:

  • Countries become the category axis

  • Direct/Retail/Wholesale become series

  • Series controls move from Row options to Column options

Additional options used to get the exact same chart as below:

  • Orientation: Vertical

  • Show Integrated Legend: ON

  • Show Legend: OFF

  • Value labels Position: Middle

The above dataset shown as a vertical bar chart

6) Grid composed visuals (IBCS-style)

6.1) IBCS Charts with Variance

Once you want two or more charts to behave like one composed view—aligned and comparable—you use Grid.

The mental model is:

  • The first level defines chart containers (each container becomes a chart).

  • Everything inside a container is what’s shown inside that chart.

So you structure the sheet like “a chart made of series”, repeated per container.

Name

Jan

Feb

Mar

Variance

ΔPL

-20

+30

+20

Base chart

PL

120

160

140

AC

100

190

160

Grid scaling is automatic and shared:

  • All charts in the grid use the same axis

  • The axis max is the maximum value across all charts in the grid

  • The axis min is the minimum value across all charts in the grid

This is exactly what you want for IBCS-style layouts, because it prevents charts from “lying” via different scales.

Additional options enabled to get the exact same chart as below:

The above dataset created with grid

6.2) Small multiples

Small multiples are useful when you want to compare the same chart structure across many segments (for example regions, products, or teams) without changing how the chart is read. The trick is to keep the series and category layout identical in each block, and only change the segment you’re showing.

In Grid, you do this by creating one chart container per segment and repeating the same set of series inside each container. Because Grid uses a shared axis with automatic min/max across all charts, the small multiples stay directly comparable.

This is straightforward in Farseer using dimensions. You generate the top-level rows from the dimension you want to analyze (for example, Region or Product). Each generated row acts as a chart container: open one container, add the chart series inside it, and Farseer will automatically repeat that same chart structure for every dimension member because the containers are generated.

Example part of the sheet structure (one container per segment, same series repeated):

Name

Jan

Feb

Mar

Basel

Revenue

45

50

55

Berlin

Revenue

60

58

55

The above example in the grid chart

If you need each segment to have its own independent scale (sometimes useful, but less comparable), Grid is not the right choice—Grid is intentionally optimized for comparability through shared scaling.

7) A few practical rules that prevent surprises

Keep the sheet purely numeric. If you add symbols or formatted strings into cells, the chart can’t treat them as values.

Decide what “missing” means. An empty cell means “no value”. A zero means “the value is 0”. Those are not the same visually.

Control clutter intentionally. “Show empty rows” is off by default to keep charts readable; switch it on only when you need stable legends.

Last but not least, apply IBCS standards where possible.

Did this answer your question?