Skip to content

Save Data

Write a workflow step's output back into the project as a Data Source.

When to use this

  • You want a step's rows out of the workflow and into the Data Sources list, where you can preview them, download them, or pull them into another workflow with an Import Data node
  • You want an intermediate result kept, such as a filtered extract or a cost table, and not only the scenario the run saves

What you need

  • An upstream node that emits tabular data (Import Data, an operation node, or any installed node that produces a compatible table)

Parameters

Parameter Default Description
Output Name output Name for the saved file. No extension; the format below supplies it.
File Format CSV CSV or Excel (.xlsx). Only CSV is stored. See Excel is formatted but not saved.

How it works

Save Data is a terminal node: it has an input but no output. When the workflow runs, the upstream rows are formatted into <output name>.<format>. When the run finishes, that file is written into the project as a Data Source. It appears in the Data Sources list beside your uploads, carrying its columns and row count, and it previews, downloads and imports like any file you uploaded yourself.

What gets formatted depends on the input shape:

  • A table of rows — one row per source row
  • Scenario data — the first nonempty export table preferred by the installed package, or all declared tables in declaration order when no preference is populated
  • A single record — a one-row file

Excel is formatted but not saved

Set File Format to Excel (.xlsx) and the run still completes, but that node writes no Data Source. SCMotif stores a data source's contents as text, and a spreadsheet is binary, so the export is refused rather than stored corrupted. The run's Execution Report carries a Server error diagnostic naming the file and suggesting CSV, which stores and opens in a spreadsheet just as well.

Running the same workflow twice

The output name is set once, on the node, and every run uses it again. A second run does not overwrite the first export. The second file gets a suffix: eu_orders.csv, then eu_orders.csv (2). An upload is different: it refuses a name the project already holds.

Workflow wiring

Export a filtered table. A graph that builds no scenario needs no Create Scenario node:

flowchart LR
    n1["Import Data (orders.csv)"] --> n2["Filter (region = EU)"]
    n2 --> n3["Save Data (eu_orders.csv)"]

Export a stored scenario:

flowchart LR
    n1["Load Scenario"] --> n2["Save Data (scenario-export.csv)"]

Common mistakes

  • Trying to chain something downstream of Save Data. It is terminal. Connect anything downstream to the upstream node instead.
  • Picking Excel (.xlsx) and then looking for the file. Nothing is stored. The run reports a Server error diagnostic, and the fix is CSV.
  • Putting a file extension in the output name. The extension comes from File Format. report with CSV gives report.csv, and report.csv gives report.csv.csv.
  • Expecting a re-run to overwrite the last export. It does not. You get a second data source with a (2) suffix.

Next steps

  • Import Data — read an export back into another workflow
  • Browse installed nodes for package-specific table calculations.