Importing Data
Data can be created or updated by importing a CSV file. This is often much faster and more efficient than editing each data record individually through the user interface. Uploaded files will be processed in the background, allowing multiple imports to run at a time.
Once the Status of an import has transitioned to Not Started, it is safe to close leave the page.
Data imports can be performed from the Import Data page under the Data Entry menu.
CSV Structure
When creating or updating entities and data via CSV, keep these guidelines in mind:
- Each record is represented by a single row in the CSV.
- Column order does not matter.
- A single CSV import can only be used for create or update, but not both. Use separate files for create and update.
- Refer to each entity's Reference page for a complete list of valid columns, required fields, and acceptable values.
- For example, the User import reference.
- The same rules apply to CSV imports as when using the user interface.
- For example, the Role column is required when creating Users.
- To handle fields with multiple values, use repeated columns prefixed with Add or Remove.
- For example, multiple Groups can be selected on a single User. In CSV imports, the Add Group column can be repeated multiple times to add multiple Groups to a User.
- Only repeat the column up to the number needed for the row with the most values. For example, the following table would add the Groups Admins and Plant Managers to User 1, Plant Managers to User 2, and would not modify User 3.
| ID | Add Group | Add Group |
|---|---|---|
| 1 | Admins | Plant Managers |
| 2 | Plant Managers | |
| 3 |
Creating Data
To import new data records:
- Select the data type to import.

- Click the Create Template button to download a blank template.

- Open the CSV file in an editor, such as Excel.
- Fill out a new row for each data record using the column reference.
- Delete any empty columns.
- Save and upload the file. GS will check the file for errors and report any problems. If there are problems, fix them and repeat this step.

- If all rows imported successfully, the Status section for that import will display Complete with the number of rows that were imported.

- If any rows failed to import, the Status of the import will be set to Error. Follow these instructions for fixing rows with failures.
Updating Data
To update existing records:
- Follow the instructions to export existing data to a CSV.
- Open the CSV file in an editor, such as Excel.
- Edit the file and:
- Ensure each row includes the data record's ID.
- Delete any columns that should not be modified by the import. Any remaining columns will be updated in GS!
- Modify the remaining cells.
- Navigate to the Import Data page and select the data type to import.

- Save and upload the file. GS will check the file for errors and report any problems. If there are problems, fix them and repeat this step.

- If all rows imported successfully, the Status section for that import will display Complete with the number of rows that were imported.

- If any rows failed to import, the Status of the import will be set to Error. Follow these instructions for fixing rows with failures.
Fixing Rows with Failures
If some rows fail during an import, the status of the Import will be set to Error. If the uploaded CSV was in an invalid format, a View button will appear:
If specific rows failed, a Download button will appear. Clicking this button will download a CSV containing any rows which failed.
To fix the rows with errors:
- Click Download to download a CSV containing only the failed rows and an additional Error column with the error message for that row.

