scabral1979
Programmer
Hi,
i have the following MDX query that uses parameters from an SSRS report to produce a result set:
WITH MEMBER PREM AS
StrToMember("[Measures].[" + @PremiumType+ " Premium]")
SELECT NON EMPTY
{PREM}
ON COLUMNS,
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 *
[Broker].[Account Broker Name Previous - Big 6].[Account Broker Name Previous - Big 6].ALLMEMBERS *
[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
AND ([Broker].[Account Broker Name Previous - Big 6].Members = "Marsh" OR [Broker].[Account Broker Name - Big 6].CurrentMember.name = "Marsh")))
ON ROWS
FROM ( SELECT ( - { [Broker].[Account Broker Name Previous - Big 6].&[] } )
ON COLUMNS
FROM ( SELECT ( STRTOSET(@Operations, CONSTRAINED) )
ON COLUMNS
FROM ( SELECT( STRTOSET(@Division, CONSTRAINED) )
ON COLUMNS
FROM ( SELECT ( STRTOSET(@DateQuarter, CONSTRAINED) )
ON COLUMNS
FROM ( SELECT ( STRTOSET(@ProductLineGroup, CONSTRAINED) )
ON COLUMNS
FROM [Broker Premium])))))
the query gives me what I need, however, in the filter clause there is an OR statement that checks if the value of either the 'Account Broker Name Previous - Big 6' or the 'Account Broker Name - Big 6' = "Marsh". Instead of hard coding the value, i want to check a multi-valued parameter that will store the names pf the brokers. I need to somehow replace the OR statement to filter the result set based on what is coming in from the parameter to see if either field has the value(s) from the parameter.
so i basically need to replace the filter clause like this:
[Broker].[Account Broker Name Previous - Big 6].Members = STRTOSET(@Broker) OR [Broker].[Account Broker Name - Big 6].CurrentMember.name = STRTOSET(@Broker)
can this be done using MDX?
i have the following MDX query that uses parameters from an SSRS report to produce a result set:
WITH MEMBER PREM AS
StrToMember("[Measures].[" + @PremiumType+ " Premium]")
SELECT NON EMPTY
{PREM}
ON COLUMNS,
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 *
[Broker].[Account Broker Name Previous - Big 6].[Account Broker Name Previous - Big 6].ALLMEMBERS *
[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
AND ([Broker].[Account Broker Name Previous - Big 6].Members = "Marsh" OR [Broker].[Account Broker Name - Big 6].CurrentMember.name = "Marsh")))
ON ROWS
FROM ( SELECT ( - { [Broker].[Account Broker Name Previous - Big 6].&[] } )
ON COLUMNS
FROM ( SELECT ( STRTOSET(@Operations, CONSTRAINED) )
ON COLUMNS
FROM ( SELECT( STRTOSET(@Division, CONSTRAINED) )
ON COLUMNS
FROM ( SELECT ( STRTOSET(@DateQuarter, CONSTRAINED) )
ON COLUMNS
FROM ( SELECT ( STRTOSET(@ProductLineGroup, CONSTRAINED) )
ON COLUMNS
FROM [Broker Premium])))))
the query gives me what I need, however, in the filter clause there is an OR statement that checks if the value of either the 'Account Broker Name Previous - Big 6' or the 'Account Broker Name - Big 6' = "Marsh". Instead of hard coding the value, i want to check a multi-valued parameter that will store the names pf the brokers. I need to somehow replace the OR statement to filter the result set based on what is coming in from the parameter to see if either field has the value(s) from the parameter.
so i basically need to replace the filter clause like this:
[Broker].[Account Broker Name Previous - Big 6].Members = STRTOSET(@Broker) OR [Broker].[Account Broker Name - Big 6].CurrentMember.name = STRTOSET(@Broker)
can this be done using MDX?