Data Management Capabilities > Managing Part Structures > Windchill Options and Variants Capabilities > Assigning Expressions > Basic and Advanced Expressions
  
Basic and Advanced Expressions
With the Platform Structures module installed, you can create two types of expressions – basic and advanced. A basic expression represents the option choices that you select from a list of the choices included in the assigned options set.
An advanced expression defines a logic by using choices, operators, and functions. For example, an advanced expression can be:
[Country = Canada && Language = French] OR [Country = Switzerland && Language = German]
Without a license for Platform Structures, you can create only basic expressions.
A Windchill preference controls what type of expression is allowed for a particular context. For details about the preference, see Supported Expressions.
* 
Ability to create or modify advanced expression is an advanced capability subject to a separate license entitlement.
The following example illustrates the difference between basic and advanced expressions. Suppose that we have two options:
COLOR with choices Red, Blue, Green
SIZE with choices Small, Medium, Large
A basic expression that specifies COLOR=Red,Blue; SIZE=Small,Medium is assigned to an item. This means that when you select Red or Blue and Small or Medium in the Option filter, the item is included in the product structure. For other selections in the Option filter, the item is not included.
Using basic expressions, you cannot express the logic with the conditions combined by OR. For example, Red and Small, OR Blue and Medium. A more complex logic can be defined using advanced expressions. For information on advanced expressions, see Defining Advanced Expressions.
Switching Between Basic and Advanced Expressions
Only one type of expression (basic or advanced) can be assigned to an item. If the Supported Expressions preference is set to support both types of expressions, and an item already has assigned expressions, adding a different expression type causes the previous assignments to be removed. If the system detects this type of conflict, it issues a warning and asks you if you want to continue with adding a different type of expression.