Skip to main content

Data Type Mappings Editor

BimlFlex Data Type Mappings provide the ability to map Data Types from a source system to another more standardized data type. This can be either a conversion of the Data Type entirely, such as a int to a bigint, the expansion of an existing Data Type, such as nvarchar(13) to nvarchar(20), or the combination of both, such as char(1) to nvarchar(10).

Data Type Mappings is a BimlFlex feature that expands the Data Types of the source to a larger data type that is more accommodating. This is done to accommodate changes in the source system without the need to update the data solution, or the load process. The most common expansions are for short string representations that might be updated in the source.

A 'Name' field of 20 characters might be updated to 250 to accommodate longer customer names, or it might be changed from varchar to nvarchar to accommodate international characters. An integer might be updated to big int when the source counter nears its maximum allowed value.

By expanding incoming data it is possible to cater for these future changes before they become a load issue.

note

Note that larger data types might require more database resources.

BimlFlex provides a rules engine for applying the expansions based on the Business Requirements. Based on the configuration, BimlFlex can apply the expansions across all columns for a source and all tables and load patterns will take the new expanded type into consideration.

The expanded data types will be used in the source to staging load and the new data types will be used in both Staging and Persistent Staging. When the Data Vault accelerator is run on the source metadata the Satellite attributes will inherit the expanded data types from the source definition.

Overview

The following sections describe the UI elements of the Data Type Mappings Editor and how they are used to author and manage BimlFlex Data Type Mappings.

BimlFlex Data Type Mappings Editor - Overview

Action Buttons

BimlFlex Data Type Mappings Action Buttons

IconActionDescription
SaveThis will save the current set of staged changes. The Save button is only enabled if the Data Type Mapping has changes staged and there are no major validation issues with the current Data Type Mapping properties.
DiscardThis will Discard any unsaved changes and revert to last saved form.
Apply Data Type MappingsBrings up the Apply Data Type Mappings Dialog to apply all Data Type Mappings to a specified Record Source. Note that this is the complete set of Data Type Mappings and not just the record that was previously selected.
DeletedThis will soft delete the currently selected Data Type Mapping. This will remove the Data Type Mapping from all processing and it will be excluded from all validation.

Additional Dialogs

Apply Data Type Mappings Dialog

From here you can apply your Data Type Mappings to an individual Record Source. Select your Record Source from the dropdown, enable the options you want and click Apply. Defaults should be acceptable for most cases but options are provided to support user cases where you may only be concerned with a particular property.

Apply Data Type Mappings Dialog -mtb-20-image

Apply Data Type Mapping Options
OptionDescription
Override Existing MappingsWhen enabled, any existing settings will be overridden with current settings. When disabled only previously unmapped columns will have logic applied.
Apply Data Type MappingsWhen enabled, applies the Mapped To Data Type from the Data Type Mappings to the Data Type Mapping property of the Columns with the defined data types.
Apply SQL Source ExpressionWhen enabled, applies the SQL Source Expression from the Data Type Mappings to the SQL Source Expression property of the Columns with the defined data types.
Apply SSIS Data Flow ExpressionWhen enabled, applies the SSIS Data Flow Expression from the Data Type Mappings to the SSIS Data Flow Expression property of the Columns with the defined data types.
Apply Column AliasWhen enabled, applies the Column Alias from the Data Type Mappings to the Column Alias property of the Columns with the defined data types.
Apply Convert Source TypeWhen enabled, applies the DATA TYPE, LENGTH, PRECISION and SCALE from the Data Type Mappings to the DATA TYPE, LENGTH, PRECISION and SCALE property of the Columns with the defined data types if the Data Type Mapping has the CONVERT DATA TYPE MAPPING enabled.

Fields


