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.
I found the RN for the Filter feature and as far as I can tell, it should be possible with parameter as well. Some extra info:
– The use of a subscription filter is limited by the fact that only column values of the current (or a related table) can be used in the filter. It’s also possible to show or hide shapes based on a condition. The latter of these filtering options does require the shape to be created. This creation can be a performance hit when a lot of rows are present.
– Using a * in the filter will refer to the element specified in the LinkElement column (if any). While using a ** will refer to the element containing the dynamic table.
In case you can’t get it to work due to an issue in the software, you can create a task for it.
The discrete value doesn’t work for me as well
It seems that you can use “Filter” if the shapes are dynamically linked to the elements, and in such case, “Filter” will be applied to the parameter values of those elements. But not for the parameter values of the element containing the table.
It is related only to parameters, a filter like -A|element:**|AlarmLevel|=Warning works ok.