Hello,
This is Kamran, I have more than two years of experience in software development like desktop, web based, sql database design and maintenance, and also have experience in developing the data warehouses. I used microsoft power BI, and tableau for reporting and used ssdt for the etl process to transfer data from relational database to data warehouse database (star schema). I am going to publish a research paper on real time data warehousing, working on that paper. I am new freelancing but i have the experience. I provides the work with quality and satisfaction. If you give m a chance to work with you i will provide you quality work and you will become satisfied with my work.
According to your questions.
My answer is granularity depends on the situation or according to business work. suppose in a state bank we want to keep the final balances of the other banks. here we will keep only one row for one bank which will keep in the fact table bank_id, Bank_name, Branch_Code, Debit, Credit, Final_Balance, Date, Row_id(degenerate_dimension, City, Region),
its dimension tables will be date(which will contain year, month, day, day of the year, month of year, day of the week),
Region(Id, Reg_Name,Description )
City(ID, City_Name, Description)
for POS(Point of Sale)
POS_Fact(Row_Num(DD), Prod_ID, Prod_Name, Sale_price, Qty, Total_Price, Date_Key(FK), Godown_Key(FK), Promotion_Key(FK))
Here attributes which are FK that are the dimensions.
We can discuss more on chat.