Bookshelf Home | Contents | Index | PDF

### Order of Conditions in Multiple-Condition Pricing Tables

If you set up a multiple type Attribute Adjustment record, then you must consider the processing order of the attributes (condition dimensions).

You can use the Sort Order and Sort Method fields of the Dimensions record to specify the order in which attributes (condition dimensions) are processed. The system assigns the dimension with the least numerical sort order value the highest processing priority while performing a lookup against the rules (the Conditions view). The sort method determines whether the values in the dimension are processed in ascending or descending order.

Processing order is important because:

• The order of attributes (condition dimensions) affects the lookup of the price adjustment.
• If there are multiple matches of rules (Conditions view), the order of the attributes (condition dimensions) determines which rule is applied.
• The order of attributes (condition dimensions) affects processing speed.

#### Order of Conditions and Pricing Calculations

In a single-type attribute adjustment, each attribute (condition dimension) contributes to the price adjustment in isolation from the rest of the other attributes (condition dimensions). This means that the sort order of the attributes does not impact the price in any way.

Assume you are using a single-type attribute adjustment for attribute pricing. A product has a list price of \$100 with a 50 percent markup on the large size and a \$10 markup for the color gold. The system calculates the price of the product by considering the each attribute adjustment in isolation, so the price of the product is \$100 + (50% of \$100 for the size large) + \$10 (markup for gold color) = \$160. The system does not consider the sequence in which the adjustments need to be applied.

#### Order of Conditions and Precedence

In addition, the selection order also determines the relative importance of attributes in case of ties.

If two or more rules in an attribute adjustment are both valid, the rule with the more explicitly defined attribute values (not blanks) in the left-most columns takes precedence. For example, if there are four fields for each record, and the first two fields of both records match what has been selected, the engine returns the record that matches the first condition going from left to right; the dimension with least numerical sort order value is processed first.

#### Order of Conditions and Processing Speed

The left-most condition in each rule has the greatest impact on processing speed. If it does not make a difference in the final price, to speed processing, follow these general rules:

• Give the lowest sort orders to conditions with the most enumerated values.
• Do not give a condition a low sort order if it is flagged as Allow Any.
• Do not give conditions a low sort order if you allow wildcards in the condition.

CAUTION:  Pricing administrators are responsible for correctly setting up the sort orders of the dimensions. Any duplicate or blank sort order values for condition dimensions with the Allow Any flag turned on can give unpredictable results.