The value of
dimval.match.use_spec
determines how CAS performs property
to dimension value matching. As mentioned earlier, setting
dimval.match.use_spec
to
true
instructs CAS to use a record's
dimval.spec
for matching and
false
does not use the record's
dimval.spec
.
No matter how
dimval.match.use_spec
is set, CAS first attempts to
match properties to dimension values using an exact matching approach. If an
exact match fails, CAS attempts to match properties into range boundaries if
they have been defined.
These default settings work appropriately where all range dimension values in a hierarchy are numeric and the property values in the data records are numeric.
However, there may be infrequent cases where setting it to
true
is necessary if you want CAS to match a
dimval.spec
against a string property that may appear
in a hierarchy that contains dimension values that are strings and dimension
values that are numeric ranges.
For example, suppose you have the following Price dimension where the first refinement level is made of dimension values that are strings and the next refinement level is made up of dimension values that are numeric ranges:
If a data record has a price property with a value of 15, you want
that record to match to the range dimension value of $10-20. In this case, you
specify
dimval.match.use_spec
to
true
so that CAS first tries to match 15 against the
non-range dimension values. CAS fails to match a numeric value of "15" against
the "Inexpensive" dimension value, but succeeds in matching it against the
$10-20 range dimension value.