River Logiceode docs

Edit data in a model

Change a model's input numbers in a spreadsheet-style grid, save them as a what-if or preview them on the base model, and run the result.

Needs a model openOwner or contributor

Where: Workspaces→a workspace→Add widget→Data entry

The Data entry widget puts an editable grid over the model's input tables. Nothing is written as you type: edits collect into a change-set, Save puts it on a what-if scenario, and Run scenario solves it. You can also preview a change on the base model before making it permanent.

Add the grid to a workspace

  1. Open a workspace and click Add widget.
  2. Under Data, click Data entry. The tile is titled Planner inputs.
  3. The Define a view with RIA dialog opens straight away. Describe the data you want (next section).

Close the dialog without creating a view and the tile reads No data workspace for this model yet, with Define a view with RIA again. RIA can also add a ready-made Data entry tile when it builds a workspace for you; see Widgets.

The tile saysMeaning
Loading input tables…It's reading the model's editable tables.
Couldn't load the input tablesReopen the widget, or ask RIA in the console to rebuild it.
No editable inputs for this model yetThe model has no input tables to edit. Define a view with RIA lets you try a different request.

Define a view with RIA

A view is a named slice of one input table: which columns, which rows, and which columns you can edit.

  1. Under What do you want to work with?, describe it in business terms, or click one of the Try one chips: A pricing sheet for our products, Capacity by resource, in hours, Material costs and supply caps.
  2. Click Draft the view. RIA maps your words onto one of the model's real tables.
  3. Check the proposal:
    • View name.
    • Source: the table it reads, and any row filter. Click the filter's ✕ to drop it.
    • Columns (N kept): per column, a checkbox to include it, a Business label, a unit, and editable or read-only. Click editable to make a column read-only.
  4. Click Create view →. The tile now shows the grid.

Re-propose sends your request again: use it to add a column or make a read-only column editable, which the review can't do. The row key can't be excluded, and a view needs at least one editable column: "Keep at least one editable column — a view with none is read-only noise." When RIA can't map your request, it says so and offers Start from one of this model's tables: one chip per table, each drafting a view over every editable field of that table.

Clicking outside the dialog closes it and discards the draft without asking.

Find the rows

Above the grid:

  • key exactly… looks up one exact key across the whole table, on the server. It's the only way to reach rows past the first 5,000. It runs when you press Enter or leave the box.
  • Filter rows (Filter key…) matches part of a key column, among the rows already fetched (at most 5,000). Press Enter or click Filter. ✕ clears it.
  • One tab per view on the tile. Switching tabs clears the filter. Each tab keeps its own edits, and Save acts on the tab you're on.

The meta line names the view and what it edits, then N of M loaded. Rows arrive 50 at a time; more load as you scroll near the bottom or click Load more. Couldn't load rows comes with Retry. On a table over 5,000 rows, a banner says only the first rows are shown and the filter searches only those. The grid counts N of M rows, or N rows once all are loaded. An empty grid reads No rows, or No rows match this filter with Clear filter.

Edit cells

  • Select: click, drag, Shift+click, or Shift+arrow keys.
  • Edit: double-click, press Enter, or start typing (typing replaces the value). Enter commits; Esc cancels. Only editable columns open an editor.
  • An edited cell gets a coloured edge and a dot titled edited.

$ columns show currency to 2 decimals, % columns 1 decimal, and other numbers are grouped with up to 2 decimals; the editor always shows the plain number. Drag a header's edge (Drag to resize) to change a column's width; eode remembers it for that table in this browser. A view can pin its first columns so they stay put while you scroll sideways.

Use the keyboard

Click into the grid first; while it has focus, these keys belong to the grid, not the browser.

KeysDoes
Arrow keysMove the selection. Shift extends it.
TabMove right, wrapping to the next row.
EnterEdit the cell.
EscCancel the edit, or clear the selection.
Delete / BackspaceClear the selected editable cells.
Ctrl/⌘+ASelect every cell.
Ctrl/⌘+C / VCopy / paste.
Ctrl/⌘+DFill down: copy the first row of the selection into the rest.
Ctrl/⌘+RFill right: copy the first column of the selection into the rest.
Ctrl/⌘+ZUndo.
Ctrl/⌘+Shift+Z or Ctrl/⌘+YRedo.

Each paste, fill, clear or cell edit is one undo step. The undo history is lost when the tile reloads.

Copy, paste and export

  • Copy puts the selection on the clipboard as tab-separated text, ready to paste into a spreadsheet.
  • Paste reads cells copied from a spreadsheet. One value fills the whole selection; a block fills out from the top-left selected cell and stops at the grid's edge. Read-only columns are skipped.
  • Right-click a cell for Cell actions: Copy and Copy with headers.
  • CSV downloads the selected cells (selection.csv), or every loaded row (rows.csv, or rows-{loaded}-of-{total}.csv when not every row is loaded). Headers use the business labels. Text that a spreadsheet would read as a formula is prefixed with '.

Paste plain numbers. A value with a currency sign or thousands separators, like $1,234 or 1,234, isn't read as a number and raises a blocking must be a number check.

Add a row

  1. Click Add row. The Add a net-new item sheet opens: "RIA clones a similar item's structure (BOM, supply path, required fields); adjust the few values that differ."
  2. Click one of the Clone a similar item chips. They're drawn from the rows already loaded.
  3. Change the values that differ under Cloned from item: edit the new item:, then click Add item. Pick a different template starts over.

The new row shows a new tag until you save. Its ✕ (Discard this unsaved row) removes it. eode doesn't check for a duplicate key. New rows can only be saved to a what-if, not to the base model.

