Deriving attribute types

If the left-side of the filtering condition is of type string, it is always considered to be the name of attribute to be retrieved for every single element during the filtering step.

For example, this statement retrieves a value of attribute "5" and compares it to the variable myVariable. The type of the attribute is the same as type myVariable:

OLAPElementList list = on connection select all from dimName where ("5" == myVariable);

If you swap the left and right side of the condition, the name of the attribute to be retrieved for every single element will be stored in variable myVariable, and it will be of type string because it is compared to string literal "5":

OLAPElementList list = on connection select all from dimName where (myVariable == "5");

The code example compares numeric value 5 to the result of a function call CallFunc() for each element:

OLAPElementList list = on connection select all from dimName where (5 == CallFunc());
Such a filtering condition is a simple expression, it does not retrieve any attributes and it is independent of the selected elements.