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.