Clear the guidance

The Guidance rail beside the grid checks the rows you edited or added, and nothing else. Its header counts N to resolve (blocking) or N to review (advisory). Each card counts its rows and says blocks apply or ok to apply; click a card to highlight its cells. Flagged cells carry a dot, needs a look: see Guidance. The rail is hidden while nothing is flagged.

CheckKindSays
Value can't be negativeBlocking"Prices, costs, capacities and limits must be ≥ 0 in the model." Fix: Set negatives to 0.
column is requiredBlockingA new row, or every row, needs that column filled.
column must be a numberBlockingThe column takes numbers only.
column must be at least / at most NBlockingThe view sets a range for the column.
Large change from the current planAdvisoryAn edit moves a value more than 50% from what the model holds today.
Zero value will distort the planAdvisoryA zero price, cost, capacity, hours or units value. Confirm it's intended.

A card with a fix has a fix button and Ask RIA; both apply the same fix. Any blocking card disables Save.

Choose where your edits land

  • Apply to (only on a table with more than one period): All periods (base) sets the value for every period; a single period sets that period only. "Edits set the value for period only (per-period override); other periods keep the base value."
  • Apply changes to: This scenario (a what-if), the default, or The base model (permanent); see Change the base model.

Save and run

The footer counts N edits · N new rows (an edit is a row you changed). With nothing edited it reads "Edit a cell to build a change-set, then Save to store it — Run solves."

ButtonWhen
Save N changesThe first save. It creates a what-if named Data edit · view (plus the period, if you picked one) and makes it the workspace's active scenario. It doesn't solve.
Re-save N changesLater saves. They merge into the same what-if.
N to resolveBlocking guidance is open. Disabled.
Preview N changes on the base modelApply changes to is set to the base model.
DiscardDrops every edit on this tab, without asking.

The status line reads Saving…, then Saved — press Run to solve. Run scenario under the grid solves the saved what-if (Solving…, then Solved: … or Solve failed — see the scenario.); it's disabled until something is saved, and while another solve runs. The what-if is then on Scenarios.

Save refusalWhat to do
"These rows can't be told apart by their key columns — narrow the filter, then edit."Filter down to the rows you mean.
"No changes to save (a new row needs its key filled in)."Fill the new row's key.
"Couldn't save — try again."Retry.
"this scenario is solving — wait for it to finish, then save"Wait for the solve.

Change the base model

Owner or contributor, model unlocked
  1. Set Apply changes to to The base model (permanent).
  2. Click Preview N changes on the base model: eode solves your edits on a scratch copy; nothing is saved.
  3. Read the Apply to the base model? card: N row values change., the solved total before → after, and "This edit makes the model infeasible." if it does.
  4. Click Apply to the base model, or Cancel.

Applying reads "Base model updated (version N) — scenarios are marked stale against the new data." It writes a revertible version; scenarios stay stale until solved again.

"This changes the model's own data for everyone and marks every scenario stale. A revertible version is kept." New rows and per-period edits can't go to the base model; switch Apply changes to back to This scenario for those.

RefusalMeaning
"Someone else is holding this model — the base model can't be changed until they finish."Another person has the model locked.
"You don't have permission to change this model's own data."You don't have edit access.
"Session not ready — try again in a moment."Wait a moment and try again.
"Couldn't preview this change against the base model." / "Couldn't apply this change to the base model."Try again.

When the model's goal can't be read as one total, the card says "The solved total can't be stated for this model's objective — the change below is still real."

Resolve an edit conflict

If someone changed values you were editing, nothing is saved and eode lists the clashes: N values changed since you opened this. "Nothing has been saved yet." Each clash shows the key and column, the old value, who changed it and to what, and the value you set. Pick Keep mine, Take theirs, or Edit to type a third value; Keep all mine and Take all theirs decide every row. Undecided cells keep your value. Click Save resolved, or Cancel. Edits that didn't clash are saved as they are.

If the view itself changed (its columns or row filter), there's nothing to resolve cell by cell: This view changed while you were editing, "Nothing has been saved. Reopen the view to see its current shape, then re-enter the values you still want." Click Close.

Fill in a scenario's inputs

Where: Scenarios→a scenario→Fill in inputs

Some what-ifs need values from you before they can solve: the editor says "This scenario needs data from you before it can solve." ("(partially supplied)" when some are in) with Fill in inputs. The Inputs for "scenario" panel holds the same grid, with Apply changes to hidden: values land on this scenario only. It lists the views the scenario needs and a state chip (awaiting, partial, complete). Save, then Run scenario, which solves and closes the panel. Run stays disabled until every input is supplied ("Supply the required inputs first"); then the footer reads "All required inputs supplied — run when ready." There's no confirmation after Save, and clicking outside the panel drops unsaved edits without asking.

The panel saysMeaning
Couldn't load the required tablesReopen the panel, or check the view still exists.
The required view(s) no longer exist on this modelThe scenario needs a view that was removed. Recreate it.
None of your workbook's sheets can be changed hereOn a model built from a workbook, each sheet row feeds more than one place in the model, so a cell can't be changed here.
"Couldn't save the inputs — try again."Retry.

On a model built straight from a workbook, a what-if also offers Edit your sheets; see Start from a workbook.

Limits

  • Filter rows searches at most 5,000 rows. Use the exact-key box for the rest.
  • Rows load 50 at a time. CSV exports loaded rows only.
  • Columns resize between 56 and 900 pixels.
  • Currency columns always show US dollars.
  • Large change from the current plan fires above a 50% move.

On this page