• If you have rows but null columns then it's because the calculated member is silently erroring, and that will be indirectly related to the multiple parameter values.

    If this is working:

    STRTOSET ("{" + @SelectionActivite + "}" ))

    and this is not working:

    StrToValue ( @SelectionGeographie + ".Hierarchy.Currentmember.Uniquename" )

    It's because it is not appending the ".Hierarchy.Currentmember.Uniquename" to each of the multiple values in the parameter. That code is attempting to apply that suffix to a whole "array", rather than to each member of the array which is what you want.

    I've solved this similar issue by making the value of each parameter have that as a stiring value.

    For example, if you are using a dataset to populate the available values of @SelectionGeographie, and the dataset is coming from a SQL query then it's trivial to append the string ".Hierarchy.Currentmember.Uniquename" to the column results in the returned dataset directly in SQL.

    select Cast(column as varchar(100)) + ".Hierarchy.Currentmember.Uniquename"

    If you are returning a dataset with MDX or DAX, you might need to get creative. You could use a calculated column in the SSRS properties of the dataset and just append the string ".Hierarchy.Currentmember.Uniquename" in there. That might be the simplest way to do it.

    You could also query the cube via a linkedserver OpenQuery() call (within a stored proc) which would pull cube results back to SQL where you could then trivially append the ".Hierarchy.Currentmember.Uniquename". I've gone with the second option for example to return a list of fiscal periods in order to populate available values of a parameter with a useful reverse-chronological order. Extracting the members in the cube dimension gives me something like "2012-P01" but from there I need to get a member reference that looks more like "[Fiscal Calendar]."[Fiscal Calendar].[2012].[Period 1]" so there's a little string manipulation in the SQL to do that.

    It's also a useful way to populate the default value of that parameter because the current fiscal period is the first entry in the dataset (it's in reverse chronological order so newest is first) and helps the user run the report without first having to select a period, but using the same dataset for the "available values" also provides them with an opportunity to change the drop-down selection to view historical periods.