OPF
← All posts

Data

One dataset. A chart and a table.

Keep the picture and the detail tied to the same numbers.

A chart tells the story. A table provides the detail. They should agree.

OPF lets both refer to one dataset. Store the numbers once; the chart and table read the same rows.

json
{
  "datasets": {
    "sales": {
      "columns": ["Quarter", "Revenue"],
      "rows": [
        ["Q1", 120],
        ["Q2", 180]
      ]
    }
  },
  "slides": [
    {
      "title": "Revenue by quarter",
      "chart": {
        "type": "column",
        "data": {
          "dataset": "sales"
        },
        "alt": "Illustrative revenue rises from 120 in Q1 to 180 in Q2."
      }
    },
    {
      "title": "The same numbers",
      "table": {
        "dataset": "sales"
      }
    }
  ]
}
Live preview1 / 2

Loading preview…

CSV, TSV and JSON can also be imported with opf ingest. Imported data is a snapshot; source metadata records where it came from, rather than creating a live spreadsheet connection.

Why it matters: one set of figures is easier to check and reuse. Changing the shared dataset updates both views and avoids copying a different number into each slide.

Charts, tables and datasets · Import data

Download the complete example. All names and figures in these examples are illustrative.