Our sales representatives call Leads to propose services. Leads are stored in Crm with attributes: LeadId, PrimaryContactNumber, SecondaryContactNumber. All calls are done via Teams and recorded. Calls could be extracted via Microsoft Graph Api and have attributes: CallId, UserId, CalleeNumber, CallerNumber, Duration. Users have these attributes: UserId, Username, Email. How can I generate LINK (relation between User, Lead) using data vault modeling when foreign keys are not known? I thought my design should look like this: User(hub)-Call(link)-Lead(hub), but my call has only userId, leadId could only be inferred from one of the Lead attributes(PrimaryContactNumber or SecondaryContactNumber) What is the best solution to this problem? Or should I model Call as a hub aswell and perform filter when loading data to datamart?
How to create the LINK in data vault without having strong relationship keys (Foreign Keys)?
883 Views Asked by DmitriBodiu At
1
There are 1 best solutions below
Related Questions in DATA-MODELING
- Best Practice for adding columns to a Table in Oracle database
- How to design table to store user settings?
- Anchor modeling - tie: make first role?
- Remove constraint and table name version details in sql developer data model
- How to model data for in-memory processing
- Can inheritance be modelled in app engine datastore by same kind and different properties?
- App engine datastore denormalization: index properties in the main entity or the denormalized entity?
- How to properly install grib-api and jasper library to run flexpart model in ubuntu x64?
- Phantom DSL modeling case classes
- Granularity level in clustering key( high unique values)
- Web analytics customer segmentation data modeling with Cassandra?
- Data modelling ( secondary index vs clustering key )
- maximum secondary indexes on a columnfamily
- Dynamodb data model for process/transaction monitoring
- Read before write in cassandra
Related Questions in DATA-WAREHOUSE
- Big data with spatial queries/indexing
- Joining date and time field in Tableau
- Talend Open Studio for Big Data
- spark stream and spark sql with data warehouse
- Errors in the OLAP storage engine: The attribute key cannot be found when processing
- Anchor modeling - tie: make first role?
- Is star schema still necessary for a big-data-warehouse?
- How to batch export raw data from Omniture (SiteCatalyst or Adobe Analytics)
- Omniture Data Warehouse Segments Issue
- Plotting data cubes
- SQL Server Storing DateTime as Integer
- When we use Datamart and Datawarehousing?
- How to merge two or more queries with different where conditions? I have to reuse the code which is being used in 1st where code
- Structural difference between Relational Databases vs. Multidimensional Databases
- Shell Script to Validate Filename
Related Questions in DATA-VAULT
- Using Datavault modelling before the use of Kimball methodology for a datawarehouse
- How to build a Multi-Active Satellite table from a table containing json query?
- Data Vault Modelling
- How to handle data vault hubs with no business key?
- Populating Effectivity Satellites and handling out of order change events
- Data Vault 2.0 in SQL Server
- Storing dictionary values in the Data Vault DWH
- How can I monitor a CSV file in Azure blob store for newly added records, similar to unix "tail -f"?
- Convert Data Vault model into Dimension Modelling
- Data Vault Model and Lookup Tables
- Data Vault, Links between hubs and lookup tables
- Datavault: How to get hashes for foreign key relationships (populating link tables)
- Datavault - hard rules (rawvault) vs soft rules (businessvault)
- How to store a not partly unique primary key in a data vault?
- Differences between Data Vault and Dimensional modeling?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
A call is not a business entities, it's rather a relation between a sales person and a lead. So, your first thought is right.
To answers your question, you might want take a look at the zero/ghost records concept. http://roelantvos.com/blog/unknown-keys-zero-keys-or-ghost-keys-in-hubs-for-dv2-0/
Basically, add a "Unknown" entry in your Lead(Hub). Then, when you generate the link and the Lead is not known, simply link it to the unknown entities. Make sure you add a satellite to you link, so you can track the period it was unknown, and when it is known.