Forum Discussion

yoshi_matsu's avatar
yoshi_matsu
Frequent Visitor
1 year ago
Solved

About the data model used for analysis between business processes

I’d like to ask a question in the Power BI community. So far, we’ve been aggregating monthly business data using a fact table structured with SCD2, built with SQL, and establishing relationships wit...
  • johnt75's avatar
    1 year ago

    Don't link the fact tables, that would destroy the star schema. Instead create a new dimension table using the unique ID common to all the tables, which I'll call LeadID.

    There are a couple of approaches you can take to create the dimension table, depending on how your process works. If you know that every row in Deal Closure and Opportunity Creation must exist in Lead Acquisition, because that is how your system works, then you can just take values from the Lead Acquisition table like

    Dim Lead = DISTINCT( 'Lead Acquisition'[LeadID] )

    If there are more columns you want to be able to slice by using the new dimension table, then you can use SUMMARIZE instead of DISTINCT.

    Link the new dimension table to each of the 3 fact tables.

    If necessary, you could create calculated columns in the dimension table to indicate whether a lead became an opportunity or a deal, e.g.

    Is Lead =
    NOT ISEMPTY ( RELATEDTABLE ( 'Lead Acquisition' ) )