• Ok...I think it makes a little more sense (to me) now.

    I think a union will work in this case:

    NONEMPTY

    (

    {

    Filter

    (

    {

    (

    [Prospect Client].[Account Number].[Account Number].ALLMEMBERS *

    [Prospect Client].[Account Name].[Account Name].ALLMEMBERS *

    [Prospect Client].[Division].[Division].ALLMEMBERS *

    [Prospect Client].[Department].[Department].ALLMEMBERS *

    [Prospect Client].[Section].[Section].ALLMEMBERS *

    [Broker].[Account Direct Broker Code Previous].[Account Direct Broker Code Previous].ALLMEMBERS *

    [Broker].[Account Direct Broker Code].[Account Direct Broker Code].ALLMEMBERS *

    StrToSet(@PreviousBroker) *

    [Broker].[Account Broker Name - Big 6].[Account Broker Name - Big 6].ALLMEMBERS

    )

    }

    ,[Broker].[Account Broker Name - Big 6].CurrentMember.name <> [Broker].[Account Broker Name Previous - Big 6].CurrentMember.name

    )

    }

    +

    {

    Filter

    (

    {

    (

    [Prospect Client].[Account Number].[Account Number].ALLMEMBERS *

    [Prospect Client].[Account Name].[Account Name].ALLMEMBERS *

    [Prospect Client].[Division].[Division].ALLMEMBERS *

    [Prospect Client].[Department].[Department].ALLMEMBERS *

    [Prospect Client].[Section].[Section].ALLMEMBERS *

    [Broker].[Account Direct Broker Code Previous].[Account Direct Broker Code Previous].ALLMEMBERS *

    [Broker].[Account Direct Broker Code].[Account Direct Broker Code].ALLMEMBERS *

    [Broker].[Account Broker Name Previous - Big 6].[Account Broker Name Previous - Big 6].ALLMEMBERS *

    StrToSet(@Broker)

    )

    }

    ,[Broker].[Account Broker Name - Big 6].CurrentMember.name <> [Broker].[Account Broker Name Previous - Big 6].CurrentMember.name

    )

    }

    )

    MDX Union Reference: https://msdn.microsoft.com/en-us/library/ms146030.aspx