My question is if I want to find average sales of a location for a month Should I add average_sales column in fact table and if i want to find sales done using the membership card should I add corresponding field in fact table?
I would suggest that for average sales calculations these are done in a chart in the UI. I wouldn't precalculate in the load unless your data volume enormous and calculation times are slow. The only thing i can see missing from your data design is that date_id is not included in Sales but I'm sure you'd realise that quickly enough when you sit down and do it.
Keep membership_card where it belongs, in the customer table.