I would start by checking the SQL created when the user is not in the parameter map.
You could simulate this by just replacing your calculation above with
case when 1=2 then 1 end
as this calculation returns a null.
Notice that you can simplify your calculation. You don't need the 'else null' as a case statement returns a null if there are no true conditions within the case statement (just like my example calculation above).
When you get the SQL post it back here and we can take a look.