Homogeneous versus heterogeneous column naming

Suppose the data warehouse has information from two source systems, and in one source system regions are identified by column name Region_id and in the other the column name is Reg_id, as shown in the diagram below. These naming inconsistencies occur because source systems use different naming conventions to name the data they collect.

Though the Region_id and Reg_id columns have different names, they store the same data: information about regions. This is called heterogeneous column naming.

The data for the Lookup_Region table came from a different source system than the data for the Lookup_Call_Ctr and the source systems have different naming conventions. This explains why the same information about regions is represented by two columns with different names.

When you define facts and attributes in MicroStrategy Developer, consider the heterogeneous column names that may exist in your source systems. In order for reports to retrieve accurate and complete results, heterogeneous columns must be mapped to their corresponding facts and attributes.

For example, if you create a Region attribute given the tables in the example above, you must map both the Region_id and Reg_id columns to the attribute so all information about regions is calculated correctly and displayed on reports when the Region attribute is used.

For consistency, it is a good idea for columns that contain the same data to have the same column name. This is called homogeneous column naming. In this case, the Region_ID column has the same name in both tables, as shown in the following diagram:

Just as it is possible for the same attribute data to exist in different lookup tables, it is also possible for the same fact data to exist in different fact tables. A fact column may or may not have the same name in different tables, as shown below: