Hi Ash,
I dont think issue is with Time dimension table. Filter for a single day and see why you have 8 records for the same day. I believe it should be because of different timestamps.
Before joining with the facts, you can have an aggregation node and select date_sap, week, month, quarter, year etc. Join this aggregation to the facts and you should get single record.
Regards,
Chandra.