This patch adds the VALUELABEL function for use in expressions, which
[pspp-builds.git] / doc / expressions.texi
index f6cc4f13650d3ee8414aa679a56fd1ae607c31bd..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
 
@@ -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