Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi all,
Is it possible to do a greater than / less than on a string in set analysis, like
SUM({$<Field= {“<= $(Variable)”}>} MeasureField)
where $(Variable) contains a string value?
If not, what should be a good work around for this?
Regards,
Björn
There is two special operators called precedes and follows that could be used in your case I think:
SUM({$<UniqueID= {“=FieldX precedes '$(Variable)'”}>} MeasureField)
Here is the documentation of precedes and follows from the manual:
All relational operators compare the values of the operands and return true (-1) or false (0) as the result. All relational operators are binary.
< | Less than | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
<= | Less than or equal | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
> | Greater than | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
>= | Greater than or equal | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
= | Equals | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
<> | Not equivalent to | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
precedes | ASCII less than | Unlike the <operator no attempt is made to make a numeric interpretation of the argument values before the comparison. The operation returns true if the value to the left of the operator has a text representation which, in ASCII comparison, comes before the text representation of the value on the right. Example: ' 11' precedes ' 2' returns true compare this to: ' 11' < ' 2' returns false |
follows | ASCII greater than | Unlike the >operator no attempt is made to make a numeric interpretation of the argument values before the comparison. The operation returns true if the value to the left of the operator has a text representation which, in ASCII comparison, comes after the text representation of the value on the right. Example: ' 23' follows ' 111' returns true compare this to: ' 23' > ' 111' returns false |
What exactly does Variable include (What String)?
There is two special operators called precedes and follows that could be used in your case I think:
SUM({$<UniqueID= {“=FieldX precedes '$(Variable)'”}>} MeasureField)
Here is the documentation of precedes and follows from the manual:
All relational operators compare the values of the operands and return true (-1) or false (0) as the result. All relational operators are binary.
< | Less than | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
<= | Less than or equal | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
> | Greater than | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
>= | Greater than or equal | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
= | Equals | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
<> | Not equivalent to | A numeric comparison is made if both operands can be interpreted numerically. The operation returns the logical value of the evaluation of the comparison. |
precedes | ASCII less than | Unlike the <operator no attempt is made to make a numeric interpretation of the argument values before the comparison. The operation returns true if the value to the left of the operator has a text representation which, in ASCII comparison, comes before the text representation of the value on the right. Example: ' 11' precedes ' 2' returns true compare this to: ' 11' < ' 2' returns false |
follows | ASCII greater than | Unlike the >operator no attempt is made to make a numeric interpretation of the argument values before the comparison. The operation returns true if the value to the left of the operator has a text representation which, in ASCII comparison, comes after the text representation of the value on the right. Example: ' 23' follows ' 111' returns true compare this to: ' 23' > ' 111' returns false |
Hi,
Can you specify exact requirement of your's.or better for string matching you can use WildMatch().
May be this helps:
Exp:
Concat({<String={ "=String>'BBB' "}>} String, '-')
May be try this
SUM(if( Field<=Variable, MeasureField))
or
SUM(if( Field<=$(Variable), MeasureField))
Variable contains one of fields of Field.
For example;
Field contains: SP_AAA, SP_BBB, SP_CCC
Variable contains: SP_BBB
IF you have greater than and lesser than parameters than you can try like this :
SUM({$<Field= {“>=$(Variable2)<= $(Variable)”}>} MeasureField)