Rewrite and improve formatted output routines.
[pspp-builds.git] / doc / transformation.texi
index 9225ca80009fb325b71206114aff0c12ea2b962c..d8b08a45c7f99ef5cdbcca584f0e326523d8655a 100644 (file)
@@ -23,7 +23,7 @@ as a rule.
 
 @display
 AGGREGATE 
-        OUTFILE=@{*,'filename'@}          
+        OUTFILE=@{*,'file-name',file_handle@}
         /PRESORTED
         /DOCUMENT
         /MISSING=COLUMNWISE
@@ -37,9 +37,11 @@ variables called @dfn{break variables}.  Several functions are available
 for summarizing case contents.
 
 The OUTFILE subcommand is required and must appear first.  Specify a
-system file by file name string or file handle (@pxref{FILE HANDLE}).
+system file, portable file, or scratch file by file name or file
+handle (@pxref{File Handles}).
 The aggregated cases are written to this file.  If @samp{*} is
-specified, then the aggregated cases replace the active file.
+specified, then the aggregated cases replace the active file.  Use of
+OUTFILE to write a portable file or scratch file is a PSPP extension.
 
 By default, the active file will be sorted based on the break variables
 before aggregation takes place.  If the active file is already sorted
@@ -103,6 +105,9 @@ format is F5.3.
 @item FIRST(var_name)
 First non-missing value in break group.  The aggregation variable
 receives the complete dictionary information from the source variable.
+The sort performed by AGGREGATE (and by SORT CASES) is stable, so that
+the first case with particular values for the break variables before
+sorting will also be the first case in that break group after sorting.
 
 @item FOUT(var_name, low, high)
 Fraction of values strictly outside the specified range of constants.
@@ -111,6 +116,9 @@ The default format is F5.3.
 @item LAST(var_name)
 Last non-missing value in break group.  The aggregation variable
 receives the complete dictionary information from the source variable.
+The sort performed by AGGREGATE (and by SORT CASES) is stable, so that
+the last case with particular values for the break variables before
+sorting will also be the last case in that break group after sorting.
 
 @item MAX(var_name)
 Maximum value.  The aggregation variable receives the complete
@@ -279,7 +287,7 @@ one or more @dfn{test} variables for each case.
 
 The target variable values are always nonnegative integers.  They are
 never missing.  The target variable is assigned an F8.2 output format.
-@xref{Input/Output Formats}.  Any variables, including long and short
+@xref{Input and Output Formats}.  Any variables, including long and short
 string variables, may be test variables.
 
 User-missing values of test variables are treated just like any other
@@ -380,7 +388,8 @@ specified are discarded.  If the VARIABLES subcommand is omitted, all
 variables are selected for transposition.
 
 The variables specified by NEWNAMES, which must be a string variable, is
-used to give names to the variables created by @cmd{FLIP}.  If
+used to give names to the variables created by @cmd{FLIP}.  Only the
+first 8 characters of the variable are used.  If
 NEWNAMES is not
 specified then the default is a variable named CASE_LBL, if it exists.
 If it does not then the variables created by FLIP are named VAR000
@@ -394,11 +403,12 @@ extensions are added, starting with 1, until a unique name is found or
 there are no remaining possibilities.  If the latter occurs then the
 FLIP operation aborts.
 
-The resultant dictionary contains a CASE_LBL variable, which stores the
-names of the variables in the dictionary before the transposition.  If
-the active file is subsequently transposed using @cmd{FLIP}, this
-variable can
-be used to recreate the original variable names.
+The resultant dictionary contains a CASE_LBL variable, a string
+variable of width 8, which stores the names of the variables in the
+dictionary before the transposition.  Variables names longer than 8
+characters are truncated.  If the active file is subsequently
+transposed using @cmd{FLIP}, this variable can be used to recreate the
+original variable names.
 
 FLIP honors @cmd{N OF CASES} (@pxref{N OF CASES}).  It ignores
 @cmd{TEMPORARY} (@pxref{TEMPORARY}), so that ``temporary''