X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=doc%2Ftransformation.texi;h=e722b9c4c8620b19b1e473ce09389eda5ef2983b;hb=6d7e2826ba9c863f6261e9718e0e822e0ca60aa0;hp=8f44a08145125d6e678c179aa8908b86f71c4dc1;hpb=212dd31508b40d220f07585651063c73b5681eef;p=pspp diff --git a/doc/transformation.texi b/doc/transformation.texi index 8f44a08145..e722b9c4c8 100644 --- a/doc/transformation.texi +++ b/doc/transformation.texi @@ -103,6 +103,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 +114,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 @@ -380,7 +386,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,13 +401,15 @@ 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 N OF CASES. It ignores TEMPORARY, so that ``temporary'' +FLIP honors @cmd{N OF CASES} (@pxref{N OF CASES}). It ignores +@cmd{TEMPORARY} (@pxref{TEMPORARY}), so that ``temporary'' transformations become permanent. @node IF, RECODE, FLIP, Data Manipulation @@ -526,11 +535,17 @@ are sorted in ascending order. To override sort order, specify (D) or for ascending order. These apply to the entire list of variables preceding them. +The sort algorithms used by @cmd{SORT CASES} are stable. That is, +records that have equal values of the sort variables will have the +same relative order before and after sorting. As a special case, +re-sorting an already sorted file will not affect the ordering of +cases. + @cmd{SORT CASES} is a procedure. It causes the data to be read. @cmd{SORT CASES} attempts to sort the entire active file in main memory. -If main memory is exhausted, it falls back to a merge sort algorithm that -involves writing and reading numerous temporary files. +If workspace is exhausted, it falls back to a merge sort algorithm that +involves creates numerous temporary files. @cmd{SORT CASES} may not be specified following TEMPORARY. @setfilename ignored