Documentation: Add an example showing the use of SELECT IF.
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 28 Nov 2020 10:22:41 +0000 (11:22 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 28 Nov 2020 10:29:09 +0000 (11:29 +0100)
doc/automake.mk
doc/data-selection.texi
doc/pspp-figures/select-if.sps [new file with mode: 0644]
examples/personnel.sav

index 2325e236a599afa48789a54bbe51988796176e74..9800d5849db3bc1397d39ae9388f4c5c90ccf22f 100644 (file)
@@ -122,6 +122,7 @@ FIGURE_SYNTAX = \
  doc/pspp-figures/one-sample-t.sps \
  doc/pspp-figures/independent-samples-t.sps \
  doc/pspp-figures/reliability.sps \
+ doc/pspp-figures/select-if.sps \
  doc/pspp-figures/split.sps \
  doc/pspp-figures/temporary.sps \
  doc/pspp-figures/tutorial1.sps \
index 17c039c88d16d3b3f95111c95212f8dc9eb2f2a1..17d5d0e41c630a86d8ef613e1a4b24f2bbb9421a 100644 (file)
@@ -156,11 +156,38 @@ deleted from the data stream.
 Place @cmd{SELECT IF} as early in the command file as
 possible.  Cases that are deleted early can be processed more
 efficiently in time and space.
+Once cases have been deleted from the active dataset using @cmd{SELECT IF} they
+cannot be re-instated.
+If you want to be able to re-instate cases, then use @cmd{FILTER} (@pxref{FILTER})
+instead.
 
 When @cmd{SELECT IF} is specified following @cmd{TEMPORARY}
 (@pxref{TEMPORARY}), the @cmd{LAG} function may not be used
 (@pxref{LAG}).
 
+@subsection Example Select-If
+
+A shop steward is interested in the salaries of younger personnel in a firm.
+The file @file{personnel.sav} provides the salaries of all the workers and their
+dates of birth.  The syntax in @ref{select-if:ex} shows how @cmd{SELECT IF} can
+be used to limit analysis only to those persons born after December 31, 1999.
+
+@float Example, select-if:ex
+@psppsyntax {select-if.sps}
+@caption {Using @cmd{SELECT IF} to select persons born on or after a certain date.}
+@end float
+
+From @ref{select-if:res} one can see that there are 56 persons listed in the dataset,
+and 17 of them were born after December 31, 1999.
+
+@float Result, select-if:res
+@psppoutput {select-if}
+@caption {Salary descriptives before and after the @cmd{SELECT IF} transformation.}
+@end float
+
+Note that the @file{personnel.sav} file from which the data were read is unaffected.
+The transformation affects only the active file.
+
 @node SPLIT FILE
 @section SPLIT FILE
 @vindex SPLIT FILE
diff --git a/doc/pspp-figures/select-if.sps b/doc/pspp-figures/select-if.sps
new file mode 100644 (file)
index 0000000..e6e98be
--- /dev/null
@@ -0,0 +1,8 @@
+get file = 'personnel.sav'.
+
+echo 'Salaries of all personnel'.
+descriptives salary.
+
+echo 'Salaries of personnel born after December 31 1999'.
+select if dob > date.dmy (31,12,1999).
+descriptives salary.
index 6b4b7168ee927069907f67230e222e051fa8bc14..ba4c599de89c9eaa127f4ab5b5340909dbdeb673 100644 (file)
Binary files a/examples/personnel.sav and b/examples/personnel.sav differ