Cinchy Platform Documentation
Cinchy v5.6
Cinchy v5.6
  • Data Collaboration Overview
  • Release Notes
    • Release Notes
      • 5.0 Release Notes
      • 5.1 Release Notes
      • 5.2 Release Notes
      • 5.3 Release Notes
      • 5.4 Release Notes
      • 5.5 Release Notes
      • 5.6 Release Notes
  • Getting Help
  • Cinchy Glossary
  • Frequently Asked Questions
  • Deployment Guide
    • Deployment Installation Guides
      • Deployment Planning Overview and Checklist
        • Deployment Architecture Overview
          • Kubernetes Deployment Architecture
          • IIS Deployment Architecture
        • Deployment Prerequisites
          • Single Sign-On (SSO) Integration
            • Enabling TLS 1.2
            • Configuring ADFS
            • AD Group Integration
      • Kubernetes Deployment Installation
        • Disabling your Kubernetes Applications
        • Changing your File Storage Configuration
        • Configuring AWS IAM for Connections
        • Using Self-Signed SSL Certs (Kubernetes Deployments)
        • Deploying the CLI (Kubernetes)
      • IIS Deployment Platform Installation
    • Upgrade Guides
      • Upgrading Cinchy Versions
        • Cinchy Upgrade Utility
        • Kubernetes Upgrades
          • v5.1 (Kubernetes)
          • v5.2 (Kubernetes)
          • v5.3 (Kubernetes)
          • v5.4 (Kubernetes)
          • v5.5 (Kubernetes)
          • v5.6 (Kubernetes)
          • Upgrading AWS EKS Kubernetes Version
          • Updating the Kubernetes Image Registry
          • Upgrading AKS (Azure Kubernetes Service)
        • IIS Upgrades
          • v4.21 (IIS)
          • v4.x to v5.x (IIS)
          • v5.1 (IIS)
          • v5.2 (IIS)
          • v5.3 (IIS)
          • v5.4 (IIS)
          • v5.5 (IIS)
          • v5.6 (IIS)
      • Upgrading from v4 to v5
  • Guides for Using Cinchy
    • User Guides
      • Overview of the Data Browser
      • The Admin Panel
      • User Preferences
        • Personal Access Tokens
      • Table Features
      • Data Management
      • Queries
      • Version Management
        • Versioning Best Practices
      • Commentary
    • Builder Guides
      • Best Practices
      • Creating Tables
        • Attaching Files
        • Columns
        • Data Controls
          • Data Entitlements and Access Controls
          • Data Erasure
          • Data Compression
        • Formatting Rules
        • Indexing and Partitioning
        • Linking Data
        • Table and Column GUIDs
        • System Tables
      • Deleting Tables
        • Restoring Tables, Columns, and Rows
      • Saved Queries
      • CinchyDXD Utility
        • Building the Data Experience (CinchyDXD)
        • Packaging the Data Experience (CinchyDXD)
        • Installing the Data Experience (CinchyDXD)
        • Updating the Data Experience (CinchyDXD)
        • Repackaging the Data Experience (CinchyDXD)
        • Reinstalling the Data Experience (CinchyDXD)
      • Multi-Lingual Support
      • Integration Guides
    • Administrator Guide
    • Additional Guides
      • Monitoring and Logging on Kubernetes
        • Grafana
        • Opensearch Dashboards
          • Setting up Alerts
        • Monitoring via ArgoCD
      • Maintenance
      • System Properties
      • Enable Data At Rest Encryption
      • MDQE
      • Application Experiences
        • Network Map
          • Custom Node Results
          • Custom Results in the Network Map
        • Setting Up Experiences
  • API Guide
    • API Overview
      • API Authentication
      • API Saved Queries
      • ExecuteCQL
      • Webhook Ingestion
  • CQL
    • The Basics of CQL
      • CQL Examples
      • CQL Functions Master List
      • CQL Statements Overview
        • Cinchy DML Statements
        • Cinchy DDL Statements
      • Cinchy Supported Functions
        • Cinchy Functions
        • Cinchy System Values
        • Cinchy User Defined Functions
          • Table-Valued Functions
          • Scalar-Valued Functions
        • Conversion Functions
        • Date and Time Types and Functions
          • Return System Date and Time Values
          • Return Date and Time Parts
          • Return Date and Time Values From Their Parts
          • Return Date and Time Difference Values
          • Modify Date and Time Values
          • Validate Date and Time Values
        • Logical Functions
        • Mathematical Functions
        • String Functions
        • Geometry and Geography Data Type and Functions
          • OGC Methods on Geometry & Geography Instances
          • Extended Methods on Geometry & Geography Instances
        • Full Text Search Functions
        • Connections Functions
        • JSON Functions
  • Meta Forms
    • Introduction to Meta-Forms
    • Meta-Forms Deployment Installation Guide
      • Deploying Meta-Forms (Kubernetes)
      • Deploying Meta-Forms (IIS)
    • Forms Data Types
    • Meta-Forms Builders Guides
      • Creating a Dynamic Meta-Form (Using Tables)
      • Creating a Dynamic Meta-Form Example (Using Form Designer)
      • Adding Links to a Form
      • Rich Text Editing in Forms
  • Data Syncs
    • Getting Started with Data Syncs
    • Installation & Maintenance
      • Prerequisites
      • Installing Connections
      • Installing the Worker/Listener
      • Installing the CLI and the Maintenance CLI
    • Building Data Syncs
      • Types of Data Syncs
      • Common Design Patterns
      • Sync Behaviour
      • Columns and Mappings
        • Calculated Column Examples
      • Listener Configuration
      • Advanced Settings
        • Filters
        • Parameters
        • Auth Requests
        • Request Headers
        • Post Sync Scripts
        • Pagination
      • Batch Data Sync Example
      • Real-Time Sync Example
      • Scheduling a Data Sync
      • Connection Functions
    • CLI Commands List
    • Error Logging and Troubleshooting
    • Supported Data Sync Sources
      • Cinchy Event Broker/CDC
        • Cinchy Event Broker/CDC XML Config Example
      • Cinchy Table
        • Cinchy Table XML Config Example
      • Cinchy Query
        • Cinchy Query XML Config Example
      • Copper
      • DB2 (Query and Table)
      • Dynamics 2015
      • Dynamics
      • DynamoDB
      • File Based Sources
        • Binary File
        • Delimited File
        • Excel
        • Fixed Width File
        • Parquet
      • Kafka Topic
        • Kafka Topic Example Config
        • Apache AVRO Data Format
      • LDAP
      • MongoDB Collection
        • MongoDB Collection Source Example
      • MongoDB Collection (Cinchy Event Triggered)
      • MS SQL Server (Query and Table)
      • ODBC Query
      • Oracle (Query and Table)
      • Polling Event
        • Polling Event Example Config
      • REST API
      • REST API (Cinchy Event Triggered)
      • SAP SuccessFactors
      • Salesforce Object (Bulk API)
      • Salesforce Platform Event
      • Salesforce Push Topic
      • Snowflake
        • Snowflake Source Example Config
      • SOAP 1.2 Web Service
    • Supported Data Sync Destinations
      • Cinchy Table
      • DB2 Table
      • Dynamics
      • Kafka Topic
      • MongoDB Collection
      • MS SQL Server Table
      • Oracle Table
      • REST API
      • Salesforce Object
      • Snowflake Table
      • SOAP 1.2 Web Service
    • Supported Real-Time Sync Stream Sources
      • Cinchy Event Broker/CDC
      • Data Polling
      • Kafka Topic
      • MongoDB
      • Salesforce Push Topic
      • Salesforce Platform Event
  • Other Resources
    • Angular SDK
    • JavaScript SQK
