Hello Dojo,
In a Service Template, I need to select only the channel row from a table, but the transport row also matches because it contains the channel name as a substring.
Example rows:
- Channel (Channel ID)
- Transport (XOS_XX_XX_Channel (Channel ID))
In the element table quick filter, excluding the transport works with `!:XOS`, but it is not working on the service template. Is there any supported way to exclude rows containing a specific substring (e.g. "XOS") at Service Template level, or is inclusion-only filtering by design?
Thanks,
Yohan Silva
Hi Yohan,
Thanks for the clear explanation of what you're trying to achieve.
At the moment, Service Templates only support inclusion-based filtering of table rows via wildcards. There is no supported mechanism to exclude rows based on a substring (e.g., "XOS"). This is why the quick‑filter syntax such as !:XOS works at element level but not in a Service Template.
However, there is one related feature that may help depending on your use case. As noted in section 4.3 of the docs:
Creating child elements in service templates
If you include a table parameter using placeholders, you can use wildcards to dynamically include only the table rows with a matching display key. If you do not want the set of rows to change dynamically, but only want to include the first match found when the service is generated, use the prefix "!1st!" before the wildcard. For example: !1st!*_BBC_*
This still works by inclusion rather than exclusion, but it can help avoid unintended matches when a more specific pattern is available.
There is also a second option that is:
From DataMiner 10.2.4/10.3.0 onwards, it is possible to reference a table row by primary key, using the prefix ^pk^ in the placeholder. For example: [element:1:param:1002:^pk^myPrimaryKey].
I hope this helps!