When you start a build in SuperCHANNEL, the progress log displays automatically.
The log messages start with details of the exact build of SuperCHANNEL in use, followed by the command line options passed to the SNU command to run the build:
In this example, the corresponding SNU command would be:
The next section contains information messages about the preparation for the database build:
This is followed by details of the connection to the source database, including the driver used and the time taken to connect:
The next section of the log shows details of the connection to the target database:
The Updating registry tables section contains details that will be written into the registry tables in the target database:
The Creating tables section shows the tables that are created in the target database:
The next section shows data insertion from the classification tables to the target database (the build process inserts data into the classification tables first, before channelling from the fact tables, so that it can perform a referential integrity check against these tables when it inserts the data from the fact tables).
Messages like the following indicate how many rows from the source table have been channelled into the target:
Once SuperCHANNEL has finished inserting data for the classification tables, it begins populating the fact tables.
In this case SuperCHANNEL has used Batch Insertion, and all rows from source have been channelled to the target:
SuperCHANNEL also displays the total number of cleansing actions found during the run and indicates that the build is complete:
Other Log Messages
The following are some of the other messages that you might see in the output from a successful build.
Value out of range
The message Value out of range indicates that there are data types in the source data that have not been mapped to a known data type for channelling to the target. SuperCHANNEL automatically maps these to OTHER, which means that the data for these columns will not be inserted into the target.
In most cases, the columns concerned would not contain data that would be useful in the target database.
Check the Data Type Mapping tool for further information. You should check that all the data types in your source data have been correctly mapped to ensure that all important data is correctly mapped.
The getSchemas failed message appears in the Errors log. It occurs when a connection to the database is made using the jdbc:odbc bridge. This is a, which does not support connections between tables.
When using the jdbc:odbc bridge, you must explicitly create references between tables in the SuperCHANNEL GUI. The messages will still appear for builds using this driver even if all references have been created, but in this case the messages can be ignored.
Cannot set cleansing action to ADD for a hierarchical classification reference: defaulting to SKIP
Messages of this type are informational, rather than errors.
If a fact table value for a hierarchical classification is not found in the classification table, it cannot be inserted because the rest of the links in the hierarchy are not known (the fact table value is always the bottom value in the hierarchy). The cleansing action is automatically changed to "skip" and the build continues.
It is not possible to use batch mode to load table
This message displays when SuperCHANNEL is unable to use batch mode to process one of the fact tables, because the source data does not permit use of this mode.
In this case, SuperCHANNEL uses classic mode, and displays details of the conditions that prevented it from using batch mode.
See Batch Insert Mode - SuperCHANNEL for more information about batch mode and classic mode.
Action: binning value of column
Cleansing actions allow you to automatically clean up some of your source data when building your SXV4 database.
One of the available cleansing actions is "bin": when SuperCHANNEL encounters a value in a fact table that is not one of the available classifications, it will automatically convert (or "bin") the value for that record to a specific classification. This action is typically used to convert empty or incorrect incorrect values in the fact table to a catch-all classification like "Unknown" or "Not Applicable".
If you have configured one or more fact table columns to use the "bin" cleansing action, then you may see messages similar to the following in the logs:
In the example shown here, the message indicates that in row 269192 of the fact table, SuperCHANNEL found a value of ' ' (i.e., an empty value) in the
Marital_Status column. As this is not one of the valid classifications for this column, it has automatically been binned to 'U' (Unknown).
SuperCHANNEL has taken this action in accordance with the cleansing action configured for this column:
A message at the end of the build notes the total number of cleansing actions:
Build Progress Indicator
The log files show the build progress using a record count. By default, this count updates after every 100 records are processed:
You can change the default increment by editing the
str.progress.report.interval parameter in the SuperCHANNEL configuration file, config.txt .
If there are errors in the build, they display on the Errors tab.
In the following example there are two warning messages:
The messages indicate that two drivers that were specified in the SuperCHANNEL configuration, config.txt , could not be found. Both of these are Space-Time Research drivers and were not required for this build:
- str.jdbc.komodo is the Space-Time Research driver required for connection to the deprecated SXV3 format, and is only available in the 32-bit version of SuperCHANNEL.
- str.jdbc.ddi is the driver for connection to data in DDI format. This driver is only available in an extended DDI version of SuperCHANNEL.
Target Schema validation failed: No CODE column defined for classification table
If SuperCHANNEL encounters a classification table without a Code column, it displays the following error message:
To resolve this issue, use the Target Attributes pane to specify which column in the classification table is the Code column:
Target Schema validation failed: No NAME column defined for classification table
If SuperCHANNEL encounters a classification table without a Name column, it displays the following error message:
To resolve this issue, use the Target Attributes pane to specify which column in the classification table is the Name column:
If there are any
SQLException error messages displayed in the Errors tab, then this indicates a serious data problem. In most cases this type of error is caused by issues with the source data.
In this example, there are two fact tables (
F_Customer) linked with a primary key/foreign key relationship. This error message indicates that the
F_Account fact table has a record with a foreign key value of
7772 that could not be found in the primary key column of the
F_Customer table. This either means that a record is missing from the
F_Customer table in the source or that the record with that ID has been skipped for some reason.
When troubleshooting this issue, a good next step is to check the Progress logs for any issues. For example:
In this case we can see that one of the records in the
F_Customer table has an invalid post code in the
Area column. As this is a hierarchy, which does not support the add to classification cleansing action, the row has been skipped:
channelled 269191 rows (out of 269192) successfully to "F_Customer",
As a result, SuperCHANNEL has been unable to link the two fact tables together, and has skipped the entire
channelled 0 rows (out of 19902) successfully to "F_Account"
The solution here is to resolve the issue in the source data by doing one of the following:
- If the value of
F_Customerrecord in question is valid, add it to the classification tables (with a suitable foreign key to the next level in the hierarchy).
- If the value of
F_Customerrecord is not a valid postcode, change it to a valid value.