• Are you going to be capturing any further location detail in the Geography Dimension like street? Is that level of detail needed? If no, then I would not capture the Lat/Lon in this table. Based on what you have right now, the granularity of the dimension is at zip/city level. Capturing the Lat/Lon would make the dimension exponentially larger since each record would essentially have a different Lat/Lon. Assuming a customer may make the call with a cell phone, a single customer could make a call from multiple Lat/Lon even if the customer is always calling from within the same area. If the Lat/Lon is important for auditing/analysis but not used for aggregate analysis, I would just store the detail in the fact since the granularity could potentially be equivalent to the fact granularity.

    In situations where I have a detail where the granularity is very close to the granularity of the Fact, I usually just add it to the fact table. I believe details like these are referred to as degenerate dimensions. I would also add the customer number to fact as a degenerate dimension in your situation.

    If you create a dimension that is essentially 1 to 1 with the fact granularity, there is no benefit.