Model the data you have, and the data you want
DataLens keeps two models and the mapping between them. The source model is discovered from what actually arrived. The target model is the shape you have decided on. The mapping is where the disagreement between those two gets resolved, explicitly, once.
Three surfaces
Source model
Entities and relationships inferred from the datasets you loaded. Candidate keys and foreign-key relationships are proposed from the values, and you confirm or reject each one.
Target model
The schema you actually want, designed on a canvas. Entities, attributes, types, keys and relationships — including junction tables where a real many-to-many exists.
Semantic model
Business meaning layered over the physical shape, so “active customer” means one thing across every chart and product built on top of it.
Mapping, with the matches suggested
The mapping surface puts the source model and the target model side by side and asks you to connect them. Where a match is obvious from names, types and value overlap, it is proposed with a confidence and the evidence behind it. Where it is not obvious, the field stays unmapped and visible rather than silently defaulting to null.
Unmapped required fields are treated as an unfinished mapping, not a runtime surprise. You find out at design time that the target has a column nothing in the source can fill.
What the modelling stage gives you
Relationship discovery
Foreign-key candidates found by comparing values across datasets, with match rates reported so a 60% overlap is not presented as a relationship.
Views
Derived datasets defined against the model rather than against raw columns, so they survive a source change that renames a field.
Junction tables where they belong
A many-to-many is modelled as a junction table. The platform will not offer to hide one in a delimited column.
Model versioning
A model is part of a release, so the mapping that was live when a number was produced is recoverable.
Data modelling questions
Do I have to build a model before I can use my data?
No. Loading, profiling, cleaning, charting and sharing all work on a dataset with no model at all. Modelling is what you do when several sources have to agree with each other.
Where do the suggested relationships come from?
From the values. Columns are compared across datasets for type compatibility and overlap, and a candidate relationship is proposed with the match rate that produced it.
Can I import an existing schema?
A database connection brings its schema with it, which becomes the starting point for the source model rather than something you retype.
See it on your own data
DataLens is in private beta. Bring a file, a database or an API and work through the whole lifecycle in one sitting.
Request beta access