FieldDescription
Data Type MappingName of the Data Type Mapping.
Mapped To Data TypeThe Data Type Mapping this type is mapped to. If this value is populated then this Data Type Mapping will use the values specified by the Mapped To Data Type.
Data TypeThe type of data stored in this column using the Unified System Types. Additional logic is required to cater for data types with a 'CustomType' like hierarchyid.
DefaultThe default value that should be used when a value is not received. Be sure to verify that the value listed her is valid for the specified Length, Precision or Scale.
LengthOnly applicable for a Data Type that requires this specification. If the Data Type Mapping does not have a Mapped To Data Type and Is Master then this value represents the value to be used when a column is created using this Data Type Mapping. If the Data Type Mapping has a Mapped To Data Type then it is the maximum value that will be included when mapping to the Mapped To Data Type. Note that when there are multiple mappings for the same Data Type the lowest values are checked first.
PrecisionOnly applicable for a Data Type that requires this specification. If the Data Type Mapping does not have a Mapped To Data Type and Is Master then this value represents the value to be used when a column is created using this Data Type Mapping. If the Data Type Mapping has a Mapped To Data Type then it is the maximum value that will included when mapping to the Mapped To Data Type. Note that when there are multiple mappings for the same Data Type the lowest values are checked first.
ScaleOnly applicable for a Data Type that requires this specification. If the Data Type Mapping does not have a Mapped To Data Type and Is Master then this value represents the value to be used when a column is created using this Data Type Mapping. If the Data Type Mapping has a Mapped To Data Type then it is the maximum value that will included when mapping to the Mapped To Data Type. Note that when there are multiple mappings for the same Data Type the lowest values are checked first.
OrdinalThis value is used to determine the default sort order when populating the navigation/value pane on the right side of the screen.
System TypeIf unspecified the Data Type Mapping will be applied to all system types. When specified, defines the System Type that is required in order to apply the Data Type Mapping. This is commonly used to control the mapping of more complex data types such as Date and DateTime variants as syntax and functions differ from system to system. Must be a valid System Type.
SQL Source ExpressionSQL expression for this column is used to extend source queries. Generally used for source type casting and case statements. Example, CONVERT(VARCHAR(27), @@this, 121)
SSIS Dataflow ExpressionThe expression used to calculate the value of the derived column via SSIS. SSIS expression syntax is used. Example, (DT_DBTIMESTAMP2, 7)([DTM_@@this])
ADF Dataflow ExpressionThe expression used to calculate the value of the derived column via ADF. ADF expression syntax is used.
SQL Target ExpressionThe SQL expression used to extend target queries. Generally used for source type casting and case statements. Example, CONVERT(VARCHAR(27), @@this, 121)
SQL Target To StringThis SQL expression is used when a datatype needs to be converted to a string.
SQL Target To Data TypeThis SQL expression is used when a string datatype needs to be converted to another datatype.
DescriptionOptional metadata to provide description.
Column AliasMaps to a Columns Column Alias field. Example, DTM_@@this
Is MasterIf true this Data Type Mapping may be used as a Mapped To Data Type.
Convert Source TypeWhen enabled, applies the DATA TYPE, LENGTH, PRECISION and SCALE from the Data Type Mappings to the DATA TYPE, LENGTH, PRECISION and SCALE property of the Columns with the defined data types if the APPLY CONVERT DATA TYPE MAPPING is selected when using the [Apply Data Type Mappings] button.

Allowed Values

Data Types

Data Types are the allowed values that can be used to specify Columns in BimlFlex.

Data TypeDescription
AnsiStringANSI string.
AnsiStringFixedLengthFixed length ANSI string.
BinaryBinary data column.
BooleanBoolean, Bit or True/False.
ByteUnsigned tiny integer.
CurrencyMoney or currency.
DateDate only.
DateTimeDate and time.
DateTime2Variable precision date and time. Increased precision over DateTime.
DateTimeOffsetData and time with time zone offset.
DecimalFixed precision and scale numbers.
DoubleFloat or Double.
GuidUnique identifier or GUID.
Int16Small integer.
Int32Integer.
Int64Big integer.
ObjectObject. Used for complex data types.
SByteTiny integer.
SingleReal or Single.
StringUnicode String.
StringFixedLengthFixed Length Unicode String.
TimeTime only.
UInt16Unsigned small integer.
UInt32Unsigned integer.
UInt64Unsigned big integer.
VarNumericVariable numeric
XmlXML formatted data.
HierarchyIdSQL Server HierarchyId data type.
GeometrySQL Server geometry data type.
GeographySQL Server geography data type.
SmallMoneySmall money.
VariantVariant. Non explicit data type.
note