- Open the CSV file in an editor, such as Excel.
- Correct the issue in each row.
- Delete the Error column.
- Save and re-upload the file, following the steps outlined above.
Column Reference
The following columns apply to all data types.
| Column Header | Create | Update | Allows Multiple | Description |
|---|---|---|---|---|
| ID | Not Allowed | Required | No | Data Record's Internal ID |
| Date Time | Optional | Optional | No | String representation of a date parseable by the JavaScript Date(dateString) constructor |
| Process | Required | Optional | No | Process's name |
| Location | Optional | Optional | No | Location's name |
| Note | Optional | Optional | No | Note content |
| Test Label | Optional | Optional | No | Test's label from an Inspection |
| Developer Mode | Optional | Optional | No | True | FalseWhether this data record is a temporary, development data point |
| Bypass | Optional | Optional | No | True | FalseWhether this data record is ignored by charts, tables, and statistics |
| Traceability - {Name} | Optional | Optional | Yes, one per Traceability | Traceability value |
SPC Columns
The following columns apply only to SPC data.
| Column Header | Create | Update | Allows Multiple | Description |
|---|---|---|---|---|
| Characteristic | Required | Optional | No | Characteristic's name |
| Part | Required | Required if Characteristic is present. Otherwise Not Allowed | No | Part's name |
| Anchor Point | Optional | Optional | No | True | FalseWhether this data record is an anchor point for Control Charts |
| Add RTF | Optional | Not Allowed | Yes | Real-time failures to set on the data record. Acceptable values: xBarAboveUCL | xBarBelowLCL | nXBarInARowAboveMean | nXBarInARowBelowMean | nXBarInARowIncreasing | nXBarInARowDecreasing | nOfNPlus1Above2SD | nOfNPlus1Below2SD | nOfNPlus1Above1SD | nOfNPlus1Below1SD | nXBarInARowOutside1SD | nXBarInARowAlternating | nXBarInARowInside1SD | xBarAboveFixedControlLimit | xBarBelowFixedControlLimit | rangeAboveUCL | rangeBelowLCL | nRangeInARowAboveRBar | nRangeInARowBelowRBar | nRangeInARowIncreasing | nRangeInARowDecreasing | rangeAboveFixedControlLimit | rangeBelowFixedControlLimit |
| Value 1 | Required | Optional | Yes. Each column must have an incremented subgroup index, e.g. Value 1, Value 2, Value 3, etc. | Value for the specified subgroup index |
| Value 1 Add RTF | Optional | Not Allowed | Yes. Each column must have an incremented subgroup index, e.g. Value 1 Add RTF, Value 2 Add RTF, Value 3 Add RTF, etc. | Real-time failures to set on the specified subgroup index. Acceptable values: xAboveIndividualLimit | xBelowIndividualLimit | xAboveSpec | xBelowSpec |
DMS Columns
The following columns apply only to DMS data.
| Column Header | Create | Update | Allows Multiple | Description |
|---|---|---|---|---|
| Part | Optional | Optional | No | Part's name |
| Sample Size | Optional | Optional | No | Integer. If not provided, defaults to the Process's sample size |
| NCU | Optional | Optional | No | Integer count of Non-Conforming Units |
| Rating Label | Optional | Optional | No | Button's label from a Rating Test |
| Add RTF | Optional | Not Allowed | Yes | Real-time failures to set on the data record. Acceptable values: aboveAcceptableDefectPercent | belowYield |
| Defect 1 | Required | Optional | Yes. Each column must have an incremented index, e.g. Defect 1, Defect 2, Defect 3, etc. | Defect's name |
| Defect Count 1 | Required | Required if the corresponding Defect {index} is present. Otherwise Not Allowed | Yes. Each column must have an incremented index, e.g. Defect Count 1, Defect Count 2, Defect Count 3, etc. | Count of the corresponding Defect {index} |
OEE Columns
The following columns apply only to OEE data.
| Column Header | Create | Update | Allows Multiple | Description |
|---|---|---|---|---|
| Part | Optional | Optional | No | Part's name |
| Track Availability | Required | Optional | No | The input method used to collect availability data. During create, acceptable values are: available | downtimeWithReasons | doNotTrackDuring update, acceptable values are: True | False |
| Track Performance | Required | Optional | No | True | False |
| Track Quality | Required | Optional | No | The input method used to collect quality data. During create, acceptable values are: goodParts | badPartsWithDefects | doNotTrackDuring update, acceptable values are: True | False |
| Scheduled Time | Required if Track Availability is not doNotTrack. Otherwise Not Allowed |
Optional. Only allowed if the record is tracking availability data | No | Integer The minutes of scheduled time for the data collection period |
| Available Time | Required if Track Availability is available or Track Performance is True. Otherwise Not Allowed |
Optional. Only allowed if the record is tracking availability data using available or tracking performance data |
No | Integer The minutes of uptime for the data collection period |
| Availability Process | Optional. Only allowed if Track Availability is downtimeWithReasons |
Not Allowed. Instead, update the linked DMS record. | No | Process's name to use on the linked Availability DMS record. If not provided, defaults to the OEE record's Process |
| Availability Defect 1 | Optional. Only allowed if Track Availability is downtimeWithReasons |
Not Allowed. Instead, update the linked DMS record. | Yes. Each column must have an incremented index, e.g. Availability Defect 1, Availability Defect 2, Availability Defect 3, etc. | Defect's name |
| Availability Defect Count 1 | Required if the corresponding Availability Defect {index} is present. Otherwise Not Allowed | Not Allowed. Instead, update the linked DMS record. | Yes. Each column must have an incremented index, e.g. Availability Defect Count 1, Availability Defect Count 2, Availability Defect Count 3, etc. | Count of the corresponding Availability Defect {index} |
| Total Parts | Required if Track Quality is not doNotTrack or Track Performance is True. Otherwise Not Allowed |
Optional. Only allowed if the record is tracking quality data or tracking performance data | No | Integer The total number of units produced during the data collection period |
| Good Parts | Required if Track Quality is goodParts. Otherwise Not Allowed |
Optional. Only allowed if the record is tracking quality data using goodParts |
No | Integer The number of non-defective units produced during the data collection period |
| Quality Process | Optional. Only allowed if Track Quality is badPartsWithDefects |
Not Allowed. Instead, update the linked DMS record. | No | Process's name to use on the linked Quality DMS record. If not provided, defaults to the OEE record's Process |
| Quality Defect 1 | Optional. Only allowed if Track Quality is badPartsWithDefects |
Not Allowed. Instead, update the linked DMS record. | Yes. Each column must have an incremented index, e.g. Quality Defect 1, Quality Defect 2, Quality Defect 3, etc. | Defect's name |
| Quality Defect Count 1 | Required if the corresponding Quality Defect {index} is present. Otherwise Not Allowed | Not Allowed. Instead, update the linked DMS record. | Yes. Each column must have an incremented index, e.g. Quality Defect Count 1, Quality Defect Count 2, Quality Defect Count 3, etc. | Count of the corresponding Quality Defect {index} |
| Ideal Cycle Time | Required if Track Performance is not True. Otherwise Not Allowed |
Optional. Only allowed if the record is tracking performance data | No | Decimal The number of minutes required to produce one unit under ideal conditions |
| Add RTF | Optional | Not Allowed | Yes | Real-time failures to set on the data record. Acceptable values: belowAcceptableAvailability | belowAcceptablePerformance | belowAcceptableQuality | belowAcceptableOEE |
Task Columns
The following columns apply only to Task data.
| Column Header | Create | Update | Description |
|---|---|---|---|
| Part | Optional | Optional | Part's name |
| Description | Required | Optional | Task Test's Text to Store |

