If balance < 100 then risk = "high"
,
then add balance
as the condition term and risk
as the action term.
If balance < 100 then risk = "high"
,
the expression for balance
is <
100
, and the expression for risk
is =
"high"
.
d
and dt
,
respectively.
Data Type
|
Punctuation Needed
|
Example
|
---|---|---|
Character
|
Enclose character strings in either single or double quotation marks.
|
='Gold Account' ="Ineligible" ="d'oscail" |
Date
|
Enter Date values by using the format DDMMMYYYY. Enclose each value in quotation marks followed by
d .
|
='01AUG2015'd >='31AUG2015'd |
Datetime
|
Enter Datetime values by using the format DDMMMYYYY:HH:MM:SS. Use 24-hour clock notation.
Enclose each value in quotation marks followed by
dt .
|
='01AUG2015:15:00:00'dt <='31AUG2015:15:00:00'dt |
Boolean
|
Boolean values are not enclosed in quotation marks. Enter only
True or False .
|
=True =False |
Operator
|
Definition
|
Example
|
---|---|---|
*
|
Multiply
|
0.085 *
sales |
/
|
Divide
|
amount /
5 |
+
|
Add
|
num + 3 |
–
|
Subtract
|
sale - discount |
=
|
Equal to
|
= maxTriesAllowed |
+value
|
Leading plus1
|
+60
|
^=
|
Not equal to
|
insufficientFunds
^= True |
>
|
Greater than
|
daysLate
> 5 |
<
|
Less than
|
num <
8 |
>=
|
Greater than or equal
to
|
balance
>= 1000 |
<=
|
Less than or equal to
|
balance
<= 250 |
IN (value-list)
|
Equal to an item in value-list
|
in ('high','medium','low') |
NOT IN (value-list)
|
Not equal to an item
in value-list
|
not in (10,20,30) |
LIKE 'pattern-matching-expression'
LIKE ('pattern-matching-expression','pattern-matching-expression')
|
If the term’s
value matches pattern-matching-expression,
the result is true.
|
like 'HS%PP' like ('_976%','_223%') |
expression AND expression
|
If both expressions
are true, the result is true.
|
dateExpired
>= '01AUG2015'd AND dateExpired <= '31AUG2015'd |
expression OR expression
|
If either expression
is true, the result is true.
|
dateEnrolled
>= '01JAN2015' OR member = True |
1The application supports the leading plus (+) operator in action expressions only. |
Character
|
Description
|
---|---|
underscore (_)
|
Matches any single character
|
percent sign (%)
|
Matches any sequence of zero or more characters
Note: Be aware of the effect of
trailing blanks. To match values, you might have to use the TRIM function
to remove trailing blanks.
|
any other character
|
Matches that character
|
LIKE Expression Example
|
Matching Results
|
---|---|
like 'Sm%' |
Smith, Smooth,
Smothers, Smart, Smuggle |
like '%th' |
Smith, Smooth |
like 'S__gg%' |
Smuggle |
like 'S_o' |
(no matches)
|
like 'S_o%' |
Smooth,
Smothers |
like 'S%th' |
Smith, Smooth |
false
when you use them with logical operators such as AND or OR.
5+x
for an expression, the expression
resolves to =5+x
.
>5
and <10
for myterm
, the expression
resolves to myterm>5 and myterm<10
. SAS Business Rules Manager inserts the term for top-level AND or OR operators in
condition expressions only. It does not insert the term with nested AND or OR operators or in action expressions.
+1
is
invalid. If you enter +1
as an action expression, the expression resolves to x=x + 1
. The expression =+1
is
invalid as both a condition and as an action expression.
-1
as either a condition or an action expression, the expression is interpreted as a
negative number and not as a leading minus operator. The expression resolves to x=-1
.
Expression as Entered
into the Decision Table for Term X
|
Resulting Expression
|
Valid as a Condition
Expression
|
Valid as an Action Expression
|
---|---|---|---|
5 |
x=5 |
Yes
|
Yes
|
=5 |
x=5 |
Yes
|
Yes
|
+10
|
x=x+10 |
No
See Note 7.
|
Yes
|
–10
|
x=–10 |
Yes
|
Yes
See Note 7.
|
"mystring" |
x="mystring" |
Yes
|
Yes
|
=term1 |
x=term1 |
Yes
|
Yes
|
5 or >100 |
x=5 or x>100 |
Yes
|
No
See Note 1.
|
^=5 and
x<10 |
x^=5 and
x<10 |
Yes
|
No
See Note 1.
|
^=5 or >=(100/4) |
x^=5 or
x>=(100/4) |
Yes
|
No
See Note 1.
|
in (10,20,30) |
x IN (10,20,30) |
Yes
|
No
See Note 1.
|
not in ('med','high') |
x NOT IN
('MED','HIGH') |
Yes
|
No
See Note 1.
|
rate in
('med','high') |
x = rate
in ('med','high') |
Yes
See Note 8.
|
|
like ('M77__LL%','MA89_LL%') |
x LIKE ('M77__LL%','MA89_LL%') |
Yes
|
No
See Note 1.
|
<'10JUN2012'd |
x<'10JUN2015'd |
Yes
|
No
See Note 1.
|
>'10JUN2012:17:00:00'dt |
x>'10JUN2015:17:00:00'dt |
Yes
|
No
See Note 1.
|
=ABS(-10) |
x=ABS(-10) |
Yes
|
Yes
|
=True |
x=True |
Yes
|
Yes
|
False |
x=False |
Yes
|
Yes
|
&myMacroVar |
x=&myMacroVar |
Yes
See Note 2.
|
Yes
See Note 2.
|
%EVAL(&myMacroVar) |
x=%EVAL(&myMacroVar) |
Yes
See Note 2.
|
Yes
See Note 2.
|
term1=5 |
x=term1=5 |
Yes
See Note 3.
|
Yes
See Note 4.
|
term1=3
or term2=5 |
x=term1=3
or term2=5 |
Yes
See Note 5.
|
Yes
See Note 6.
|
5 or (x>10
and <20) |
This expression is invalid as both a condition expression and as an action expression.
SAS Business Rules Manager does not add column names after nested AND or OR operators.
|
||
>"mystring" |
This expression is invalid as both a condition expression and as an action expression.
SAS Business Rules Manager checks whether literal types are compatible with the specified
operators. Character strings are not compatible with numeric operators.
|
||
=4.6927e-101 |
x=4.6927e-101 |
Yes
|
Yes
|
x
and term1
are
equal to 5. The recommended way to enter this expression is =5
and term1=5
.
term1
is equal to 5, and
if so, assigns a value of 1 (true) to x
.
If not, it assigns a value of 0 (false) to x
.
x
and term1
are
equal to 3 or whether term2
is equal to 5.
The recommended way to enter this expression is (=5 or
term1=3) or term2=5
.
term1
is equal
to 3 or term2
is equal to 5, and if so, assigns
a value of 1 (true) to x
. If not, it assigns
a value of 0 (false) to x
.
rate
is equal to high
or low
,
and if so, assigns a value of 1 (true) to x
.
If not, it assigns a value of 0 (false) to x
.