Epi Info™ User Guide
Command Reference
Analysis Commands: ASSIGN
Description
This command assigns numeric or string expression results to a variable. It may be a database variable in a form or data table, or a user-defined variable created by the DEFINE command in a program.
Syntax
ASSIGN <variable> = <expression>
LET <variable> = <expression>
(ASSIGN and LET may be omitted)
<variable> = <expression>
- The <variable> represents a variable in a database or a defined variable created in a program.
- The <expression> represents any valid arithmetic or string expression.
Program Specific Feature
If the right side of the assignment does not contain a field variable (one in a database table), or a variable that depends on a field variable, the assignment is made immediately.
DEFINE TestYear NUMERIC ASSIGN TestYear = 2000
The following code contains two view variables, OnsetDate and ExposureDate.
DEFINE Incubation NUMERIC ASSIGN Incubation = OnsetDate - ExposureDate
In this example, Incubation is only calculated during current dataset processing. It is calculated for each record and may be used similar to a dataset variable in procedures (i.e., TABLES, FREQ, and GRAPH). Prior to and after processing a dataset, Incubation will have a “missing” value, although it could be assigned a value with another statement (e.g., Incubation = 999).
The value is calculated each time a record that meets the conditions of SELECT is read from the dataset. Any legal expression can be used that combines functions or literal values and operators (i.e., &, +, -, *, /, ^, and MOD). Boolean expressions are not supported in assign commands. Standard variables that depend on database fields must be saved to a table using WRITE before they can be edited using LIST UPDATE.
Comments
Temporary variables must be defined before being used and will accept any type of data (i.e., text, numeric, or date). Once they have been assigned a non-missing value or an expression, their type cannot change.
If an attempt is made to assign an invalid expression to a variable, it retains any previous assignment.
Examples
To try the code example below, copy and paste the code example into the Classic Analysis Program Editor and click Run Commands.
The ASSIGN command is used to assign values to defined variables and database variables. Note that literal values (e.g., 42, other variables, and functions) can be used on the right side of the = operator.
READ {.\Projects\Sample\Sample.prj}:Surveillance DEFINE State TEXTINPUT ASSIGN City = "Atlanta" ASSIGN State = "GA" ASSIGN Address = City & ", " & State DEFINE Now DATEFORMAT ASSIGN Now = SYSTEMTIME DEFINE Duration NUMERIC ASSIGN Duration = YEARS(01/01/1998, ReportDate) DEFINE Ill YN ASSIGN Ill = (-) ASSIGN Age = 42 ASSIGN Occupation = "Doctor" LIST Address City State Duration Now Ill Occupation Age GRIDTABLE