Examples 1 and 2 show calculated columns within the Connections UI and their relevant XML.
Example 3 demonstrates the use of JavaScript in Calculated Columns.
The value of this column for each record is whatever the value is of the lob parameter.
The CONCAT function supports more than 2 parameters, and you must enclose any literal values in single quotes ( 'abc')
The values of two columns are concatenating together.
The CONCAT function supports more than 2 parameters, and you must enclose any literal values in single quotes ( 'abc')
This example splits a [Name] column with the format "Lastname, Firstname" into two columns: [First Name] and [Last Name].
name
The user defined name for each calculated column. This is used in when you want to indicate the name of the sourceColumn.
formula
CQL expression used to define formula. Supported functions:
CONCAT(colA, colB, 'literal value1', 'literal value2')
Concatenates multiple columns, parameters or literal values together. Supports two or more parameters.
row_number()
This is the numeric row number of files (Excel, delimited, fixed width). Currently not supported in conjunction with other formulas/parameters.
isnull(colA,'alt value')
If the first column is null, use the second value (can be a literal or another column).
hash('SHA256',colA)
Hashes the column using the algorithm specified.
We recommend you salt your value before you hash it.
dataType
The data type of each column could be Text, Date, Number or Bool.
maxLength
The max length of data in the column.
isMandatory
Boolean value that determines if the field is a mandatory column to create a row entry.
validateData
Boolean value determining whether to validate the data before inserting. Valid data means to fit all the constraints of the column (dataType, maxLength, isMandatory, inputFormat). If the data isn't valid and validateData
is true, then the entry won't sync into the table. The Execution Errors Table also updates with the appropriate Error Type (Invalid Format Exception, Max Length Violation, Mandatory Rule Violation, Input Format Exception)
description
Description of the column.
trimWhitespace
Boolean value that determines whether to trim white space.
This page provides information on both Schema Columns (used when configuring Data Sync Sources) and Column Mappings (used when configuring Data sync Destinations).
Schema columns refer to your mapping on your data source. For example, if your source is a CSV with the columns 'Name', 'Age', and 'Company', you would set up three matching schema columns in the Connections UI or data sync XML. These schema columns map to your destination columns for your data sync target, so that the data knows where to go.
You don't have to set up an exact 1:1 relationship between source columns/data and schema columns.
The only difference between the setup of schema columns in the Connections UI compared to data sync XML is the addition of the Alias column, which only appears in the Connections UI. The Alias column gives the user an alternative name to the column mapping (usually used for easier readability). The column types are detailed below.
Note that some source types have unique parameters not otherwise specified in other sources. You can find information on those, where applicable, in the source's main page.
You can review the various attribute descriptions
Fill in the following attributes for a Standard Column (Image 1):
Name: The name of your column
Formula: The formula associated with your calculated column
Data Type: The return data type of your column, this can be either:
Text
Date
Number
Boolean
If a source column (of any type) is syncing into a Cinchy Target Table link column, the source column must be dataType="Text".
Description: Describe your column
Advanced Settings:
You can select if you want this column to be mandatory
You can choose whether your data must be validated
If both Mandatory and Validated are checked on a column, then rows where the column is empty are rejected
If just Mandatory is checked on a column, then all rows are synced with the execution log status of failed, and the source error of "Mandatory Rule Violation"
If just Validated is checked on a column, then all rows are synced.
For Text data types, you can choose whether to trim the whitespace.
To add in a Transformation > String Replacement enter the following:
Pattern for your string replacement
Replacement
You can have more than one String Replacement.
Fill in the following attributes for a Standard Calculated Column (Image 2):
Name: The name of your column
Formula: The formula associated with your calculated column
Data Type: The return data type of your column, this can be either:
Text
Date
Number
Boolean
If a Destination column is being used as a sync key, its source column must be set to type=Text, regardless of its actual type.**
Description: Describe your calculated column
Advanced Settings:
You can select if you want this column to be mandatory.
You can choose whether your data must be validated.
If both Mandatory and Validated are checked on a column, then rows where the column is empty are rejected
If just Mandatory is checked on a column, then all rows are synced with the execution log status of failed, and the source error of "Mandatory Rule Violation"
If just Validated is checked on a column, then all rows are synced.
Fill in the following attributes for a Conditional Calculated Column (Image 3):
Name: The name of your column
Data Type: The return data type of your column, this can be either:
Text
Date
Number
Boolean
If a Destination column is being used as a sync key, its source column has to be set to type=Text, regardless of its actual type.
Description: Describe your calculated column
Advanced Settings:
You can select if you want this column to be mandatory.
You can choose whether your data must be validated.
If both Mandatory and Validated are checked on a column, then rows where the column is empty are rejected
If just Mandatory is checked on a column, then all rows are synced with the execution log status of failed, and the source error of "Mandatory Rule Violation"
If just Validated is checked on a column, then all rows are synced.
Condition:
Name:
IF: Click Edit to create the "if" for your Conditional Statement (Image 4)
Then: Click Edit to create the "then" for your Conditional Statement (Image 5)
Default: Click Edit to create your default expression (Image 6)
Fill in the following attributes for a JavaScript Calculated Column (Image 7):
Name: The name of your column
Data Type: The return data type of your column, this can be either:
Text
Date
Number
Boolean
If a Destination column is being used as a sync key, its source column has to be set to type=Text, regardless of its actual type.**
Description: Describe your calculated column
Advanced Settings:
You can select if you want this column to be mandatory.
You can choose whether your data must be validated.
If both Mandatory and Validated are checked on a column, then rows where the column is empty are rejected
If just Mandatory is checked on a column, then all rows are synced with the execution log status of failed, and the source error of "Mandatory Rule Violation"
If just Validated is checked on a column, then all rows are synced.
Script: Enter in your JavaScript
This XML element defines each column and their data type in the data set :
name
The user defined name for each column. This is used in when you want to indicate the name of the sourceColumn
.
dataType
The data type of each column could be Text, Date, Number, Boolean, Geometry, or Geography.
If a Destination column is being used as a sync key, its source column has to be set to type=Text, regardless of its actual type.
To sync into a Cinchy table with a Geometry or Geography column, those respective data types must be used in the data sync, and the input should be in well-known text (WKT) format.
The dataType affects how the source and target data is parsed, and also determines how the fields are compared for equality. If your sync keeps updating a field that hasn't changed, check your data types.
For example, given line 1 of a .csv file:
Name, Location, Age
The ordinal for Age would be 3.
maxLength
The max length of data in the column.
isMandatory
Boolean value that determines if the field is a mandatory column to create a row entry.
A defined SyncKey column of any data type can be checked for NULL values using isMandatory=true
. When validation fails, an error message is displayed in the command line. For other columns when validation fails, the Execution Errors Table is updated with Error Type, Mandatory Rule violation for that column and row that failed.
validateData
Boolean value determining whether to validate the data before insertion. Valid data means to fit all the constraints of the column (dataType
, maxLength
, isMandatory
, inputFormat
). If the data isn't valid and validateData is true, then the entry won't be synced into the table. The Execution Errors Table is also updated with the appropriate Error Type (Invalid Format Exception, Max Length Violation, Mandatory Rule Violation, Input Format Exception)
trimWhitespace
Boolean value determining whether to trim white space.
description
Description of the column.
inputFormat
inputFormat
attribute is useful when source file need some format changes in the input data
Column mappings defines how a single column from the data source maps to a column in a target table. Each <ColumnMapping>
has both a source and a target. If the destination is a Cinchy table and the target column is a link, then a third attribute becomes available called linkColumn
which you can use to specify the column used to resolve the linked record from the source value. The value of sourceColumn
should match name attribute of Source . The value of targetColumn
should match that of the target table.
Below is an example of a Column Mapping in the experience followed by the equivalent XML. In the experience, the Source Column attribute is a dropdown of columns configured in the Source Section.
sourceColumn
The name of the column in the data source. The name corresponds to the user defined name from the elements in the schema.
targetColumn
The name of the column in the target table. This would be a table that's already created in Cinchy and defined in the Target.
linkColumn
The name of a column from the linked table. If the target column is a linked column from another table, you may input data based on any of the linked table's columns.
If a Destination column is being used as a sync key, its source column has to be set to type=Text, regardless of its actual type.
Date fields support the inputFormat
which adheres to the C# .NET DateTime.ParseExact format. See for reference.