Powered by GitBook
On this page
  • 1. Overview
  • 2. Schema Columns
  • 2. Standard Column
  • 3. Standard Calculated Column
  • 4. Conditional Calculated Column
  • 5. JavaScript Calculated Column
  • 6. Columns in XML
  • 6.1 Attributes Descriptions
  • Elements:
  • 3. Column Mappings
  • Attributes:

Was this helpful?

Export as PDF
  1. Data Syncs
  2. Building Data Syncs

Columns and Mappings

PreviousSync BehaviourNextCalculated Column Examples

Last updated 1 year ago

Was this helpful?

1. Overview

This page provides information on both Schema Columns (used when configuring Data Sync Sources) and Column Mappings (used when configuring Data sync Destinations).

2. Schema Columns

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 schema columns in the Connections UI or data sync XML to match. These schema columns are then mapped to your destination columns for your data sync target, so that the data knows where to go.

Note that you do not have to, and sometimes won't be able to, set up an exact 1:1 relationship between source columns/data and schema columns.

The only difference between setting up your schema columns in the Connections UI vs in a data sync XML is the addition of the Alias column, which is only in the Experience. This attribute allows the user to give an alternative name to the column mapping (usually used for easier readability). The various types of columns 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

2. Standard Column

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

    • Bool

    • Geometry

    • Geography

If a source column (of any type) is being synced into a Cinchy Target Table link column, the source column needs to be of dataType="Text", no matter what type it actually is.

  • 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.

  • If your data type was chosen as "text", you can choose whether to trim the whitespace or not

You can choose to add in a Transformation > String Replacement by inputting the following:

  • Pattern for your string replacement

  • Replacement

Note that you can have more than one String Replacement

3. Standard Calculated Column

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

    • Bool

    • Geometry

    • 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.

  • 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.

4. Conditional Calculated Column

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

    • Bool

    • Geometry

    • 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.

  • 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)

5. JavaScript Calculated Column

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

    • Bool

    • Geometry

    • 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.

  • 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

6. Columns in XML

This XML element defines each column in the data set as well as their data type:

<Column
    name="string"
    dataType="Text"| "Date"| "Number"| "Bool"| "Geometry"| "Geography"
    ordinal="int"                     -- Depends on the data source
    maxLength="int"                   --OPTIONAL
    isMandatory=["true", "false"]     --OPTIONAL
    validateData=["true", "false"]    --OPTIONAL
    trimWhitespace=["true", "false"]  --OPTIONAL
    description="string"              --OPTIONAL
    inputFormat="string"              --OPTIONAL
    >
    ...
</Column>

6.1 Attributes Descriptions

name

The user defined name for each column. This is used in <ColumnMapping> when you want to indicate the name of the sourceColumn.

dataType

The data type of each column could be Text, Date, Number, Bool, 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 has not changed, double 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 determining 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 or not to validate the data before inserting. Valid data means to fit all the constraints of the column (dataType, maxLength, isMandatory, inputFormat). If the data is not valid and validateData is true, then the entry will not 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 or not 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

Elements:

<Transformations>

3. Column Mappings

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 is used to specify the column that should be 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.

<ColumnMapping
    sourceColumn="string"
    targetColumn="string"
    linkColumn="string"
    >
</ColumnMapping>

Attributes:

sourceColumn

The name of the column in the data source. The name corresponds to the user defined name from the <Column> 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.

here
here.
Image 1: Standard Column
Image 2: Standard Calculated Columns
Image 3: Conditional Calculated Column
Image 4: Creating your Conditional statement
Image 5: Creating your Conditional Statement
Image 6: Creating your Default Expression
Image 7: JavaScript Calculated Column