Unfortunately, the information you're interested in actually pertains to that which is missing from your data source... There are generally two paths to take here:
1) Deal with the missing data within Tableau (this concept is known as Domain Padding, Domain Densification, or Domain Completion)
2) Modify your data before pulling into Tableau so that you have access to all possible date-user combinations.
I find the first option to be incredibly complex, with lots of advanced formulas and confusing concepts.
Ultimately, I'd recommend you incorporate custom SQL to make your data able to answer the question as soon as you pull it into Tableau.
To do this, you would need to find a source containing all time-intervals values you are interested in... if you only care about a month-level, you just need a source with all months present. You would then need to CROSS JOIN that table to a table of all your users, and then you can create a yes/no field to indicate whether each user did or did not log in for each month.
Using data from your attached example, it'd look something like this:
Date User Log In? 4/1/2012 Carla 1 5/1/2012 Carla 1 6/1/2012 Carla 1 7/1/2012 Carla 1 8/1/2012 Carla 1 9/1/2012 Carla 0 10/1/2012 Carla 0 11/1/2012 Carla 0 12/1/2012 Carla 0 1/1/2013 Carla 0 2/1/2013 Carla 0 3/1/2013 Carla 0 4/1/2013 Carla 0 4/1/2012 Jacques 0 5/1/2012 Jacques 0 6/1/2012 Jacques 0 7/1/2012 Jacques 0 8/1/2012 Jacques 0 9/1/2012 Jacques 0 10/1/2012 Jacques 0 11/1/2012 Jacques 0 12/1/2012 Jacques 1 1/1/2013 Jacques 0 2/1/2013 Jacques 1 3/1/2013 Jacques 1 4/1/2013 Jacques 1
You could certainly make the data more robust (create a record for each day there was a login, add more measures, etc.) But as long as the rows with 0's exist, you will now have access to the information within Tableau without having to do anything supremely tricky.
If you want to pursue the option within Tableau, Jonathan Drummey's blog Drawing with Numbers has some excellent information and insights on tackling that challenge.
Hope that helps!