This patch adds the VALUELABEL function for use in expressions, which
[pspp-builds.git] / doc / expressions.texi
index 8ed76b2c90c385d57be4de7bac8069646e9d61ed..c6c96dfb931d8f33e8b0c56f15b8ceb35fe61af4 100644 (file)
@@ -260,7 +260,7 @@ The sections below describe each function in detail.
 * String Functions::            CONCAT INDEX LENGTH LOWER LPAD LTRIM NUMBER 
                                 RINDEX RPAD RTRIM STRING SUBSTR UPCASE
 * Time & Date::                 CTIME.xxx DATE.xxx TIME.xxx XDATE.xxx
-* Miscellaneous Functions::     LAG YRMODA
+* Miscellaneous Functions::     LAG YRMODA VALUELABEL
 * Statistical Distribution Functions::  PDF CDF SIG IDF RV NPDF NCDF
 @end menu
 
@@ -583,9 +583,9 @@ if @var{padding} does not contain exactly one character.
 @end deftypefn
 
 @cindex strings, trimming
-@cindex whitespace, trimming
+@cindex white space, trimming
 @deftypefn {Function} {} LTRIM (@var{string})
-Returns @var{string}, after removing leading spaces.  Other whitespace,
+Returns @var{string}, after removing leading spaces.  Other white space,
 such as tabs, carriage returns, line feeds, and vertical tabs, is not
 removed.
 @end deftypefn
@@ -644,10 +644,10 @@ or if @var{padding} does not contain exactly one character.
 @end deftypefn
 
 @cindex strings, trimming
-@cindex whitespace, trimming
+@cindex white space, trimming
 @deftypefn {Function} {} RTRIM (@var{string})
 Returns @var{string}, after removing trailing spaces.  Other types of
-whitespace are not removed.
+white space are not removed.
 @end deftypefn
 
 @deftypefn {Function} {} RTRIM (@var{string}, @var{padding})
@@ -1024,19 +1024,26 @@ Returns the year (as an integer 1582 or greater) corresponding to
 @subsection Miscellaneous Functions
 @cindex functions, miscellaneous
 
-Miscellaneous functions take various arguments and produce various
-results.
-
 @cindex cross-case function
 @cindex function, cross-case
-@deftypefn {Function} {} LAG (@var{variable}[, @var{ncases}])
+@deftypefn {Function} {} LAG (@var{variable}[, @var{n}])
 @anchor{LAG}
+
 @var{variable} must be a numeric or string variable name.  @code{LAG}
-results in the value of that variable for the case @var{ncases} before
-the current one.  In case-selection procedures, @code{LAG} results in
-the value of the variable for the last case selected.  Results in
-system-missing (for numeric variables) or blanks (for string
-variables) for the first case or before any cases are selected.
+yields the value of that variable for the case @var{n} before the
+current one.  Results in system-missing (for numeric variables) or
+blanks (for string variables) for the first @var{n} cases.
+
+@code{LAG} obtains values from the cases that become the new active file
+after a procedure executes.  Thus, @code{LAG} will not return values
+from cases dropped by transformations such as @cmd{SELECT IF}, and
+transformations like @cmd{COMPUTE} that modify data will change the
+values returned by @code{LAG}.  These are both the case whether these
+transformations precede or follow the use of @code{LAG}.
+
+If @code{LAG} is used before @cmd{TEMPORARY}, then the values it returns
+are those in cases just before @cmd{TEMPORARY}.  @code{LAG} may not be
+used after @cmd{TEMPORARY}.
 
 If omitted, @var{ncases} defaults to 1.  Otherwise, @var{ncases} must
 be a small positive constant integer.  There is no explicit limit, but
@@ -1059,6 +1066,14 @@ the date specified, plus one.  The date passed to @code{YRMODA} must be
 on or after 15 Oct 1582.  15 Oct 1582 has a value of 1.
 @end deftypefn
 
+@cindex value label
+@deftypefn {Function} VALUELABEL (@var{variable})
+Returns a string matching the label associated with the current value
+of @var{variable}.  If the current value of @var{variable} has no
+associated label, then this function returns the empty string.
+@var{variable} may be a numeric or string variable.
+@end deftypefn
+
 @node Statistical Distribution Functions
 @subsection Statistical Distribution Functions