I'd like to filter on a display key that looks like the following:
1.2.198.55.x.x/IO 1/B-IN 1/3 - B-OUT 1/4/Input/Not Applicable/TS=234.1.2.10:2100=;Source IP=10.92.0.34=;/PAT Error
I want to apply two filters:
- *234.1.2.10:2100=;*/PAT Error
- *234.1.2.11:2100=;*/PAT Error
However, the TableRowFilters are separated by semicolons, and the filters also contain semicolons.
Is there a way to encapsulate the filters so that it's clear to DataMiner that the semicolon in the filter is part of the filter value?
The ";" seperator is only partly responsible for identifying the different parts in the filter. Other parts such as the presence of a filterkeyword needs to be present as well. Otherwise it is considered part of the value, and used as such. So in your case FULLFILTER= ((DK == '*234.1.2.10:2100=;*/PAT Error') OR (DK == '*234.1.2.11:2100=;*/PAT Error')) should work fine.
EDIT: DataMiner Help also states that string values should be enclosed by single quotes (').
The initial answer did forgot to mention the fact that string-values should be enclosed by single quotes (‘). Locally similar filters worked without it, but it might solve your issue.
You can use Client Test Tool->Advanced->Dynamic Table Query to test the FullFilter part. Start with 1 comparisonsegment, run it and see if the returned result is correct (Does the returned data matches the filter, or in case of no result is this correct). Keep adding segments until the filter breaks. That way you can verify if it’s one segment breaking the filter, or if there is a bug in the filtering.
Be aware that the dynamic table query does not replace the […] parts n the filter, these will need to be filled in manually.
Additional information was found. On Visio parsing the semicolons are always seen as a separator, even when they are between single quotes.
The way to resolve it is by replacing the separator with the [sep:;$] placeholder.
Following is the one I’m trying based on your feedback, but it doesn’t seem to filter. We’re running 9.6.11
IncludedPids:1449,1419,1409|ColumnWidths:80,250,80|TableRowFilter:FULLFILTER=((DK == */TS=[property:Inbound Main Multicast]=*;/Udp Stream Loss) OR (DK == */TS=[property:Inbound Backup Multicast]=*;/Udp Stream Loss) OR (DK == */TS=[property:Inbound Main Multicast]=*;/TS Loss) OR (DK == */TS=[property:Inbound Backup Multicast]=*;/TS Loss) OR (DK == */TS=[property:Inbound Main Multicast]=*;/TS Sync Loss) OR (DK == */TS=[property:Inbound Backup Multicast]=*;/TS Sync Loss) OR (DK == */TS=[property:Inbound Main Multicast]=;*PID=[Property:PidFilter1]=*/CC Error) OR (DK == */TS=[property:Inbound Backup Multicast]=;*PID=[Property:PidFilter1]=*/CC Error) OR (DK == */TS=[property:Inbound Main Multicast]=;*PID=[Property:PidFilter2]=*/CC Error) OR (DK == */TS=[property:Inbound Backup Multicast]=;*PID=[Property:PidFilter2]=*/CC Error) OR (DK == */TS=[property:Inbound Main Multicast]=;*PID=[Property:PidFilter3]=*/CC Error) OR (DK == */TS=[property:Inbound Backup Multicast]=;*PID=[Property:PidFilter3]=*/CC Error) OR (DK == */TS=[property:Inbound Main Multicast]=;*PID=[Property:PidFilter4]=*/CC Error) OR (DK == */TS=[property:Inbound Backup Multicast]=;*PID=[Property:PidFilter4]=*/CC Error) OR (DK == */TS=[property:Inbound Main Multicast]=;*PID=[Property:PidFilter5]=*/CC Error) OR (DK == */TS=[property:Inbound Backup Multicast]=;*PID=[Property:PidFilter5]=*/CC Error) OR (DK == */TS=[property:Inbound Main Multicast]=;*PID=[Property:PidFilter1]=*/PID Error) OR (DK == */TS=[property:Inbound Backup Multicast]=;*PID=[Property:PidFilter1]=*/PID Error) OR (DK == */TS=[property:Inbound Main Multicast]=;*PID=[Property:PidFilter2]=*/PID Error) OR (DK == */TS=[property:Inbound Backup Multicast]=;*PID=[Property:PidFilter2]=*/PID Error) OR (DK == */TS=[property:Inbound Main Multicast]=;*PID=[Property:PidFilter3]=*/PID Error) OR (DK == */TS=[property:Inbound Backup Multicast]=;*PID=[Property:PidFilter3]=*/PID Error) OR (DK == */TS=[property:Inbound Main Multicast]=;*PID=[Property:PidFilter4]=*/PID Error) OR (DK == */TS=[property:Inbound Backup Multicast]=;*PID=[Property:PidFilter4]=*/PID Error) OR (DK == */TS=[property:Inbound Main Multicast]=;*PID=[Property:PidFilter5]=*/PID Error) OR (DK == */TS=[property:Inbound Backup Multicast]=;*PID=[Property:PidFilter5]=*/PID Error))