Look at the approach specified here: The As-Of Table
Like you have pointed out that Month - 1 gives you Feb, it won't be able to give any other month's information since set analysis is evaluated once per table and not on each row. In order to overcome the problem, you need to create a LinkTable where you can link Previous Month's data to current Month.
Try the approach provided in the link above, but if you still have trouble, provide some sample data to help you better.
You could try to use Before function.
if your "Current" expression is Count(Distinct ID)
your "Before Month" expression would be Before(Count(Distinct ID))
and "Variance" would be Count(Distinct ID)/Before(Count(Distinct ID))-1
This will work if you have only Month (or Month/Year) Dimmention. If it doesn't work, try with Above, instead of Before.