Multiple customer dimension [closed]How to concatenate text from multiple rows into a single text string in SQL server?Inserting multiple rows in a single SQL query?Datawarehouse - How to Link dimensionsImplementing roleplaying dimension with friendly attribute names in SSAS?Customer dimension in data warehouse - mix persons with companiesData warehouse design, multiple dimensions or one dimension with attributes?joining across multiple fact tables with a dimension in betweenSSAS 3 fact tables, but only 2 relate to a certain dimensionData Warehouse - Multidimensional Model - Fact Table is Smaller than Dimension TableType 2 Dimension changes relating to another dimension
What is the white spray-pattern residue inside these Falcon Heavy nozzles?
Copycat chess is back
Can I interfere when another PC is about to be attacked?
Where to refill my bottle in India?
Why a const reference doesn't extend the life of temporary object passed via function?
When blogging recipes, how can I support both readers who want the narrative/journey and ones who want the printer-friendly recipe?
Schwarzschild Radius of the Universe
Infinite past with a beginning?
Why don't electron-positron collisions release infinite energy?
I see my dog run
Why Is Death Allowed In the Matrix?
Why is an old chain unsafe?
The use of multiple foreign keys on same column in SQL Server
Can Medicine checks be used, with decent rolls, to completely mitigate the risk of death from ongoing damage?
Draw simple lines in Inkscape
Is there really no realistic way for a skeleton monster to move around without magic?
How is it possible for user's password to be changed after storage was encrypted? (on OS X, Android)
How old can references or sources in a thesis be?
N.B. ligature in Latex
Is it legal to have the "// (c) 2019 John Smith" header in all files when there are hundreds of contributors?
How can bays and straits be determined in a procedurally generated map?
cryptic clue: mammal sounds like relative consumer (8)
DOS, create pipe for stdin/stdout of command.com(or 4dos.com) in C or Batch?
How would photo IDs work for shapeshifters?
Multiple customer dimension [closed]
How to concatenate text from multiple rows into a single text string in SQL server?Inserting multiple rows in a single SQL query?Datawarehouse - How to Link dimensionsImplementing roleplaying dimension with friendly attribute names in SSAS?Customer dimension in data warehouse - mix persons with companiesData warehouse design, multiple dimensions or one dimension with attributes?joining across multiple fact tables with a dimension in betweenSSAS 3 fact tables, but only 2 relate to a certain dimensionData Warehouse - Multidimensional Model - Fact Table is Smaller than Dimension TableType 2 Dimension changes relating to another dimension
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I am new to dwh and creating data warehouse for my company. We have a customer dimensions which we want to create.However finance team customer list Id and name are different from the CRM list ID and name.
We created a mapping table but sometimes for same finance ID we have multiple crmid How should I handle this...do I have to create two customer dimension
CRM Name
CRMID1 XXXX
CRMID2 YYYYY
CRMID3 ZZZ
Mapping table
CRMID FINID
CRMID1 FINID1
CRMID2 FINID1
CRMID3 FINID2
CRMID4 FINID3
FinTable
FINID1 XXXX
FINID2 YYYY
FINID3 ZZZ
When I create the Dimension and join these three tables
Final Dimension
ClientKey CRMID FINID
1 CRMID1 FINID1
2 CRMID2 FINID1
3 CRMID3 FINID2
4 CRMID4 FINID3
This causes duplication when I join the dimension table with Fact table and add the ClientKey in the Fact table.
Should I create Two Dimension for Client or Is their any other way I can handle it in one dimension.
sql-server data-warehouse
closed as too broad by il_raffa, Yurets, AkshayNevrekar, Rekshino, Jon Adams Mar 28 at 13:35
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
|
show 3 more comments
I am new to dwh and creating data warehouse for my company. We have a customer dimensions which we want to create.However finance team customer list Id and name are different from the CRM list ID and name.
We created a mapping table but sometimes for same finance ID we have multiple crmid How should I handle this...do I have to create two customer dimension
CRM Name
CRMID1 XXXX
CRMID2 YYYYY
CRMID3 ZZZ
Mapping table
CRMID FINID
CRMID1 FINID1
CRMID2 FINID1
CRMID3 FINID2
CRMID4 FINID3
FinTable
FINID1 XXXX
FINID2 YYYY
FINID3 ZZZ
When I create the Dimension and join these three tables
Final Dimension
ClientKey CRMID FINID
1 CRMID1 FINID1
2 CRMID2 FINID1
3 CRMID3 FINID2
4 CRMID4 FINID3
This causes duplication when I join the dimension table with Fact table and add the ClientKey in the Fact table.
Should I create Two Dimension for Client or Is their any other way I can handle it in one dimension.
sql-server data-warehouse
closed as too broad by il_raffa, Yurets, AkshayNevrekar, Rekshino, Jon Adams Mar 28 at 13:35
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
an example of the data that demonstrates the problem would be very helpful. A solution depends on what these multiple Ids mean - do they have a real business meaning, or are they just a symptom of bad data quality?
– RADO
Mar 10 at 2:41
Bad data quality.In CRM we have ID and Name however in Finance sometimes we have same CustID linked to multiple CRMID. But the team does not want change anything in terms of data.
– user6167232
Mar 11 at 13:57
Please help with this issue
– user6167232
Mar 11 at 15:01
Sorry but your example makes no sense... It shows that your map is screwed up while data itself is perfectly fine.
– RADO
Mar 11 at 15:54
Mapping table is created by finance team..And thats where the problem is coming.The CRM system came recently and during migration from old sales system to new CRM they have missed lot of CustomerID.I spoke to Finance people and they said that's the best mapping table we can create.
– user6167232
Mar 11 at 16:11
|
show 3 more comments
I am new to dwh and creating data warehouse for my company. We have a customer dimensions which we want to create.However finance team customer list Id and name are different from the CRM list ID and name.
We created a mapping table but sometimes for same finance ID we have multiple crmid How should I handle this...do I have to create two customer dimension
CRM Name
CRMID1 XXXX
CRMID2 YYYYY
CRMID3 ZZZ
Mapping table
CRMID FINID
CRMID1 FINID1
CRMID2 FINID1
CRMID3 FINID2
CRMID4 FINID3
FinTable
FINID1 XXXX
FINID2 YYYY
FINID3 ZZZ
When I create the Dimension and join these three tables
Final Dimension
ClientKey CRMID FINID
1 CRMID1 FINID1
2 CRMID2 FINID1
3 CRMID3 FINID2
4 CRMID4 FINID3
This causes duplication when I join the dimension table with Fact table and add the ClientKey in the Fact table.
Should I create Two Dimension for Client or Is their any other way I can handle it in one dimension.
sql-server data-warehouse
I am new to dwh and creating data warehouse for my company. We have a customer dimensions which we want to create.However finance team customer list Id and name are different from the CRM list ID and name.
We created a mapping table but sometimes for same finance ID we have multiple crmid How should I handle this...do I have to create two customer dimension
CRM Name
CRMID1 XXXX
CRMID2 YYYYY
CRMID3 ZZZ
Mapping table
CRMID FINID
CRMID1 FINID1
CRMID2 FINID1
CRMID3 FINID2
CRMID4 FINID3
FinTable
FINID1 XXXX
FINID2 YYYY
FINID3 ZZZ
When I create the Dimension and join these three tables
Final Dimension
ClientKey CRMID FINID
1 CRMID1 FINID1
2 CRMID2 FINID1
3 CRMID3 FINID2
4 CRMID4 FINID3
This causes duplication when I join the dimension table with Fact table and add the ClientKey in the Fact table.
Should I create Two Dimension for Client or Is their any other way I can handle it in one dimension.
sql-server data-warehouse
sql-server data-warehouse
edited Mar 28 at 14:29
user6167232
asked Mar 9 at 4:07
user6167232user6167232
49
49
closed as too broad by il_raffa, Yurets, AkshayNevrekar, Rekshino, Jon Adams Mar 28 at 13:35
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
closed as too broad by il_raffa, Yurets, AkshayNevrekar, Rekshino, Jon Adams Mar 28 at 13:35
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
an example of the data that demonstrates the problem would be very helpful. A solution depends on what these multiple Ids mean - do they have a real business meaning, or are they just a symptom of bad data quality?
– RADO
Mar 10 at 2:41
Bad data quality.In CRM we have ID and Name however in Finance sometimes we have same CustID linked to multiple CRMID. But the team does not want change anything in terms of data.
– user6167232
Mar 11 at 13:57
Please help with this issue
– user6167232
Mar 11 at 15:01
Sorry but your example makes no sense... It shows that your map is screwed up while data itself is perfectly fine.
– RADO
Mar 11 at 15:54
Mapping table is created by finance team..And thats where the problem is coming.The CRM system came recently and during migration from old sales system to new CRM they have missed lot of CustomerID.I spoke to Finance people and they said that's the best mapping table we can create.
– user6167232
Mar 11 at 16:11
|
show 3 more comments
an example of the data that demonstrates the problem would be very helpful. A solution depends on what these multiple Ids mean - do they have a real business meaning, or are they just a symptom of bad data quality?
– RADO
Mar 10 at 2:41
Bad data quality.In CRM we have ID and Name however in Finance sometimes we have same CustID linked to multiple CRMID. But the team does not want change anything in terms of data.
– user6167232
Mar 11 at 13:57
Please help with this issue
– user6167232
Mar 11 at 15:01
Sorry but your example makes no sense... It shows that your map is screwed up while data itself is perfectly fine.
– RADO
Mar 11 at 15:54
Mapping table is created by finance team..And thats where the problem is coming.The CRM system came recently and during migration from old sales system to new CRM they have missed lot of CustomerID.I spoke to Finance people and they said that's the best mapping table we can create.
– user6167232
Mar 11 at 16:11
an example of the data that demonstrates the problem would be very helpful. A solution depends on what these multiple Ids mean - do they have a real business meaning, or are they just a symptom of bad data quality?
– RADO
Mar 10 at 2:41
an example of the data that demonstrates the problem would be very helpful. A solution depends on what these multiple Ids mean - do they have a real business meaning, or are they just a symptom of bad data quality?
– RADO
Mar 10 at 2:41
Bad data quality.In CRM we have ID and Name however in Finance sometimes we have same CustID linked to multiple CRMID. But the team does not want change anything in terms of data.
– user6167232
Mar 11 at 13:57
Bad data quality.In CRM we have ID and Name however in Finance sometimes we have same CustID linked to multiple CRMID. But the team does not want change anything in terms of data.
– user6167232
Mar 11 at 13:57
Please help with this issue
– user6167232
Mar 11 at 15:01
Please help with this issue
– user6167232
Mar 11 at 15:01
Sorry but your example makes no sense... It shows that your map is screwed up while data itself is perfectly fine.
– RADO
Mar 11 at 15:54
Sorry but your example makes no sense... It shows that your map is screwed up while data itself is perfectly fine.
– RADO
Mar 11 at 15:54
Mapping table is created by finance team..And thats where the problem is coming.The CRM system came recently and during migration from old sales system to new CRM they have missed lot of CustomerID.I spoke to Finance people and they said that's the best mapping table we can create.
– user6167232
Mar 11 at 16:11
Mapping table is created by finance team..And thats where the problem is coming.The CRM system came recently and during migration from old sales system to new CRM they have missed lot of CustomerID.I spoke to Finance people and they said that's the best mapping table we can create.
– user6167232
Mar 11 at 16:11
|
show 3 more comments
3 Answers
3
active
oldest
votes
As a Data Warehouse you must have a unique customer ID.
A solution involving your operational systems is best (i.e - Master Data Management) but if this is too hard to drive (and it usually is) at least create a unique customer ID in the DWH Customer dimension.
Both the CRMID and the FINID are attributes of a customer in the Customer dimension regardless of the current relation between them (1:1 or 1:M or even M:M).
As mmarie mentioned your unique customer ID can be a combination of business keys but I strongly advise creating a separate surrogate key since as Ralph Kimball states production keys are unstablevolatile.
Another reason is that your source systems change over time (like you mentioned) even when your customers don’t so you need the ability to track and report on a customer over multiple systems and periods.
Assuming you will go for a SCD type 2 – you will want something like this:
- PK (Surrogate, time variant)
- CustomerID (Surrogate, permanent, DWH generated, unique per customer)
- CRMID (CRM business key)
- FINID (business key)
- ATTRIBUTE_1
- ATTRIBUTE_2
- START_DATE
- END_DATE
@eExpialidoshes The Problem I am facing in creating one Customer Dimension is ..Some of the Clients whose project we currently have open / lost deals are only present in CRM table but not present in Finance table as they are not our real customer with whom we get revenue. Also , finance system we have is from 2014 but the CRM system we recently purchased .They did not migrated all data from the old CRM system into new one .So we have some old projects whose customer information is not present in CRM system but are present in Finance .
– user6167232
Mar 25 at 21:34
My reply was too long so i had to open a new answer .. se below
– Expialidoshes
Mar 27 at 8:37
add a comment |
If your mapping is always 1:1 or M:1 CRM Customer:Finance Customer, then you shouldn't have to create two customer dimensions. But everyone involved will have to understand that there are multiple levels/views of customers and that this can complicate things. It is a somewhat common situation to have a difference between the marketing customer/purchase decision customer and the billing customer. These customer attributes are combined in master data management and data warehouses for a coherent combined view called a conformed dimension.
In the reporting system/data mart, you just need to define your mapping table and ultimately your single customer dimension at the level of granularity of the CRM customer ID. Just treat the FINID as a nonunique attribute of the customer
You may end up having to identify a "parent customer" so that facts at the granularity of the financial system don't duplicate data across all CRMIDs with matching FINIDs. If you can flag the parent customer (One CRMID per FinID), then you can attribute all financial facts to that parent customer CRMID and all marketing/sales facts to any applicable CRMID.
add a comment |
There is no problem mapping all described relations in a central DIM_CUSTOMERS, see 2 last records in the below sample
- CRMID FINID
- CRMID1 FINID1
- CRMID2 FINID1
- CRMID3 FINID2
- CRMID4 -1
- -1 FINID2
It seems to me your problem is more with driving cooperation between different parts of the company and its quite a common challenge in DWH projects
The DWH key job is to integrate separate silos of the organization and it takes time for different departments to understand how they affect each other.
The best way to encouragepush your finance team & CRM owner to sync data between them (after giving them a heads up regarding the problem) is simply to reportreflecting garbage data (customers not existing in the new CRM or not mapped by finance).
This will either
- Put management pressure on both players to sync entities – In which case you only need to update the -1 keys in your dimension, or
- Reflect the problem is not as important as you fill – in which case your work is done
add a comment |
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
As a Data Warehouse you must have a unique customer ID.
A solution involving your operational systems is best (i.e - Master Data Management) but if this is too hard to drive (and it usually is) at least create a unique customer ID in the DWH Customer dimension.
Both the CRMID and the FINID are attributes of a customer in the Customer dimension regardless of the current relation between them (1:1 or 1:M or even M:M).
As mmarie mentioned your unique customer ID can be a combination of business keys but I strongly advise creating a separate surrogate key since as Ralph Kimball states production keys are unstablevolatile.
Another reason is that your source systems change over time (like you mentioned) even when your customers don’t so you need the ability to track and report on a customer over multiple systems and periods.
Assuming you will go for a SCD type 2 – you will want something like this:
- PK (Surrogate, time variant)
- CustomerID (Surrogate, permanent, DWH generated, unique per customer)
- CRMID (CRM business key)
- FINID (business key)
- ATTRIBUTE_1
- ATTRIBUTE_2
- START_DATE
- END_DATE
@eExpialidoshes The Problem I am facing in creating one Customer Dimension is ..Some of the Clients whose project we currently have open / lost deals are only present in CRM table but not present in Finance table as they are not our real customer with whom we get revenue. Also , finance system we have is from 2014 but the CRM system we recently purchased .They did not migrated all data from the old CRM system into new one .So we have some old projects whose customer information is not present in CRM system but are present in Finance .
– user6167232
Mar 25 at 21:34
My reply was too long so i had to open a new answer .. se below
– Expialidoshes
Mar 27 at 8:37
add a comment |
As a Data Warehouse you must have a unique customer ID.
A solution involving your operational systems is best (i.e - Master Data Management) but if this is too hard to drive (and it usually is) at least create a unique customer ID in the DWH Customer dimension.
Both the CRMID and the FINID are attributes of a customer in the Customer dimension regardless of the current relation between them (1:1 or 1:M or even M:M).
As mmarie mentioned your unique customer ID can be a combination of business keys but I strongly advise creating a separate surrogate key since as Ralph Kimball states production keys are unstablevolatile.
Another reason is that your source systems change over time (like you mentioned) even when your customers don’t so you need the ability to track and report on a customer over multiple systems and periods.
Assuming you will go for a SCD type 2 – you will want something like this:
- PK (Surrogate, time variant)
- CustomerID (Surrogate, permanent, DWH generated, unique per customer)
- CRMID (CRM business key)
- FINID (business key)
- ATTRIBUTE_1
- ATTRIBUTE_2
- START_DATE
- END_DATE
@eExpialidoshes The Problem I am facing in creating one Customer Dimension is ..Some of the Clients whose project we currently have open / lost deals are only present in CRM table but not present in Finance table as they are not our real customer with whom we get revenue. Also , finance system we have is from 2014 but the CRM system we recently purchased .They did not migrated all data from the old CRM system into new one .So we have some old projects whose customer information is not present in CRM system but are present in Finance .
– user6167232
Mar 25 at 21:34
My reply was too long so i had to open a new answer .. se below
– Expialidoshes
Mar 27 at 8:37
add a comment |
As a Data Warehouse you must have a unique customer ID.
A solution involving your operational systems is best (i.e - Master Data Management) but if this is too hard to drive (and it usually is) at least create a unique customer ID in the DWH Customer dimension.
Both the CRMID and the FINID are attributes of a customer in the Customer dimension regardless of the current relation between them (1:1 or 1:M or even M:M).
As mmarie mentioned your unique customer ID can be a combination of business keys but I strongly advise creating a separate surrogate key since as Ralph Kimball states production keys are unstablevolatile.
Another reason is that your source systems change over time (like you mentioned) even when your customers don’t so you need the ability to track and report on a customer over multiple systems and periods.
Assuming you will go for a SCD type 2 – you will want something like this:
- PK (Surrogate, time variant)
- CustomerID (Surrogate, permanent, DWH generated, unique per customer)
- CRMID (CRM business key)
- FINID (business key)
- ATTRIBUTE_1
- ATTRIBUTE_2
- START_DATE
- END_DATE
As a Data Warehouse you must have a unique customer ID.
A solution involving your operational systems is best (i.e - Master Data Management) but if this is too hard to drive (and it usually is) at least create a unique customer ID in the DWH Customer dimension.
Both the CRMID and the FINID are attributes of a customer in the Customer dimension regardless of the current relation between them (1:1 or 1:M or even M:M).
As mmarie mentioned your unique customer ID can be a combination of business keys but I strongly advise creating a separate surrogate key since as Ralph Kimball states production keys are unstablevolatile.
Another reason is that your source systems change over time (like you mentioned) even when your customers don’t so you need the ability to track and report on a customer over multiple systems and periods.
Assuming you will go for a SCD type 2 – you will want something like this:
- PK (Surrogate, time variant)
- CustomerID (Surrogate, permanent, DWH generated, unique per customer)
- CRMID (CRM business key)
- FINID (business key)
- ATTRIBUTE_1
- ATTRIBUTE_2
- START_DATE
- END_DATE
edited Mar 25 at 9:26
answered Mar 25 at 9:21
ExpialidoshesExpialidoshes
163
163
@eExpialidoshes The Problem I am facing in creating one Customer Dimension is ..Some of the Clients whose project we currently have open / lost deals are only present in CRM table but not present in Finance table as they are not our real customer with whom we get revenue. Also , finance system we have is from 2014 but the CRM system we recently purchased .They did not migrated all data from the old CRM system into new one .So we have some old projects whose customer information is not present in CRM system but are present in Finance .
– user6167232
Mar 25 at 21:34
My reply was too long so i had to open a new answer .. se below
– Expialidoshes
Mar 27 at 8:37
add a comment |
@eExpialidoshes The Problem I am facing in creating one Customer Dimension is ..Some of the Clients whose project we currently have open / lost deals are only present in CRM table but not present in Finance table as they are not our real customer with whom we get revenue. Also , finance system we have is from 2014 but the CRM system we recently purchased .They did not migrated all data from the old CRM system into new one .So we have some old projects whose customer information is not present in CRM system but are present in Finance .
– user6167232
Mar 25 at 21:34
My reply was too long so i had to open a new answer .. se below
– Expialidoshes
Mar 27 at 8:37
@eExpialidoshes The Problem I am facing in creating one Customer Dimension is ..Some of the Clients whose project we currently have open / lost deals are only present in CRM table but not present in Finance table as they are not our real customer with whom we get revenue. Also , finance system we have is from 2014 but the CRM system we recently purchased .They did not migrated all data from the old CRM system into new one .So we have some old projects whose customer information is not present in CRM system but are present in Finance .
– user6167232
Mar 25 at 21:34
@eExpialidoshes The Problem I am facing in creating one Customer Dimension is ..Some of the Clients whose project we currently have open / lost deals are only present in CRM table but not present in Finance table as they are not our real customer with whom we get revenue. Also , finance system we have is from 2014 but the CRM system we recently purchased .They did not migrated all data from the old CRM system into new one .So we have some old projects whose customer information is not present in CRM system but are present in Finance .
– user6167232
Mar 25 at 21:34
My reply was too long so i had to open a new answer .. se below
– Expialidoshes
Mar 27 at 8:37
My reply was too long so i had to open a new answer .. se below
– Expialidoshes
Mar 27 at 8:37
add a comment |
If your mapping is always 1:1 or M:1 CRM Customer:Finance Customer, then you shouldn't have to create two customer dimensions. But everyone involved will have to understand that there are multiple levels/views of customers and that this can complicate things. It is a somewhat common situation to have a difference between the marketing customer/purchase decision customer and the billing customer. These customer attributes are combined in master data management and data warehouses for a coherent combined view called a conformed dimension.
In the reporting system/data mart, you just need to define your mapping table and ultimately your single customer dimension at the level of granularity of the CRM customer ID. Just treat the FINID as a nonunique attribute of the customer
You may end up having to identify a "parent customer" so that facts at the granularity of the financial system don't duplicate data across all CRMIDs with matching FINIDs. If you can flag the parent customer (One CRMID per FinID), then you can attribute all financial facts to that parent customer CRMID and all marketing/sales facts to any applicable CRMID.
add a comment |
If your mapping is always 1:1 or M:1 CRM Customer:Finance Customer, then you shouldn't have to create two customer dimensions. But everyone involved will have to understand that there are multiple levels/views of customers and that this can complicate things. It is a somewhat common situation to have a difference between the marketing customer/purchase decision customer and the billing customer. These customer attributes are combined in master data management and data warehouses for a coherent combined view called a conformed dimension.
In the reporting system/data mart, you just need to define your mapping table and ultimately your single customer dimension at the level of granularity of the CRM customer ID. Just treat the FINID as a nonunique attribute of the customer
You may end up having to identify a "parent customer" so that facts at the granularity of the financial system don't duplicate data across all CRMIDs with matching FINIDs. If you can flag the parent customer (One CRMID per FinID), then you can attribute all financial facts to that parent customer CRMID and all marketing/sales facts to any applicable CRMID.
add a comment |
If your mapping is always 1:1 or M:1 CRM Customer:Finance Customer, then you shouldn't have to create two customer dimensions. But everyone involved will have to understand that there are multiple levels/views of customers and that this can complicate things. It is a somewhat common situation to have a difference between the marketing customer/purchase decision customer and the billing customer. These customer attributes are combined in master data management and data warehouses for a coherent combined view called a conformed dimension.
In the reporting system/data mart, you just need to define your mapping table and ultimately your single customer dimension at the level of granularity of the CRM customer ID. Just treat the FINID as a nonunique attribute of the customer
You may end up having to identify a "parent customer" so that facts at the granularity of the financial system don't duplicate data across all CRMIDs with matching FINIDs. If you can flag the parent customer (One CRMID per FinID), then you can attribute all financial facts to that parent customer CRMID and all marketing/sales facts to any applicable CRMID.
If your mapping is always 1:1 or M:1 CRM Customer:Finance Customer, then you shouldn't have to create two customer dimensions. But everyone involved will have to understand that there are multiple levels/views of customers and that this can complicate things. It is a somewhat common situation to have a difference between the marketing customer/purchase decision customer and the billing customer. These customer attributes are combined in master data management and data warehouses for a coherent combined view called a conformed dimension.
In the reporting system/data mart, you just need to define your mapping table and ultimately your single customer dimension at the level of granularity of the CRM customer ID. Just treat the FINID as a nonunique attribute of the customer
You may end up having to identify a "parent customer" so that facts at the granularity of the financial system don't duplicate data across all CRMIDs with matching FINIDs. If you can flag the parent customer (One CRMID per FinID), then you can attribute all financial facts to that parent customer CRMID and all marketing/sales facts to any applicable CRMID.
answered Mar 15 at 21:02
mmariemmarie
4,85411330
4,85411330
add a comment |
add a comment |
There is no problem mapping all described relations in a central DIM_CUSTOMERS, see 2 last records in the below sample
- CRMID FINID
- CRMID1 FINID1
- CRMID2 FINID1
- CRMID3 FINID2
- CRMID4 -1
- -1 FINID2
It seems to me your problem is more with driving cooperation between different parts of the company and its quite a common challenge in DWH projects
The DWH key job is to integrate separate silos of the organization and it takes time for different departments to understand how they affect each other.
The best way to encouragepush your finance team & CRM owner to sync data between them (after giving them a heads up regarding the problem) is simply to reportreflecting garbage data (customers not existing in the new CRM or not mapped by finance).
This will either
- Put management pressure on both players to sync entities – In which case you only need to update the -1 keys in your dimension, or
- Reflect the problem is not as important as you fill – in which case your work is done
add a comment |
There is no problem mapping all described relations in a central DIM_CUSTOMERS, see 2 last records in the below sample
- CRMID FINID
- CRMID1 FINID1
- CRMID2 FINID1
- CRMID3 FINID2
- CRMID4 -1
- -1 FINID2
It seems to me your problem is more with driving cooperation between different parts of the company and its quite a common challenge in DWH projects
The DWH key job is to integrate separate silos of the organization and it takes time for different departments to understand how they affect each other.
The best way to encouragepush your finance team & CRM owner to sync data between them (after giving them a heads up regarding the problem) is simply to reportreflecting garbage data (customers not existing in the new CRM or not mapped by finance).
This will either
- Put management pressure on both players to sync entities – In which case you only need to update the -1 keys in your dimension, or
- Reflect the problem is not as important as you fill – in which case your work is done
add a comment |
There is no problem mapping all described relations in a central DIM_CUSTOMERS, see 2 last records in the below sample
- CRMID FINID
- CRMID1 FINID1
- CRMID2 FINID1
- CRMID3 FINID2
- CRMID4 -1
- -1 FINID2
It seems to me your problem is more with driving cooperation between different parts of the company and its quite a common challenge in DWH projects
The DWH key job is to integrate separate silos of the organization and it takes time for different departments to understand how they affect each other.
The best way to encouragepush your finance team & CRM owner to sync data between them (after giving them a heads up regarding the problem) is simply to reportreflecting garbage data (customers not existing in the new CRM or not mapped by finance).
This will either
- Put management pressure on both players to sync entities – In which case you only need to update the -1 keys in your dimension, or
- Reflect the problem is not as important as you fill – in which case your work is done
There is no problem mapping all described relations in a central DIM_CUSTOMERS, see 2 last records in the below sample
- CRMID FINID
- CRMID1 FINID1
- CRMID2 FINID1
- CRMID3 FINID2
- CRMID4 -1
- -1 FINID2
It seems to me your problem is more with driving cooperation between different parts of the company and its quite a common challenge in DWH projects
The DWH key job is to integrate separate silos of the organization and it takes time for different departments to understand how they affect each other.
The best way to encouragepush your finance team & CRM owner to sync data between them (after giving them a heads up regarding the problem) is simply to reportreflecting garbage data (customers not existing in the new CRM or not mapped by finance).
This will either
- Put management pressure on both players to sync entities – In which case you only need to update the -1 keys in your dimension, or
- Reflect the problem is not as important as you fill – in which case your work is done
edited Mar 27 at 10:10
answered Mar 27 at 8:37
ExpialidoshesExpialidoshes
163
163
add a comment |
add a comment |
an example of the data that demonstrates the problem would be very helpful. A solution depends on what these multiple Ids mean - do they have a real business meaning, or are they just a symptom of bad data quality?
– RADO
Mar 10 at 2:41
Bad data quality.In CRM we have ID and Name however in Finance sometimes we have same CustID linked to multiple CRMID. But the team does not want change anything in terms of data.
– user6167232
Mar 11 at 13:57
Please help with this issue
– user6167232
Mar 11 at 15:01
Sorry but your example makes no sense... It shows that your map is screwed up while data itself is perfectly fine.
– RADO
Mar 11 at 15:54
Mapping table is created by finance team..And thats where the problem is coming.The CRM system came recently and during migration from old sales system to new CRM they have missed lot of CustomerID.I spoke to Finance people and they said that's the best mapping table we can create.
– user6167232
Mar 11 at 16:11