Importing Property Relations

The property relations import feature in Weissr simplifies the configuration and management of property relations by allowing administrators to import relations via a CSV file, reducing manual work and increasing efficiency. This functionality is available for users with Administrator or Superuser permissions.

Importing property relations is not supported for properties of the following types: Money, Integer, Decimal, Date, Boolean. Such relations can only be created manually.

Glossary

  • Head Property: The main property that drives the relationship logic.

  • Head Property Value: Specific values assigned to the head property.

  • Tail Property: Properties that are related to the head property.

  • Tail Property Value: Specific values assigned to the tail properties.

Manual Import of Property Relations

To perform a manual import:

  1. Navigate to Administration → Common → Integrations → Property Relations Import.

  2. (Optional) Download an example file with the minimum required columns.

  3. Configure your file to include all relevant relations to be imported.

  4. Save the CSV file in UTF-8 format to avoid issues with special characters.

  5. Upload your file.

  6. Select your import strategy, then click “Import”.

image-20240420-170708.png
Location within the administration page to manually import property relations.

Scheduled Import of Property Relations

Read more about the scheduled import of Property Relations here.

File structure

The import process relies on a CSV file (comma delimited, UTF-8) with the following structure:

  • Row 1: Header row (describes data structure, skipped during import).

    • Column 1: Head property name.

    • Column 2: Head property values.

    • Column 3: Tail property name.

    • Column 4: Tail property value.

    • Column n: Tail property name.

    • Column n: Tail property value.

Where n is an unlimited amount of tail property value pairs.

  • Row 2+: Property relations according to the main logic e.g., IF head property value = x THEN tail property 1 = y AND tail property 2 = z, w

Field Separator: Comma, preferable UTF-8 format to avoid issues with special symbols like umlauts used in some naming.

Each row can establish several relations from one head property to several tail properties. Relations from head properties not mentioned in the file will remain unaffected after import. To remove such relations, manual intervention is required (applicable only for manual import).

Example File Structure:

Property name (Head)

Property value (Head)

Property name (Tail 1)

Property value (Tail 1)

Property name (Tail 2)

Property value (Tail 2)

Property name (Tail n)

Property value (Tail n)

Production unit

Berlin

Business Area

Manufacturing

Cost center

0001

Production unit

Riga

Business Area

Manufacturing

Cost center

0002

Profit Center

ABC1

Production unit

Stockholm

Business Area

Services

Cost center

0002

Production unit

Riga

Business Area

Replacements

Cost center

0001

Profit Center

ABC1

Cost center

0001

Profit Center

ABC2

Profit Center

ABC3

Cost center

0002

Profit Center

ABC4

Import result: 12 relations are created

  1. IF Production unit = Berlin THEN Business Area = Manufacturing AND Cost center = 0001

  2. IF Production unit = Riga THEN Business Area = Manufacturing, Replacements AND Cost center = 0002 AND Profit Center = ABC1

  3. IF Production unit = Stockholm THEN Business Area = Services AND Cost center = 0002

  4. IF Cost center = 0001 THEN Profit Center = ABC1, ABC2, ABC3

  5. IF Cost center = 0002 THEN Profit Center = ABC4

Import Strategies

Administrators can choose from several import strategies based on their needs:

  1. Only Add

    • Adds new property relations without removing existing ones.

    • Example: Adds new relations for "Production unit" and "Cost center" without affecting existing relations.

  2. Replace for Head Property Value

    • Replace existing relations for the specified head property value with new ones from the CSV file.

    • Example: Replace existing relations for "Production unit" = Riga and "Cost center" = 0002 with the new ones provided in the file.

  3. Replace for Head Property

    • Replace all existing relations for the specified head property with new ones from the CSV file.

    • Example: Replace all existing relations for "Production unit" and "Cost center" properties with new relations from the file.

Already existing property relations that are not defined in imported CSV files are always left unchanged

Only Add

Adds new property relations without removing existing ones.

How it works

Property relations before import:

  1. IF Production unit = Berlin THEN Business Area = Manufacturing AND Cost center = 0001

  2. IF Production unit = Riga THEN Business Area = Manufacturing, Replacements AND Cost center = 0002 AND Profit Center = ABC1

  3. IF Production unit = Stockholm THEN Business Area = Services AND Cost center = 0002

  4. IF Cost center = 0001 THEN Profit Center = ABC1, ABC2, ABC3

  5. IF Cost center = 0002 THEN Profit Center = ABC

Imported file:

Property name (Head)

Property value (Head)

Property name (Tail 1)

Property value (Tail 1)

Property name (Tail 2)

Property value (Tail 2)

Production unit

Riga

Business Area

Services

