Eric, you might find this helpful: Time series on items between a start and end date - Tableau Talk
There are some links it there to longer threads offering several solutions.
Hope this helps,
Coming from a database world, I would try to do this by generating one row per month per client period with custom SQL. See how in technique #1 in The Cross Join Collection.
What is your data source?
I gladly write the mentioned custom SQL if you share some dummy sample data.
Ps. This is a popular question, which is collected in The specified item was not found.