Overview of the Import Assets Tool
The PCX Import Tool allows you to create Instrument, Test Standard, Equipment, and Loop records from a predefined Microsoft Excel® file (the Source File). The tool also allows you to import historical calibration results. In PCX Team Edition, all imports are performed against the single Organizational Unit. When using PCX Pro, be mindful of your current Organizational Unit selected in the top right of your PCX session. Organizational Units are also referred to as “OUs” in this document.
Each run of the import inserts asset or result records into the currently connected OU in PCX. This can be run multiple times for the specific OU. After the import is completed, you will receive an email with a copy of the import sheet containing any error messages if applicable.
Downloading the Asset Import Template
Once logged into PCX, when on the ‘Dashboard’ or ‘Assets’ page there is a ‘+ New’ button on the top left navigation bar.
After selecting, you can click the ‘Import Assets’ button from the file menu. A modal window will pop up where you can download the ‘Asset Import Template’. This will download the latest copy of the PCXImportTemplate spreadsheet.
Source File Definition
Worksheets and Columns
The Excel® Source File structure is defined in the table below. Several Excel Worksheets exist in the Excel file for Assets, Calibration Results, and Vendors. A Template of the Excel® file is available for download on the ‘Import Assets’ page. The columns specified in the table below MUST be defined in the source file.
Assets Worksheet
| Column Name | Description | Note |
| Asset Type | Defines the type of asset being created (e.g. Instrument, Test Standard, Loop, or Equipment). | Required Field |
| Asset ID | Unique identifier used to distinguish the asset within ProCalX. | Required Field, must be unique within the OU |
| Name | User-friendly name or description of the asset. | Required Field |
| Next Calibration Date | The next scheduled calibration date for the asset. | Format: MM/DD/YYY |
| Frequency | The calibration frequency for the asset. |
Text Field. The Frequency must already exist in the system. Note: If importing a custom frequency you must add it to the ‘Lookups’ tab under the ‘Default Frequencies’ list Column H. |
| Manufacturer | The company that produced the asset. | Text Field |
| Model | The model number or designation of the asset. | Text Field |
| Serial | The manufacturer-issued serial number for the asset. | Text Field |
| Physical Location | The primary physical location where the asset resides. | Text Field |
| Sub-Location | A more granular location within the Physical location (e.g. room, area, or line). | Text Field. If a Sub-Location is specified, a Physical Location must also be specified. |
| Functional Location | Logical or operational grouping of the asset (e.g. system, process, or function). | Text Field |
| Department | The department responsible for or associated with the asset. | Text Field |
| Classification | Categorize the asset using predefined or custom tags. |
Applies one or many ‘classifications’ on the record separated by semicolons. Ex: Active; Gas Analyzer; ISO Critical |
| Asset Status | Current lifecycle status of the asset. | Text Field. The asset status must already exist in the system. |
| Primary Procedure Code | Identifies the primary calibration or maintenance procedure assigned to the asset. | Text Field. The Procedure must either exist or be imported in the same workbook. |
| Test Specification Temporary IDs | Links the asset to one or more Test Specification groups for calibration. |
Required Field. Applies one or many Test Point Accuracy groups to the Asset separated by semicolons. The ordering of these is the order they will be added into PCX.
Ex: AssetGroup1;AssetGroup2;AssetGroup3 |
| Remarks | Additional notes or comments related to the asset. | Text Field |
Test Specifications Worksheet
| Column Name | Description | Note |
| Temporary Mapping ID | Unique identifier used to associate this Test Specification with assets in the Assets worksheet. | Required Field, e.g. “AssetGroup1” per example above. |
| Title | Name of the Test Specification group. | Required Field |
| Test Specification Type | Defines the type of test being performed (e.g., accuracy, switch test). | Required Field |
| Tolerance Type | Specifies how tolerance is calculated. | Required Field for Test Point Accuracy groups. |
| Tolerance Value | Defines the acceptance deviation for the test. | Required Field for Test Point Accuracy groups. |
| Range Low | Minimum value of the measurement range. | Numeric Field |
| Range High | Maximum value of the measurement range. | Numeric Field |
| Range Dec Places | Number of decimal places used for range values. | Numeric Field |
| Unit | Engineering unit of the input range. | Text Field |
| Output Low | Minimum output value for the device. | Numeric Field |
| Output High | Maximum output value for the device. | Numeric Field |
| Output Dec Places | Number of decimal places used for output values. | Numeric Field |
| Output Unit | Engineering unit of the output signal. | Text Field |
| Correlation | Defines the relationship between input and output. | Linear or Square Root, Required for Test Point Accuracy. |
| Strategy | Defines predefined test strategy or sequence. | Required for Test Point Accuracy, or if left blank, custom input points must be specified in the Test Specification Nominals sheet. |
| Calibrator Template | Associates a predefined calibrator configuration. | Must be either blank or an existing Calibrator Template |
| Set Point 1 | First switching threshold value. | Required Field for Switch Test groups. |
| Set Point 1 Direction | Direction of change for triggering Set Point 1. | Required Field for Switch Test groups. |
| Set Point 1 Trip State | Expected state when Set Point 1 triggers. | Required Field for Switch Test groups. |
| Deadband Min | Minimum allowable difference between set and reset points. | Required Field for Switch Test groups. |
| Deadband Max | Maximum allowable difference between set and reset points. | Required Field for Switch Test groups. |
| Set Point 2 | Second switching threshold value. | Required Field for Switch Test groups. |
| Set Point 2 Direction | Direction of change for triggering Set Point 2. | Required Field for Switch Test groups. |
| Set Point 2 Trip State | Expected state when Set Point 2 triggers. | Required Field for Switch Test groups. |
| Trip Detection Mode | Defines how trip events are detected. | Required Field for Switch Test groups. |
| Tasks Fail if Skipped | Enables the Task Steps setting for 'Tasks Fail if Skipped'. | Options: Yes/No |
| Tasks Fail if Failed | Enables the Task Steps setting for 'Tasks Fail if Failed'. | Options: Yes/No |
Test Specification Nominals Worksheet
| Column Name | Description | Note |
| Temporary Mapping ID | Links the nominal values to a Test Specification. | Required Field. |
| Position |
Sequence order of the test point within the specification.
|
Required Field. Starts with 1. |
| Nominal Input | Target input value for the test point. | Required Numeric Field. |
Test Specification Task Steps Worksheet
| Column Name | Description | Note |
| Temporary Mapping ID | Links the nominal values to a Test Specification. | Required Field. |
| Type |
Specifies the task step category.
|
Required Field. Options:
|
| Step Number | Identifies the sequence position of a task step within the workflow. | Required Numeric Field. |
| Step Text | Defines the specific activity to be performed as part of the workflow. | Required Field. |
| Required Step | Specifies whether completion of the step is mandatory. | Options: Yes/No |
| Capture Reading | Specifies whether a reading is captured during the step. | Options: Yes/No |
| Unit | Specifies the unit of the reading captured if applicable. | Text Field |
Loop Components Worksheet
| Column Name | Description | Note |
| Loop ID | Identifies the loop record. | Required Field. |
| Component Instrument ID | Identifies instrument(s) included in the loop. | Required Field. Assigns one or many Instruments as a component of the Loop record. |
| Order |
Defines the sequence of components within the loop.
|
Required Field. Start with 1. |
Asset Contacts Worksheet
| Column Name | Description | Note |
| Asset ID | Identifies the asset associated with the contact. | Required Field, must be unique within the OU |
| Contact Email | Email address of the associated contact. | Must be a valid email format. |
| Contact Type |
Defines the role of the contact.
|
Text Field. Options:
|
Asset Resources Worksheet
| Column Name | Description | Note |
| Asset ID | Identifies the asset to associate the resource with. | Required Field, must be unique within the OU |
| Resource Type |
Defines the type of reference being attached.
|
Required Field. Options:
|
| Reference Type |
Categorizes how the resource is used.
|
Required Field. Options:
|
| Resource Value | The actual link or path to the resource. | Text Field |
Calibration Results Worksheet
| Column Name | Description | Note |
| Import Row ID | Unique identifier for the calibration result. | Required Field NOTE: This identifies this Result for other related sheets. |
| Asset ID | Identifies the asset being calibrated. | Required Field |
| Result Date | Date of calibration event. | Required Field, MM/DD/YYY |
| Result Time (Optional) | Time of calibration event. | HH:MM |
| Temperature | Ambient temperature during calibration. | Numeric Field |
| Temperature Unit | Unit of temperature measurement. | Text Field |
| Humidity | Ambient humidity during calibration. | Numeric Field |
| Humidity Unit | Unit of humidity measurement. | Text Field |
| As Found Result | Calibration result before adjustments. | Required Field |
| Automatic As Found | Indicates if the result was system-generated. | Required Field |
| As Left Result | Calibration result after adjustments. | Required Field |
| Automatic As Left | Indicates if the result was system-generated. | Required Field |
| Actions | Actions performed during calibration. |
Applies one or many ‘actions’ on the record separated by semicolons. Ex: Toxic;Replaced Casket;Changed Filter |
| Remarks | Additional notes regarding calibration. | Text Field |
| Primary Tech Email | Technician responsible for calibration. | Must be a valid email address who is added as a user in PCX (can be enabled or disabled). |
| Primary Tech Labor Hours | Time spent performing calibration. | Numeric Field |
Test Activities Worksheet
| Column Name | Description | Note |
| Result Row ID | Links the test activity to a specific calibration result record. | Required Field |
| Activity Sequence | Defines the order of execution for test activities within a result. | Required Field |
| Stage | Indicates whether the data represents “As Found” or “As Left” results. | Required Field, As Found or As Left data |
| Test Spec Title | Identifies the test specification associated with this activity. | Required Field |
| Test Specification Type | Specifies the type of test being performed (e.g., accuracy, switch). | Required Field |
| Tolerance Type | Defines how tolerance is calculated for the activity. | Required Field |
| Tolerance Value | Specifies the allowable deviation for the test. | Numeric Field |
| Range Low | Minimum input value for the test range. | Numeric Field |
| Range High | Maximum input value for the test range. | Numeric Field |
| Range Dec Places | Defines decimal precision for input values. | Numeric Field |
| Unit | Engineering unit for input measurement. | Text Field |
| Result | Captures the outcome of the test activity. | Required Field |
| Output Low | Minimum expected output value. | Numeric Field |
| Output High | Maximum expected output value. | The desired resolution for the output range. |
| Output Dec Places | Defines decimal precision for output values. | Text Field |
| Output Unit | Engineering unit for output measurement. | Linear or Square Root, Required for Test Point Accuracy. |
| Strategy |
Defines the predefined test strategy used.
|
Required for Test Point Accuracy, or if left blank, custom input points must be specified in the Test Specification Nominals sheet. |
| Calibrator Template | Associates a predefined calibrator configuration. | Must be either blank or an existing Calibrator Template |
| Correlation | Defines the input/output relationship (e.g., linear). | Required Field for Switch Test groups. |
| Set Point 1 | First switching threshold value. | Required Field for Switch Test groups. |
| Set Point 1 Direction | Direction of change for triggering Set Point 1. | Required Field for Switch Test groups. |
| Set Point 1 Trip State | Expected state when Set Point 1 triggers. | Required Field for Switch Test groups. |
| Deadband Min | Minimum allowable difference between set and reset points. | Required Field for Switch Test groups. |
| Deadband Max | Maximum allowable difference between set and reset points. | Required Field for Switch Test groups. |
| Set Point 2 | Second switching threshold value. | Required Field for Switch Test groups. |
| Set Point 2 Direction | Direction of change for triggering Set Point 2. | Required Field for Switch Test groups. |
| Set Point 2 Trip State | Expected state when Set Point 2 triggers. | Required Field for Switch Test groups. |
| Trip Detection Mode | Defines how trip events are detected. | Numeric Field |
Test Point Accuracy Points Worksheet
| Column Name | Description | Note |
| Result Row ID | Links the data point to a specific calibration result. | Required Field |
| Activity Sequence | Identifies the associated test activity. | Required Field |
| Stage | Indicates whether point is “As Found” or “As Left”. | Required Field |
| Point Sequence | Defines the order of the measurement point. | Required Field |
| Nominal | Target value for the measurement. | Required Field |
| Actual | Actual measured value recorded during calibration. | Required Field |
| Reading | Instrument reading corresponding to the measurement. | Required Field |
| Point Remark | Additional notes about the measurement point. | Text Field |
Switch Points Worksheet
| Column Name | Description | Note |
| Result Row ID | Links the switch point to a calibration result. | Required Field |
| Activity Sequence | Identifies the test activity associated with the switch point. | Required Field |
| Stage | Indicates “As Found” or “As Left” switch data. | Required Field, As Found or As Left data |
| Point Sequence | Defines the position of the switch point. | Required Field |
| Set Point | Target switching threshold value. | Numeric Field |
| Set Reading | Actual value at which the switch occurred. | Numeric Field |
| Include Reset | Indicates whether reset data is captured. | Required Field |
| Reset Reading | Value at which the switch resets. | Numeric Field |
| Point Remark | Additional notes about the switch event. | Text Field |
Test Standards Used Worksheet
| Column Name | Description | Note |
| Import Row ID | Links the standard to a calibration result. | Required Field. This field points to the ‘Import Row ID provided on the ‘Calibration Results’ worksheet. |
| Test Standard Asset ID | Identifies the test standard used during calibration. | Required Field |
Procedures Worksheet
| Column Name | Description | Note |
| Title | Name of the procedure. | Required Field |
| Issue Date | Date the procedure was issued. | MM/DD/YYYY |
| Effective Date | Date the procedure becomes active. | MM/DD/YYYY |
| Expiration Date | Date the procedure expires. | MM/DD/YYYY |
| Resource Type | Indicates the type of procedure reference. |
Text Field Options:
|
| Resource Value |
Location or link to the procedure content.
|
Text Field Options:
|
| Remarks | Additional notes about the procedure. | Text Field |
| Retention Note | Specifies document retention or compliance requirements. | Text Field |
Vendors Worksheet
| Column Name | Description | Note |
| Name | Name of the vendor organization. | Required Field |
| Contact Name | Primary contact person at the vendor. | Text Field |
| Address | Street address of the vendor. | Text Field |
| City | City of the vendor location. | Text Field |
| State | State or region of the vendor. | Text Field |
| Postal Code | ZIP or postal code. | Numeric Field |
| Country | Country of the vendor. | Text Field |
| Office Phone | Primary office phone number. | Text Field |
| Mobile Phone | Mobile contact number. | Text Field |
| Fax Phone | Fax number (if applicable). | Text Field |
| Vendor contact email address. | Requires a valid email address. | |
| Certification Type | Type of certification held by vendor. | Text Field |
| Certification Number | Certification identifier number. | Text Field |
| Certification Expiration Date | Expiration date of certification. | Text Field |
| Remarks | Additional notes about the vendor. | Text Field |
Asset Import Template Field Relationships
Assets
Calibration Results
Running the Asset Import Template
After the import template has been filled out you will open the ‘Import Assets’ screen and select ‘Choose File’. This will open a File Explorer where you can select your PCXImportTemplate sheet.
After hitting ‘Next’ you will have a screen that confirms the target import file and current OU and you can select ‘Import’ to begin the import process.
Reviewing Errors
Once the Import is completed, an email will be sent called ‘PCX Mass Import Finished’ with a link to the sheet containing an ‘Errors’ column on the ‘Assets’ and ‘Calibration Results’ tabs if any errors occurred during the import process.
Common Errors
| Error | Note |
| Asset already exists. Unable to create.! | The Asset ID already exists in the system. Update the ID to ensure it is unique. |
| Asset name is required.! | The Name field is required. |
| TestPointGroup1 doesn’t exist in the Test Specifications sheet. - Index was outside the bounds of the array. | The Temporary Specification Temporary ID was not found in the Test Specifications Sheet. An item needs to exist to create the test point group. |
| Procedure Already Exists | The Procedure code already exists in the system. Update the Procedure code to ensure it is unique. |
| Entity Asset Not Found | The Asset record for the calibration result was not found. |
| Nullable object must have a value | There is a required field on the sheet that must have a value. |
| Input string was not in a correct format | The Temperature or Humidity value may be non-numerical. |
| Entity “FREQUENCY” was not found.! | The frequency that is mapped does not exist in the current OU. |
| One or more validation failures have occurred.! | Requires separate investigation. |
| A unit with this full name already exists.! | A unit value already exists and cannot be added during the import. We recommend adding units at the top-level OU (if applicable) to ensure they can be shared across child OUs. |
| Requested value ‘NULL’ was not found. | A value in the Test Activities page was set as ‘NULL’. |
| String ‘XX’ was not recognized as a valid DateTime. | The Result Time (Optional) field requires a time stamp. |
| Entity “TestStrategy” (XXX) was not found.! | The Test Strategy must exist in the dropdown list. |
| Object reference not set to an instance of an object.! | There was a null pointer during the import. Requires separate investigation. |
| Invalid Primary Tech Labor Hours Value: | The Primary Tech Labor Hours should be defaulted to 0 if no value was provided. |
| Technician user doesn’t exist for user with email test@gmail.com! | The user does not exist in the system. |
| Input string was not in a correct format. | The Temperature or Humidity value may be non-numerical. |
| Task Step Name cannot exceed 255 characters.! | The Task Step Text is limited to 255 characters. |
| Sheet: Test Activities : Result As Found Switch Points count (1) doesn't match the number of Set Points (2) | The Test Activities sheet is missing rows for the second set point of the switch test. |
Examples
Download a Sample Asset Import Spreadsheet
Assets
Creating an Asset with One Test Specification Group
Assets Tab
On the Assets tab, you will populate the 'Test Specification Temporary Ids' field with one unique identifier. If it is only one group that is being imported you can use the current Asset ID or any other unique value.
Test Specifications Tab
Whatever value is selected for the Asset tab 'Test Specification Temporary Ids' field will be used as the 'Temporary Mapping ID' on the Test Specifications Tab. This is a direct map to tell the import process how you would like your test set up.
Test Specification Nominals Tab
Now since the 'Strategy' column is blank, this means the test will be set up with custom test points. On the Test Specification Nominals tab you will use the same unique identifier used for the ''Test Specification Temporary Ids' and 'Temporary Mapping ID' fields.
Creating an Asset with Multiple Test Specification Groups
Assets Tab
On the Assets tab, you will populate the 'Test Specification Temporary Ids' field with two unique identifiers separated by semicolons. In the below example there are two separate groups that will be created.
Group 1: TS-PRES-01-group1
Group 2: TS-PRES-01-group2
Test Specifications Tab
Since there are two values specified on the Assets page, there will need to be two separate entries added to the Test Specifications tab. In the below example you can see there are two separate rows of data added for this asset. Row 1 shows the first group mapped as 'TS-PRES-01-group1' and row 2 shows the second group mapped as TS-PRES-01-group2.
Test Specification Nominals Tab
Again since the 'Strategy' column is blank, this means the test will be set up with custom test points. On the Test Specification Nominals tab you will use the same unique identifier used for the ''Test Specification Temporary Ids' and 'Temporary Mapping ID' fields.
Test Point Accuracy Tests
Creating an Test Specification with a Built-In Strategy
The strategy dropdown will automatically create a standard sequence of points based on the configured range.
Test Specifications Tab
To specify Custom Test Points, you will populate the 'Strategy' column on the Test Specifications tab.
Creating an Test Specification with Custom Test Points
Test Specifications Tab
To specify Custom Test Points, you must make sure the 'Strategy' column is blank on the Test Specifications tab.
Test Specification Nominals Tab
On the Test Specification Nominals tab you will lay out the specific custom test point nominals and their positions within the test.
Manual Pass Fail Tests
Test Specifications Tab
On the Test Specifications tab you will select 'Manual Pass Fail' as your Test Specification Type and populate the Range Low, Range High, Range Dec Places, and Unit fields.
Switch Tests
Test Specifications Tab
On the Test Specifications tab you will select 'Switch Test' as your Test Specification Type and populate the applicable switch fields.
Task Steps
Test Specifications Tab
On the Test Specifications tab for your group(s) you can specify if the group will fail if a step is skipped or failed. If you scroll to the right hand side, you will see the options that you can configure either 'Yes' or 'No'.
Test Specifications Task Steps Tab
After specifying the group setting, you can delineate the steps for the test. After providing the 'Temporary Mapping ID' for the group you can set up multiple steps for either the Before, During, or After phase of the test.
Loop Components
After specifying your Loop record on the Assets tab, next you will need assign its instrument components.
Loop Components Tab
You will copy the specific loop ID, in this case 'Loop-2001' and add it to the Loop Components tab. In the below example, you can see that 'Loop-2001' has four assigned instrument components in the specified order.
Once the import completes the loop components will maintain the order based on the 'Order' column in the sheet.
Asset Contacts
You can assign asset contacts during the import process by populating the Asset Contacts tab.
Asset Contacts Tab
Each individual line will add one new contact to the asset record. The contact email must be a valid enabled user in the system to allow the assignment. The contact type field is also required to specify what type of contact you are assigning.
Asset Resources
You can assign asset contacts during the import process by populating the Asset Resources tab.
Asset Resources Tab
Each individual line will add a new resource to the asset record. Both the resource type and reference type fields are required to create a complete resource record in ProCalX.
Calibration Results
Calibration Results Tab
The columns highlighted in orange are the required fields to create a full calibration result in the system. The Import Row ID is simply a unique identifier for each calibration event. This field is not used/visible within the system and is only needed in order to process the data.
Test Activities Tab
Similar to the Asset's Test Specifications tab, the Test Activities tab will lay out the results record setup for the test. The Result Row ID will be identical to the Import Row ID, however there will be two lines representing the As Found and As Left stages of the test. The Activity Sequence identifies the specific group (if multiple are assigned) for the asset. The below example only displays result records with one group (Activity Sequence 1), however say there was an asset with two groups there would be rows for Activity Sequence 2 and so on.
Test Point Accuracy Points Tab
Similar to the Asset's Test Specification Nominals tab, the Test Point Accuracy Points tab will represent the actual point readings from the calibration event. Each single point will have an As Found and As Left for the readings. This sheet will capture the nominals, actuals, and readings during the calibration. Just as above, the Activity Sequence identifies the specific group the points apply to.
Switch Points Tab
If a switch test is involved in the result, you will use the Switch Points tab. The Point Sequence column specifies if it is regarding Point 1 or Point 2.
Test Standard Used Tab
If you used any test standards to perform the calibration you can assign them on the Test Standard Used tab. The Import Row ID will match the Import Row ID used on the Calibration Results tab.
List Values
The import tool allows you to import a bulk list of Procedures and Vendors.
Procedures Tab
Vendors Tab