Crash Magic Online
  Intersection Magic
  Map Magic
  Knowledge Base
  Contact Us


Knowledge Base Article:IMW42 

Registration keys moved to client area: Select login on the left menu bar.

Search home page  

Ambiguous variable / value in filter

Article created: Sep 19 2000, updated: Sep 19 2000

Background:  When creating a filter, the filter editor reports an "ambiguous variable" and will not let the filter be saved.

Status:  Intended behaviour - description
Keywords:   ambigous ,filter
Categories:   *Filters / queries*

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".
April 23, 2018 12:58PM

© 1999-2018 Pd' Programming, Inc - Lafayette, CO USA