I'am new in DWH so I have a problem.
We have couple fact tables (5 in fact), in the first table we have Applications (when people want to buy our product they make App), then, after people make App and some checks, that's App go to another database, there App receives a new number and more checks, If everything is alright we conclude a contract (this is the second fact, Contract), App from first and second database join by UID (they have different ID), if the App did not reach the second databse (was rejected), it doesn't have UID. The third fact is SMS send, fourth Transaction, fifth operator's call.
How to join all of this?
I think so, in Facc App we have AppID (degenerate dim) from second db (during ETL I'll join two applications table by UID and insert it as one row), in Fact Contract we have AppID too, in SMS send fact containt AppID too, in Tran Fact we have contract id and Operator's call containt contract id too. Of course we have dim, some common like Customer, some not.
I thought should I join the fact tables directly or not?
Or I can aggregate what I need in FastApp, and then join the result with FactContract by AppId and use similar techniques for other facts. (here is a similar question here)
And what to do with big column in Fact like IP adress (from which App was created), device, email for confirm which was used, sms text, etc. There are many such columns, they are wide and they are needed for analysis, not often, but they are needed. I think split Fact on two, with link one-to-one.