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 24hour 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 (valuelist)

Equal to an item in valuelist

in ('high','medium','low') 
NOT IN (valuelist)

Not equal to an item
in valuelist

not in (10,20,30) 
LIKE 'patternmatchingexpression'
LIKE ('patternmatchingexpression','patternmatchingexpression')

If the term’s
value matches patternmatchingexpression,
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 Decision Manager
inserts the term for toplevel 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 Decision 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 Decision Manager
checks whether literal types are compatible with the specified operators.
Character strings are not compatible with numeric operators.


=4.6927e101 
x=4.6927e101 
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
.