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