Skip to main content
Skip table of contents

Registry Tables in a TDD - SuperCHANNEL

Registry tables can be used to give SuperCHANNEL information about the design of the target database, such as which tables are fact tables, and which are classifications.

When dealing with a TDD source, you can use all the same registry tables that you would use if your data was in a relational source; each registry table must be in its own delimited text file, just like all your other TDD tables. See Registry Tables for more information about the available registry tables and what they do.

Update the Control Files

The TDD format uses a set of control files that define the structure of the tables and columns in the database. The first thing you need to do if you want to use registry tables with a TDD source is to update your control files so that they include references to all the registry tables.

<database>.DBTables

This control file lists all the tables in the database, so you need to add lines relating to any registry tables in your source data. For example:

TEXT
__SUPER_CHANNEL__,F
FACTS,F
CLASSIFICATIONS,F
MEASURES,F
DATABASE_LABEL,F
COLUMN_LABEL,F
COUNT_DEFAULT,F
TABLE_LABEL,F

<database>.DBColumns

This control file lists all the table columns, so you need to add lines describing the columns in the registry tables. For example:

TEXT
__SUPER_CHANNEL__,reg_key,Registry Key,string,128,0,0
__SUPER_CHANNEL__,reg_value,Registry Value,string,128,1,0
FACTS,TABLENAME,Registered Fact Table,string,128,0,0
CLASSIFICATIONS,TABLENAME,Registered Classification,string,128,0,0
CLASSIFICATIONS,VALUECODE,Code for Display,string,128,1,0
CLASSIFICATIONS,DISPLAYNAME,Name for Display,string,128,2,0
MEASURES,COLUMNNAME,Registered Measure Column,string,128,0,0
MEASURES,TABLENAME,Measure Column's Table,string,128,1,0
DATABASE_LABEL,LABEL,Database Label,string,128,0,0
COLUMN_LABEL,TABLENAME,TableName,string,128,0,0
COLUMN_LABEL,COLUMNNAME,ColumnName,string,128,1,0
COLUMN_LABEL,LABEL,Label,string,128,2,0
COUNT_DEFAULT,TABLENAME,TableName,string,128,0,0
COUNT_DEFAULT,COLUMNNAME,ColumnName,string,128,1,0
TABLE_LABEL, TABLENAME, TableName,string,128,0,0
TABLE_LABEL, LABEL, Label, string,128,1,0

<database>.DBFiles

This control file contains a lists of files where table data is located, so you need to add the list of files that contain the individual registry tables. For example:

TEXT
__SUPER_CHANNEL__,__SUPER_CHANNEL__.csv
FACTS,FACTS.csv
CLASSIFICATIONS,CLASSIFICATIONS.csv
MEASURES,MEASURES.csv
DATABASE_LABEL,DATABASE_LABEL.csv
COLUMN_LABEL,COLUMN_LABEL.csv
COUNT_DEFAULT,COUNT_DEFAULT.csv
TABLE_LABEL,TABLE_LABEL.csv 

These source files must be located in the search path specified in <database>.DBCatalog.

<database>.DBDelim

This control file specifies the delimiters used to separate table columns. Each registry table file used must have an entry in the control file to specify the delimiter in use. For example, to specify that the files are comma delimited and that the double quote character is used to enclose values that contain a comma:

TEXT
__SUPER_CHANNEL__,2C,22
FACTS,2C,22
CLASSIFICATIONS,2C,22
MEASURES,2C,22
DATABASE_LABEL,2C,22
COLUMN_LABEL,2C,22
COUNT_DEFAULT,2C,22
TABLE_LABEL,2C,22 

<database>.DBPrimaryKeys

This control file specifies the primary keys used in different tables. It must include the primary keys for the registry tables. For example:

TEXT
__SUPER_CHANNEL__,reg_key
FACTS,TABLENAME
CLASSIFICATIONS, TABLENAME
MEASURES, TABLENAME, COLUMNNAME
DATABASE_LABEL, LABEL
COLUMN_LABEL,TABLENAME,COLUMNNAME
TABLE_LABEL,TABLENAME,LABEL 

Populate the Registry Tables

Populate the registry table files in the same way that you would populate the registry tables in a relational source.

For example:

  • The __SUPER_CHANNEL__ root table must list all the registry tables in use.
  • The FACTS table must specify all the tables in the TDD that are fact tables.
  • The CLASSIFICATIONS table must specify all the tables in the TDD that are classsifications.
  • The MEASURES table must specify all the columns in fact tables that are measures.
  • The DATABASE_LABEL table can contain a label for the database.
  • The COLUMN_LABEL table can contain labels (display names) for the fact table columns.
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.