I have a table which keeps the information about some objects, like Object Name, Coordinates, and Object Type. I’m going to dynamically display shapes in Visual Overview using the info from this table: coordinates and the object type (there are few different types: A, B, C … H). The user will pick the Object Type (I’m using the session variable named objectType for that) and shapes will be displayed on the map, representing the Objects. So I’m using the XPos shape data field, value is [param:*,500] and SubscriptionFilter data filed, value is Value=503===[var:objectType] (500 is the TableParameterID and 503 is the Parameter Id of the Object Type). Everything is working fine.
It is stated in the help that “it is possible to apply a row filter when dynamically positioning shapes based on table data. Using this filter can considerably increase overall performance.” I was trying to use the Filter instead of SubscriptionFilter: Filter <A>-A|Element:**|Parameter:503|= [var:objectType] but it doesn’t work for me. What am I doing wrong?
And side question: In my case, I expect that my table will be quite big (more than 1000 rows) so I would like to know what the benefit/difference is of using Filter instead of SubscriptionFilter in my case.
Any help would be appreciated, thank you!
I'd have to check this myself, but it's possible the condition only works on the discrete value and not its display value. Meaning that your [var:objectType] might have to contain the numeric value corresponding to your discrete display value. Maybe you can try that out?
Something else that you can maybe check is to hardcode the Element in your condition rather than using "**", to see if the issue lies there.
The difference in performance will be on the server as they won't have to filter the table. However, they will need to send the entire table and cube will have to filter it, lowering the performance on your client and increasing the bandwidth usage over the server -> client network connection.