How Import Rows Are Matched, Planned and Skipped
Reference for how a CSV import matches rows to existing records, resolves names to options, treats blank cells, and decides when a row is skipped.
Before an import writes anything, every row in the file is planned. This page is the reference for how that plan is made: how a row finds the record it updates, how names in a cell become options and people in BackOps, and every reason a row ends up skipped.
Planned Outcomes
Each row gets one outcome on the Preview import step.
| Outcome | Meaning |
|---|---|
| Create | No existing record matches, so the row creates a new one. |
| Update | The row matches one existing record and changes at least one of its values. |
| No change | The row matches one existing record that already holds every value in the row. Nothing is written. |
| Skip | The row is not imported. The preview gives the reason. |
After Start import, the result reports each row as created, updated, unchanged, skipped or failed. A row can fail while it is written even though it was planned, and the import still completes for the other rows.
Matching Existing Records
An import only updates when you choose a column to match existing records on. Without one, every row creates a new record. Only events can be matched; proposal line item imports always create.
The match column must be a text, link or number field, such as the event name or an attribute holding your own job number. Select, checkbox and date columns cannot be used, because they do not identify one record. Values are compared ignoring capital letters and spaces at either end, so Summer Gala matches summer gala.
| Situation | Result |
|---|---|
| The value matches one existing record | Update, or No change if nothing differs |
| The value matches nothing | Create |
| The value matches more than one existing record | Skip, because the import cannot tell which one you mean |
| The same value appears on more than one row of the file | Every one of those rows is skipped, so the import never picks a winner between rows that disagree |
How Updates Treat Your File
An update writes only what the file says. A blank cell is read as no opinion and leaves the current value alone; it never clears a field. A column you did not map is not touched. This means a file carrying only the columns you changed is a safe way to correct many records at once.
A cell that cannot be read, such as text in a number column or a date in an unrecognized format, is dropped on its own. The rest of the row still imports, and the preview names the cell that was dropped.
Matching Names to Options and People
Some columns hold the name of something BackOps already has: a select option, a location, an event type, a role's occupant, a collaborator or a crew member. These names are matched to the existing option ignoring capitals, spaces and punctuation, so Load_In Day finds the option Load In Day.
Columns that take several values split a cell into parts. Multi select cells are separated by commas. Cells naming several collaborators or crew members are separated by semicolons, because people's names often contain commas. A cell that exactly matches one option is kept whole even if it contains the separator.
A name that does not match is shown on the Review values step. You can pick the right option or exclude every row that carries it; typed text is not accepted for these columns. A name still unresolved when the plan is built leaves that cell out and the preview says why.
Reasons a Row Is Skipped
- A required field, such as the name of a new record, is empty.
- The match value is shared by more than one existing record, or by more than one row in the file.
- You excluded a value the row carries.
- For proposal line items, the row has a name but no numbers, which reads as a section heading.
Limits
A file can hold up to 2,000 rows, and only CSV files are read. File attributes cannot be imported, because a cell cannot carry an upload. Once an import has run it cannot be run again; import the file again to repeat it. Closing the wizard before Start import discards the plan without writing anything.