This section provides a high-level overview and explanation of how the data loader workbook is constructed.
In order to import data using the APM Family Data Loader, GE Digital provides an Excel workbook that must be used to perform the data load.
The following table lists the worksheets that are included in the APM Family.xlsx workbook.
Worksheet | Description |
---|---|
Configuration | The Configuration worksheet is needed to describe the type of data that you will be loading and how that data should be handled during the data load. |
<data> | Where you specify the actual data to be loaded. |
Each worksheet in the APM Data Loader workbook contains field values that can be mapped to the appropriate GE Digital APM family/field.
The Configuration worksheet tells the APM Family Data Loader what types of data are being loaded and how the data is to be loaded, and is standard for all data loads regardless of the type of data that you are loading. The following table outlines the options that are valid or the values that are expected in each of the columns on the Configuration worksheet.
Field Caption | Field ID | Data Type (Length) | Comments |
---|---|---|---|
Load Data From Worksheet | LOAD_DATA_WORKSHEET |
Boolean |
Identifies if data from the corresponding worksheet identified in the Data Worksheet ID column will be loaded or not.
|
Data Worksheet ID | DATA_WORKSHEET_ID | Character | This column contains the name of the <data> worksheet where the actual data is located. It needs to have the same name as the <data> worksheet in the data loader workbook. |
Batch Size | BATCH_SIZE | Character |
Modifying this field is required to determine the number of records processed in each batch. Enter the batch size you want, and the Data Loader will process that many records per batch. For example, if you want to use a batch size of 100, enter 100, and the data loader will process 100 records per batch. Note: The recommended batch size is 100. If the Batch Size column is removed from the source workbook, the data loader will default to a batch size of 100. In addition to processing the data in batches, the log file reports progress by batch. |
Primary Family ID | PRIMARY_FAMILY_ID | Character |
Depending on the type of data that you are working with, this will contain the Relationship Family ID or the Entity Family ID. You can also allow the data in source file to determine the Family ID by encapsulating the Field ID that contains the Family ID data in brackets (<>). For example if in the <data> worksheet there is a column with an ID of PRIMARY_FAMILY_ID, where each row contains the corresponding Family ID, then in this column you should put the value of <PRIMARY_FAMILY_ID>. If the Family ID in the Meridium, Inc. metadata contains spaces, then you have to use this feature. |
Primary Family Key Fields | PRIMARY_FAMILY_KEY_FIELDS | Character |
This column contains the Field IDs associated with the Primary Family that are used to uniquely identify a record. If more than one field is to be used, then each Field ID needs to be separated by a | (Pipe) character. In the case where you are loading data into a relationship, if no keys fields exist or are used, use the <none> constant. If the Primary Action is ACTION_INSERTONLY, then no key fields need to be specified, so you can use the <none> constant. |
Family Type | FAMILY_TYPE | The value is this column should be Entity or Relationship depending on the type of data that is being loaded. | |
Predecessor Family ID | PRED_FAMILY_ID | Character | When the Family Type is Relationship, this column will contain the value of the Entity Family ID that is the predecessor in the relationship. Otherwise, it should contain the <none> constant. You can also use the data in each of the rows to determine the Predecessor Family ID. |
Predecessor Family Key Fields | PRED_FAMILY_KEY_FIELDS | Character |
This column contains the Field ID or IDs associated with the Predecessor Family that are used to uniquely identify the predecessor record. If more than one field is to be used, then each Field ID needs to be separated by a | (Pipe) character. If the Predecessor Action is ACTION_INSERTONLY, then no key fields need to be specified, so you can use the <none> constant. |
Successor Family ID | SUCC_FAMILY_ID | Character | When the Family Type is Relationship, this column will contain the value of the Entity Family ID that is the successor in the relationship. Otherwise, it should contain the <none> constant. You can also use the data in each of the rows to determine the Successor Family ID. |
Successor Family Key Fields | SUCC_FAMILY_KEY_FIELDS | Character |
This column contains the Field ID or IDs associated with the Successor Family that are used to uniquely identify the successor record. If more than one field is to be used, then each Field ID needs to be separated by a | (Pipe) character. If the Successor Action is ACTION_INSERTONLY, then no key fields need to be specified, so you can use the <none> constant. |
Primary Action | PRIMARY_ACTION | Character |
The value in this column will determine the action that will be applied to the Primary Family records. If the Family Type is Entity, then the possible values are:
Deleting a record and purging a record will both delete the current record, the difference being that the purge action will delete the record and all of the links or relationships tied to that record. The delete action will simple attempt to delete the record, and if it is related to another record, the delete will fail. If The Family Type is Relationship, then the possible values are:
|
Predecessor Action | PRED_ACTION | Character |
The value in this column will determine the action that will be applied to the Predecessor Family records. The possible values are:
If The Family Type is Entity then the values needs to be
|
Successor Action | SUCC_ACTION | Character |
The value in this column will determine the action that will be applied to the Successor Family records. The possible values are:
If The Family Type is Entity then the values needs to be
|
Insert with Null Values? | OPTION_INSERT_ON_NULL | Boolean | When setting field values on a new record, if a value coming across is NULL, the field values will be set to NULL if this option is set to True. |
Update with Null Values? | OPTION_UPDATE_ON_NULL | Boolean | When setting field values on an existing record, if a value coming across is NULL, the field values will be set to NULL if this option is set to True. |
Replace an Existing Link? | OPTION_REPLACE_EXISTING_LINK | Boolean |
The Replace Existing Relationship option is used to determine how a relationship is to be maintained by its cardinality definition. For example, the relationship Location Contains Asset that is defined in the Configuration Manager. It has a cardinality defined as Zero or One to Zero or One, has a Location LP-2300, and contains the Asset P-2300. If, in the data load, you assign the Asset P-5000 to be contained in the Location LP-2300, and you have set the Replace Existing Link property to True, then the data loader will link P-5000 to LP-2300 and unlink P-2300 from LP-2300. This assumes that P-5000 is not currently linked to another location. The same is true for a relationship that is defined as Zero or One to Zero or Many, or Zero or Many to Zero or One. |
Allow Change of Family? | OPTION_ALLOW_CHANGE_OF_FAMILY | Boolean |
Allows the data loader to move an entity from one family to another. For example this would allow an entity that is currently assigned to the Centrifugal Pump family to be moved to the Reciprocating Pump family. All relationships will be maintained as long as the family to which the entity is being moved allows the same relationships. Note: Because of the extra processing required, by selecting this option, the interface performance will decrease. |
There is no preexisting format that must be adhered to on the <data> worksheet, because the APM Data Loader operates on a flexible framework. Field captions and ID are determined based on the data that you want to load.
Use the metadata exported from GE Digital APM to construct the <data> worksheet, to populate the rows with the actual data that will be loaded.
IMPORTANT: If a field is calculated in GE Digital APM, it cannot be populated through the data loader. If you attempt to load these fields, a warning will appear in the log.
Steps: Export Metadata
Get a copy of the metadata definitions for the family or families that you will be working with to load data.
Tip: Be sure to order the families in the order in which you want the fields to appear in the export.
Select Start Export.
The metadata is exported, and can be used to populate the <data> worksheet.
If you want to load Thickness Measurements into APM, since Thickness Measurements needs to be related to a Thickness Measurement Location, you must also export that family along with the Has Measurements relationship family.
Select Start Export.
The metadata is exported, and can be used to populate the <data> worksheet.
Save the metadata.
This exported metadata, is used to build source file template.
Sometimes the data that is being loaded, is in a different unit of measure than the one associated with the corresponding field in GE Digital APM. When this is the case, the APM Family Data Loader allows for you to specify the unit of measure that is tied to a specific row and column. This is done by copying the column to which the unit of measure is tied, and then adding the suffix |UOM to the end of the Column ID. Then, in the data, specify the unit of measure ID for the data being loaded. This unit of measure ID needs to be a valid unit of measure as defined GE Digital APM, and a valid conversion needs to be specified for the unit of measure specified and the field’s unit of measure. Please note that if a unit of measure is not specified, then it will use the field’s unit of measure, as defined inGE Digital APM.
Sometimes date and time data that is being loaded was collected in a different time zone than the time zone associated with the current user. When this is the case, the APM Family Data Loader allows you to specify the time zone that is tied to a specific row and column. This is done by copying the column to which the time zone is tied, and then adding the suffix |TZ to the end of the Column ID. Then, in the data, specify the time zone for the data being loaded. Please note that if a time zone is not specified, then it will use the time zone defined for the current user.
Copyright © 2018 General Electric Company. All rights reserved.