
Michael Ross, September 15, 2025
Get the Best Solution for
Your Business Today!
Incorta is a great platform for ingesting data from multiple sources and presenting dashboards on top of that unified data. However, you might find yourself in a situation where the dimensional attributes from those sources do not conform to one another. Non-conforming dimensions could come in the form of different spellings of a customer name, different ID numbers for the same product, or any other attribute that is not consistently presented in the same manner across source systems. These data discrepancies will prevent your reports from providing a wholistic view of the business, so what can you do to prevent this situation from happening?
In an ideal state, data standards would be enforced in all source systems through data governance programs. Most companies have not reached that ideal state. Even if your company has not started a data governance journey, the best practice is to make changes to data within the source system itself rather than at the reporting layer. Data changes like fixing spelling errors should be fixed at the source. If you have source systems with multiple variations of the customer name PMsquare (ex: pmsquare, PMSQUARE, PMsquare Inc), you will not be able to easily get a true picture of your relationship with your customer PMsquare. By standardizing the true spelling of PMsquare, all your amounts will roll up correctly in your reporting.
Enterprise Resource Planning (ERP) systems are complex software applications, and it’s not always possible to start tracking new dimensional attributes in a timely manner. It may take months or years to roll out new columns in an ERP. So how do you create a conformed dimension framework in Incorta that is agile to new reporting requests and adheres to data standards?
There are four key concepts to understand when designing a conformed dimension framework in Incorta:
- Technical Design and Implementation – Design and implement a solution that fits the needs of your business while factoring in the frequency with which new records are generated, existing data architecture platforms in use, and the desired attributes to be maintained.
- Maintaining Uniqueness – There should only be one master record for the combination of data that yields a unique composite key value.
- Identifying New Values – New dimensional values could be generated by source systems each day. A process should be in place to capture those new values that need classification.
- Adding and Updating Records – As new dimensional values are added, or attributes need to be changed, there needs to be a process defined in which a team is responsible for updating the attributes of the master records.
From a technical perspective, you are going to need to create a table that will serve as the source of truth for dimensional attributes. Incorta has connectors for many different types of data sources, and you have several options where you can persist your conformed dimensions. You should evaluate if you need a solution that is easier to update versus one that is more locked down. If you want to quickly update values, it might make sense to create a spreadsheet in Google Sheets or using Excel on Microsoft SharePoint. If you need something that’s less susceptible to data entry errors, you might opt for a traditional database like SQL Server or Oracle. Those options might be easier to integrate with existing data pipelines to fill in the list of values, but you will spend more time writing scripts to keep the database tables up to date. Another option to explore is using the writeback capabilities of Incorta to view the data and make changes within a single Incorta dashboard.
During your design phase you will need to determine which attributes you want to define in your conformed dimension. Using product as an example, you might bring in the Source Name, Product Number, and Product Name from each source system. You might consider adding a Conformed Product Name that removes any variances in spelling or capitalization. A set of product hierarchy columns could also be created to capture the desired roll ups of product data. These seven columns can greatly enhance your reporting capabilities by augmenting the data you have in your source systems with cleansed and enriched attributes to unify your product master data.
SOURCE_NAME | PRODUCT_NUMBER | PRODUCT_NAME | CONFORMED_PRODUCT_NAME | PRODUCT_HIER_LEVEL1 | PRODUCT_HIER_LEVEL2 | PRODUCT_HIER_LEVEL3 |
Oracle | 12345 | Widget Alpha | Widget A | Primary Products | Widgets | Widget A |
SAP | 912345 | gadget A | Gadget A | Secondary Products | Gadgets | Gadget A |
Oracle | 56789 | Gadget B | Gadget B | Secondary Products | Gadgets | Gadget B |
SAP | 192837 | Widget A | Widget A | Primary Products | Widgets | Widget A |
Once you’ve designed your table structure, you will need to determine how to generate an initial list of unique values. It is important that each unique dimensional value is only stored once in the conformed dimension table to maintain referential integrity when joining the data in Incorta. You might have two systems with two separate lists of products. Is there a chance a product number could be repeated between the systems, but does not represent the same product? If so, you’ll need to include a column indicating the source system where the record came from. If there’s no chance of conflicting product numbers (ex: one source stores product numbers with 9 digits and the other stores them with 10 digits), you don’t necessarily need to include a source system designator, but it could still be beneficial for quickly identifying the source of the values.
Once you have completed your initial classification, it’s time to upload that data into an Incorta table. The initial data load will give you access to what you’ve defined, but what happens as new products are developed and need to be classified?
Depending upon the speed with which new products are created, or attributes describing the products change, you might be inclined to use a more manual or automated process. If only a few new products are added in a month, it might be easier to manually input the new product data into the classification table. If you have hundreds or thousands of products being created each month, you will probably be better served by creating a script that loads the unique key values that don’t already exist in the table. You’ll still have to manually fill out the enhanced attributes, but you will know exactly which products you need to classify.
Updating those records manually will be an ongoing process. A team that will be responsible for the upkeep of the master data should be identified. These people will be the ones that will classify new products, update classification of old products that might require attribute changes and provide input on changes to table structure as new attribute columns are desired to be added to the table. A service-level agreement (SLA) should be reached between the parties responsible for updating the data and the business. The number of changes required on an ongoing basis should be considered when developing this SLA. It might not be feasible to update every single product due to time constraints and the rate of changes to the data, but priority could be given to specific products that will have the biggest impact on revenue or profitability.
Now that the table has been built and loaded with data, we can begin to think about how we can use Incorta to help identify and classify new products.
An Incorta dashboard could be built to quickly highlight the products that have the biggest impact on revenue or profitability. Updating the classification of those products will ensure you are spending your time wisely by focusing on the most impactful products. If you have one million dollars in sales across 50 products, but $900,000 of that comes from five products, it would be more impactful to ensure those five products are perfectly classified first. The remaining 45 products can be classified based on their total sales amount as you have time.
By following this framework, you can begin the journey to harmonize your dimensional data across your source systems with the help of Incorta. Most companies struggle with keeping data aligned across source systems, but Incorta can help alleviate some of that burden from a data management and reporting perspective. Are you experiencing some of these same issues? Are you looking for a data and reporting platform that can help unify data from multiple data sources? Let us know, and we can give you a demo showcasing the benefits of Incorta.