Ambiguous variable / value in filter
When creating a filter, the filter editor reports an “ambiguous variable” and will not let the filter be saved.
When Intersection Magic reads the contents of a filter, it looks up field names and field values from the current lookup file. This is how it validates the field names and values.
The field names are looked up from the FIELDS table in the lookup file. These names are all unique and will always be non-ambiguous, by definition.
The field values are looked up by reading the entire lookup file and finding all the possible values. Sometimes these field value names may be duplicated. The more recent the configuration, the less likely this will occur. However, sometimes it is unavoidable.
A classic example is the word “Bicycle”. This value often appears in both the TypeOfVehicle field and the TypeOfCollision field. (i.e. TypeOfVehicle=Bicycle) When this occurs the program recognizes that Bicycle could mean either 3, when in the TypeOfVehicle field, or 17 when in the TypeOfCollsion field. The filter mechanism then notifies the user and returns to editing.
The filter recognizes “dot notation”. This means that if, in the above example, you instead created the filter to read: TypeOfVehicle=TypeOfVehicle.Bicycle it will be interpreted without a problem.
To make this easier, there is an option to insert a “non-ambiguous expression into the filter editor. In addition to solving the intended problem, the resulting filter is able to be parsed much more quickly.
So, rather than pressing “insert expression”, try using “insert non-ambiguous expression”.