I'm quite new to creating visios for DM, so forgive me as I think this is probably very simple, but I've tried every syntax I could find in the docs, using both SubscriptionFilter and ChildrenFilter at various levels of groups.
I'm creating a grid of children objects from a table of an element, the table param ID is 5500, the column in that table I want to filter by is 5504, if the data in that column is 'Enabled' I want to see that row as one of the children, if it's not then I don't want to see it.
I won't bother to post all the syntaxes I've tried here, but if someone could tell me if I can use 'ChildrenFilter' and if it needs to be at the top level Children group, or the second level child group, and what exactly the syntax is with an example for this I'd be most grateful indeed!
Thanks, James.
Hi James,
Since you need to work with wildcards, I believe that the best approach is using the shape data SubscriptionFilter . This shape data is defined at group-level shape data, so it is not required to update the child shape.
Based on your use case, the subscription could be as follows:
SubscriptionFilter: value=5504 == Enabled
Keep in mind that if the column parameter is of type discreet (numeric text), then you will need to map the numeric value. Below an example of discreet parameter:
<Param id="5504" trending="true">
<Name>tableParamName</Name>
<Description>tableParamName</Description>
...
<Type>read</Type>
<Interprete>
<RawType>numeric text</RawType>
<LengthType>next param</LengthType>
<Type>double</Type>
</Interprete>
...
<Measurement>
<Type>discreet</Type>
<Discreets>
<Discreet>
<Display>Disabled</Display>
<Value>0</Value>
</Discreet>
<Discreet>
<Display>Enabled</Display>
<Value>1</Value>
</Discreet>
</Discreets>
</Measurement>
</Param>
For the above example, the subscription filter should be:
SubscriptionFilter: value=5504 == 1
Hope it helps.
Thanks so much, so I’ve used the SubscriptionFilter and found that it is indeed 1 and 0 not Disabled/Enabled, I was just convinced it would be as it read out, but good to know.
One further follow up; can I have multiple filters? Say I want only the enabled items showing (as we’ve now achieved) but can I then also allow users to further filter by the switch name, which is another column in the table? I know how to get the input from the user, it’s just a matter of how I can add a second filter ontop of the current one, what’s the syntax for that?
Hi James,
You can combine multiple conditions using fullFilter:
https://docs.dataminer.services/user-guide/Basic_Functionality/Visio/reference/Dynamic_table_filter_syntax.html#fullfilter
Hope it helps.
And for the next step it would be good to know how to use a wildcard too, so to filter the column data so only results starting with “ABC”, such as “ABCDHD” and “ABCDDDD” etc are shown.
This is because there’s a second table that has all the TS Inputs for this table which has the list of TS Switches, so I’ll need to iterate through each TS Input for each TS Switch to display all inputs associated with all switches.