For information on how these map to SQL Server, Synapse and Snowflake data types see associated link below.
BimlFlex Documentation: BimlFlex Data Type Conversions.

System Types

System Types are configured using the Connection Editor to define what kind of data source or target is connected to as part of the Connection Type configuration.

System TypeCodeDescriptionSupported by Connection Type
Avro FormatAVROAvro is a binary, compressed, file format. Only supported for Azure Data Factory.Azure Blob Storage, Azure Data Lake Store, FILE, FTP, SFTP
Azure SynapseSQLDWAzure Synapse Analytics database (Formerly Azure SQL Data Warehouse).ADONET, OLEDB
Binary FormatBINBinary storage file. Only supported for Azure Data Factory.Azure Blob Storage, Azure Data Lake Store, FILE, FTP, SFTP
COZYROC Excel FileCREXCELExcel File using COZYROC SSIS Components.Custom Component
COZYROC SalesforceCRSFDCSalesforce API using COZYROC SSIS Components.Custom Component
DB2DB2IBM DB2 database.ADONET, ODBC, OLEDB
Delta LakeDELTADelta Lake Storage Layer.Azure Data Lake Store
Dynamics CRMDYNCRMAPI that can connect to Microsoft Dynamics data sources.Rest API
Delimited FormatFF_DELFlat File with Delimiters.Azure Blob Storage, Azure Data Lake Store, FILE, FTP, SFTP
Ragged Right FormatFF_RAGFlat File with Ragged Right formatting.FILE
JSON FormatJSONJSON file format. Only supported for Azure Data Factory.Azure Blob Storage, Azure Data Lake Store, FILE, FTP, SFTP
Microsoft SQL ServerMSSQLMicrosoft SQL Server database. Can be configured for on-premise, also accessible via a Self-Hosted Integration Runtime. Also can be configured for cloud computing as a Managed Instance or Azure SQL database. This is done in the Linked Service configuration for the connection.ADONET, Microsoft MDS, OLEDB
MySqlMYSQLMySQL database.ADONET, ODBC, OLEDB
OracleORAOracle database.ADONET, ODBC, OLEDB, ORACLE
Oracle RDBORARDBOracle RDB Database. Discontinued product line from Oracle. Separate from there current database product.ADONET, ODBC, OLEDB, ORACLE
ORC FormatORCORC file format. Only supported for Azure Data Factory.Azure Blob Storage, Azure Data Lake Store, FILE, FTP, SFTP
Parquet FormatPARQParquet file format. Only supported for Azure Data Factory.Azure Blob Storage, Azure Data Lake Store, FILE, FTP, SFTP
PostgreSQLPGRPostgreSQL database.OLEDB
Rest ServiceRESTConfigurable REST API connector.Rest API
SalesforceSFDCAPI to connect to the generic Salesforce tenant.Rest API
Salesforce Marketing CloudSFDCMCAPI to connect to the Salesforce Marketing Cloud.Rest AP
Salesforce Service CloudSFDCSCAPI to connect to the Salesforce Service Cloud.Rest API
Snowflake Data WarehouseSFLDWSnowflake database.ODBC
SybaseSYBASESybase database.ADONET, ODBC, OLEDB
TeradataTDTeradata database.ADONET, ODBC, OLEDB, TERADATA
XML FormatXMLXML file format.Azure Blob Storage, Azure Data Lake Store, FILE, FTP, SFTP