Profit Center

ABC3

Cost center

0002

Profit Center

ABC3

As a result of the import, three new property relations will be added (highlighted in green below):

  1. IF Production unit = Berlin THEN Business Area = Manufacturing AND Cost center = 0001

  2. IF Production unit = Riga THEN Business Area = Manufacturing, Replacements, Services AND Cost center = 0002 AND Profit Center = ABC1, ABC3

  3. IF Production unit = Stockholm THEN Business Area = Services AND Cost center = 0002

  4. IF Cost center = 0001 THEN Profit Center = ABC1, ABC2, ABC3

  5. IF Cost center = 0002 THEN Profit Center = ABC, ABC3

Replace for Head Property Value

Replaces existing relations for the specified head property value with new ones from the CSV file.

How it works

Property relations before import:

  1. IF Production unit = Berlin THEN Business Area = Manufacturing AND Cost center = 0001

  2. IF Production unit = Riga THEN Business Area = Manufacturing, Replacements AND Cost center = 0002 AND Profit Center = ABC1

  3. IF Production unit = Stockholm THEN Business Area = Services AND Cost center = 0002

  4. IF Cost center = 0001 THEN Profit Center = ABC1, ABC2, ABC3

  5. IF Cost center = 0002 THEN Profit Center = ABC

Imported file:

Property name (Head)

Property value (Head)

Property name (Tail 1)

Property value (Tail 1)

Property name (Tail 2)

Property value (Tail 2)

Production unit

Riga

Business Area

Services

Profit Center

ABC3

Cost center

0002

Profit Center

ABC3

 

 

Cost center

0003

Business Area

Manufacturing

As a result of import, five property relations will be removed, and four will be added:

  1. IF Production unit = Berlin THEN Business Area = Manufacturing AND Cost center = 0001

  2. IF Production unit = Riga THEN Business Area = Services AND Profit Center = ABC3

  3. IF Production unit = Stockholm THEN Business Area = Services AND Cost center = 0002

  4. IF Cost center = 0001 THEN Profit Center = ABC1, ABC2, ABC3

  5. IF Cost center = 0002 THEN Profit Center = ABC3

  6. IF Cost center = 0003 THEN Business Area = Manufacturing

Replace for head property

Replaces all existing relations for the specified head property with new ones from the CSV file.

How it works

Property relations before import:

  1. IF Production unit = Berlin THEN Business Area = Manufacturing AND Cost center = 0001

  2. IF Production unit = Riga THEN Business Area = Manufacturing, Replacements AND Cost center = 0002 AND Profit Center = ABC1

  3. IF Production unit = Stockholm THEN Business Area = Services AND Cost center = 0002

  4. IF Cost center = 0001 THEN Profit Center = ABC1, ABC2, ABC3

  5. IF Cost center = 0002 THEN Profit Center = ABC

Imported file:

Property name (Head)

Property value (Head)

Property name (Tail 1)

Property value (Tail 1)

Property name (Tail 2)

Property value (Tail 2)

Production unit

Riga

Business Area

Services

Profit Center

ABC3

Cost center

0002

Profit Center

ABC3

 

 

Cost center

0003

Business Area

Manufacturing

As a result of import, twelve property relations will be removed and four will be added:

  1. IF Production unit = Riga THEN Business Area = Services AND Profit Center = ABC3

  2. IF Cost center = 0002 THEN Profit Center = ABC3

  3. IF Cost center = 0003 THEN Business Area = Manufacturing

Common Issues

To avoid import issues, ensure that:

  • The file format and data structure are correct.

    • If there are issues, the import will fail, and all data will be skipped.

  • Property names and values are valid and case-sensitive.

    • If the issue relates to the head property, the row will be ignored.

    • If there are issues with specific tail properties, only the relation based on that tail property will be skipped. Other property relations will be imported.

  • The properties are of the correct type.

    • Money, Integer, Decimal, Date, and Boolean are not supported.

Possible errors include:

  • Invalid file format or data structure.

  • Invalid property name or value.

  • Circular references in property relations.

  • Property type restrictions.

Logs and Results

The property relations import results can be viewed immediately after import and later in the Integration logs. The logs include:

  • General information about the import process.

  • Detailed information about skipped rows and/or tail properties due to errors.

image-20240420-171618.png
General information about the import result.

Expanded details can be seen to see more details about the import results. They contain detailed information about skipped rows and/or tail properties on import due to errors like non-existing, invalid, or removed values.

image-20240420-172445.png
Expanded details section with information on successful and invalid records.
image-20240420-172810.png
Historical import attempts are stored in Common → Integrations → Integrations logs
image-20240420-172939.png
Is it possible to copy the import results.