If balance < 100 then risk = "high"
,
the condition term is balance
and the action
term is risk
.
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 .
|
='01SEP2012'd >='31SEP2012'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 .
|
='01SEP2012:15:00:00'dt <='31SEP2012:15:00:00'dt |
Boolean
|
Boolean values do not
need to be 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
|
–value
|
Leading minus1
|
–15
|
^=
|
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
>= '01AUG2012'd AND dateExpired <= '31AUG2012'd |
expression OR expression
|
If either expression
is true, the result is true.
|
dateEnrolled
>= '01JAN2012' OR member = True |
1The application supports leading plus (+) and minus (-) operators 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 |
=""
),
and you can use a period (=.
) to designate
missing numeric values.
false
when you use them
with logical operators such as AND or OR. For more information, see Missing Values in SAS Language Reference: Concepts.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 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.
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
|
"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<'10JUN2012'd |
Yes
|
No
See Note 1.
|
>'10JUN2012:17:00:00'dt |
x>'10JUN2012: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.
|