If you go into the memberships and change the membership to individual, then remove one of the spouses as if the couple had divorced, then run an ETL refresh you will get null membershipprogramdimid in the dim_membership table.
We’re currently evaluating this issue for a fix in a future service pack.
Steps to Duplicate
1. Locate a joint membership of two spouses. 2. Change the membership from joint to individual. 3. Remove one of the spouses, as if you are divorcing the couple. 4. Run an ETL refresh. 5. Note that the table results in null membershipprogramdimid in the dim_membershiptable