We are about to design a data warehouse in which the computed measures in fact tables are updated monthly, but often there is no transaction for most customers.
Assume that our model has one Fact table and two Dimensions, say d1 and d2 that ...
- d1 contains customers information and has 9,000,000 members
- d2 represents transactions information and has 1,000 members
In real-world of the business that we are trying to model; d2 is very sparse for customers, i.e. most customers may have done just one or even no transaction by month.
I want to know that for months that a customer had not done any transaction, if I should insert a row for each transaction types for that customer with zero value for the specified measure in fact table?
- If yeah, just a few portion of the about 9E9 rows have meaningful and useful information and it seems that the fact table would have been bursting!
- If nay, how should I handle information of a user that had no transaction for some months in a year in the analyses that I will have done "Group by" on month and filter or prompt on customers, years and transaction types? In other words, in this case how can I handle not existing (logically zero) values to be interpreted as zero in my analyses?