Search code examples
data-warehousebusiness-intelligencedimensionsdimensional-modelingfact-table

Factless Fact Table has 1:1 Relationship with Dimension Table


Data Source View

I'm reviewing old data warehouse & I have encountered unusual 1: 1 relationship between factless fact table (Fact_contact) & Dim_Incident.

In general, Fact_Contact is used for recording cases/tickets/enquiries. Some of the customers are anonymous; therefore, there are uniqueCustRef & CustomerRef "facts" that are used for distinct count.

1:1 relationship between fact & dimension tables does not feel right. Is it a recommended solution? Currently, there is no documentation why it was designed the way it was.

Thank you.


Solution

  • You might be right; this does not look right. The FactContact

    should not have the incidentId

    I do not know the requirements but logically thinking I would suggest the following;

    IncidentType - what is the type of incident that is logged
    FirstIncidentId - the first incident corresponding to the customer/IncidentType
    FirstIncidentDate - Date of the above incident
    LastIncidentId - the last incident corresponding to the customer/incidenttype - when there is only one incident you will have the firstincidentid and lastincidentid the same
    LastIncidentDate - the date of the above incident
    IncidentCount - the number of incidents for the customer/incidenttype combination
    

    Hope this helps