From cee6f0eb54144da7034566fa1bcdcee22337ae6a Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sun, 26 Dec 2021 16:01:47 -0800 Subject: [PATCH] CTABLES --- doc/automake.mk | 29 + doc/pspp-figures/ctables1.sps | 2 + doc/pspp-figures/ctables10.sps | 4 + doc/pspp-figures/ctables11.sps | 4 + doc/pspp-figures/ctables12.sps | 2 + doc/pspp-figures/ctables13.sps | 2 + doc/pspp-figures/ctables14.sps | 2 + doc/pspp-figures/ctables15.sps | 2 + doc/pspp-figures/ctables16.sps | 2 + doc/pspp-figures/ctables17.sps | 4 + doc/pspp-figures/ctables18.sps | 9 + doc/pspp-figures/ctables19.sps | 9 + doc/pspp-figures/ctables2.sps | 2 + doc/pspp-figures/ctables20.sps | 10 + doc/pspp-figures/ctables21.sps | 11 + doc/pspp-figures/ctables22.sps | 5 + doc/pspp-figures/ctables3.sps | 2 + doc/pspp-figures/ctables4.sps | 2 + doc/pspp-figures/ctables5.sps | 3 + doc/pspp-figures/ctables6.sps | 2 + doc/pspp-figures/ctables7.sps | 2 + doc/pspp-figures/ctables8.sps | 2 + doc/pspp-figures/ctables9.sps | 2 + doc/statistics.texi | 1018 +++- doc/tutorial.stt | 2 +- doc/utilities.texi | 1 + doc/variables.texi | 14 +- examples/automake.mk | 3 + examples/nhtsa-drinking-2008.sav | Bin 0 -> 1086683 bytes examples/nhtsa-drinking-2008.sps | 97 + examples/nhtsa.sav | Bin 0 -> 1091700 bytes po/automake.mk | 2 +- src/data/dictionary.c | 6 + src/language/command.def | 2 +- src/language/lexer/format-parser.c | 22 +- src/language/lexer/format-parser.h | 6 +- src/language/stats/automake.mk | 2 + src/language/stats/ctables.c | 6904 ++++++++++++++++++++++++++++ src/language/stats/ctables.inc | 129 + src/libpspp/message.c | 10 + src/libpspp/message.h | 2 + src/output/pivot-table.c | 2 +- src/output/pivot-table.h | 5 +- tests/automake.mk | 11 +- tests/language/stats/ctables.at | 2788 +++++++++++ 45 files changed, 11109 insertions(+), 31 deletions(-) create mode 100644 doc/pspp-figures/ctables1.sps create mode 100644 doc/pspp-figures/ctables10.sps create mode 100644 doc/pspp-figures/ctables11.sps create mode 100644 doc/pspp-figures/ctables12.sps create mode 100644 doc/pspp-figures/ctables13.sps create mode 100644 doc/pspp-figures/ctables14.sps create mode 100644 doc/pspp-figures/ctables15.sps create mode 100644 doc/pspp-figures/ctables16.sps create mode 100644 doc/pspp-figures/ctables17.sps create mode 100644 doc/pspp-figures/ctables18.sps create mode 100644 doc/pspp-figures/ctables19.sps create mode 100644 doc/pspp-figures/ctables2.sps create mode 100644 doc/pspp-figures/ctables20.sps create mode 100644 doc/pspp-figures/ctables21.sps create mode 100644 doc/pspp-figures/ctables22.sps create mode 100644 doc/pspp-figures/ctables3.sps create mode 100644 doc/pspp-figures/ctables4.sps create mode 100644 doc/pspp-figures/ctables5.sps create mode 100644 doc/pspp-figures/ctables6.sps create mode 100644 doc/pspp-figures/ctables7.sps create mode 100644 doc/pspp-figures/ctables8.sps create mode 100644 doc/pspp-figures/ctables9.sps create mode 100644 examples/nhtsa-drinking-2008.sav create mode 100644 examples/nhtsa-drinking-2008.sps create mode 100644 examples/nhtsa.sav create mode 100644 src/language/stats/ctables.c create mode 100644 src/language/stats/ctables.inc create mode 100644 tests/language/stats/ctables.at diff --git a/doc/automake.mk b/doc/automake.mk index 83209001d1..e99b82c6ee 100644 --- a/doc/automake.mk +++ b/doc/automake.mk @@ -117,6 +117,28 @@ FIGURE_SYNTAX = \ doc/pspp-figures/chisquare.sps \ doc/pspp-figures/compute.sps \ doc/pspp-figures/count.sps \ + doc/pspp-figures/ctables1.sps \ + doc/pspp-figures/ctables2.sps \ + doc/pspp-figures/ctables3.sps \ + doc/pspp-figures/ctables4.sps \ + doc/pspp-figures/ctables5.sps \ + doc/pspp-figures/ctables6.sps \ + doc/pspp-figures/ctables7.sps \ + doc/pspp-figures/ctables8.sps \ + doc/pspp-figures/ctables9.sps \ + doc/pspp-figures/ctables10.sps \ + doc/pspp-figures/ctables11.sps \ + doc/pspp-figures/ctables12.sps \ + doc/pspp-figures/ctables13.sps \ + doc/pspp-figures/ctables14.sps \ + doc/pspp-figures/ctables15.sps \ + doc/pspp-figures/ctables16.sps \ + doc/pspp-figures/ctables17.sps \ + doc/pspp-figures/ctables18.sps \ + doc/pspp-figures/ctables19.sps \ + doc/pspp-figures/ctables20.sps \ + doc/pspp-figures/ctables21.sps \ + doc/pspp-figures/ctables22.sps \ doc/pspp-figures/crosstabs.sps \ doc/pspp-figures/descriptives.sps \ doc/pspp-figures/flip.sps \ @@ -246,6 +268,13 @@ EXTRA_DIST += doc/tutorial.stt .spv.html: $(convert) -O format=html -O bare=true +# Make sure that tutorial.stt outputs all layers, because a few of the +# examples in the manual rely on that and it would be easy to replace +# it with a style that didn't. +ALL_LOCAL += tutorial-stt-must-print-all-layers +tutorial-stt-must-print-all-layers: + $(AM_V_GEN)grep 'printAllLayers="true"' $(srcdir)/doc/tutorial.stt >/dev/null 2>&1 && touch $@ + # Convert a text file into a Texinfo file. .txt.texi: $(AM_V_GEN)$(SED) -e 's/@/@@/g' $< > $@ diff --git a/doc/pspp-figures/ctables1.sps b/doc/pspp-figures/ctables1.sps new file mode 100644 index 0000000000..4876fa23f8 --- /dev/null +++ b/doc/pspp-figures/ctables1.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE=AgeGroup. \ No newline at end of file diff --git a/doc/pspp-figures/ctables10.sps b/doc/pspp-figures/ctables10.sps new file mode 100644 index 0000000000..8adb5ff336 --- /dev/null +++ b/doc/pspp-figures/ctables10.sps @@ -0,0 +1,4 @@ +GET FILE='nhtsa.sav'. +CTABLES + /TABLE=qnd1 [MEAN, MEDIAN] BY qns3a + /TABLE=AgeGroup [COLPCT, ROWPCT] BY qns3a. diff --git a/doc/pspp-figures/ctables11.sps b/doc/pspp-figures/ctables11.sps new file mode 100644 index 0000000000..d2e064c4cb --- /dev/null +++ b/doc/pspp-figures/ctables11.sps @@ -0,0 +1,4 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE=AgeGroup [COLPCT 'Gender %' PCT5.0, + ROWPCT 'Age Group %' PCT5.0] + BY qns3a. diff --git a/doc/pspp-figures/ctables12.sps b/doc/pspp-figures/ctables12.sps new file mode 100644 index 0000000000..0ec07bb344 --- /dev/null +++ b/doc/pspp-figures/ctables12.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE=(AgeGroup + qns1)[COLPCT] BY qns3a. diff --git a/doc/pspp-figures/ctables13.sps b/doc/pspp-figures/ctables13.sps new file mode 100644 index 0000000000..723dbeda31 --- /dev/null +++ b/doc/pspp-figures/ctables13.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE=qnd1 [MEAN, MEDIAN] BY qns3a. diff --git a/doc/pspp-figures/ctables14.sps b/doc/pspp-figures/ctables14.sps new file mode 100644 index 0000000000..168d237f17 --- /dev/null +++ b/doc/pspp-figures/ctables14.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE=qnd1 [MEAN, MEDIAN] BY qns3a /SLABELS POSITION=ROW. diff --git a/doc/pspp-figures/ctables15.sps b/doc/pspp-figures/ctables15.sps new file mode 100644 index 0000000000..c8b86f7162 --- /dev/null +++ b/doc/pspp-figures/ctables15.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE=AgeGroup [TABLEPCT] /SLABELS VISIBLE=NO. diff --git a/doc/pspp-figures/ctables16.sps b/doc/pspp-figures/ctables16.sps new file mode 100644 index 0000000000..5812acef97 --- /dev/null +++ b/doc/pspp-figures/ctables16.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE AgeGroup BY qns3a. diff --git a/doc/pspp-figures/ctables17.sps b/doc/pspp-figures/ctables17.sps new file mode 100644 index 0000000000..191703384a --- /dev/null +++ b/doc/pspp-figures/ctables17.sps @@ -0,0 +1,4 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE AgeGroup BY qns3a /CLABELS ROWLABELS=OPPOSITE. +CTABLES /TABLE AgeGroup BY qns3a /CLABELS COLLABELS=OPPOSITE. + diff --git a/doc/pspp-figures/ctables18.sps b/doc/pspp-figures/ctables18.sps new file mode 100644 index 0000000000..71248785cc --- /dev/null +++ b/doc/pspp-figures/ctables18.sps @@ -0,0 +1,9 @@ +DATA LIST LIST NOTABLE/x y z. +BEGIN DATA. +1 . 40 +1 10 50 +1 20 60 +1 30 . +END DATA. +VARIABLE LEVEL x (NOMINAL). +LIST. \ No newline at end of file diff --git a/doc/pspp-figures/ctables19.sps b/doc/pspp-figures/ctables19.sps new file mode 100644 index 0000000000..ada8823bcc --- /dev/null +++ b/doc/pspp-figures/ctables19.sps @@ -0,0 +1,9 @@ +DATA LIST LIST NOTABLE/x y z. +BEGIN DATA. +1 . 40 +1 10 50 +1 20 60 +1 30 . +END DATA. +VARIABLE LEVEL x (NOMINAL). +CTABLES /TABLE (y + z) > x. diff --git a/doc/pspp-figures/ctables2.sps b/doc/pspp-figures/ctables2.sps new file mode 100644 index 0000000000..38b09aadda --- /dev/null +++ b/doc/pspp-figures/ctables2.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE=AgeGroup BY qns3a. \ No newline at end of file diff --git a/doc/pspp-figures/ctables20.sps b/doc/pspp-figures/ctables20.sps new file mode 100644 index 0000000000..6814a274e5 --- /dev/null +++ b/doc/pspp-figures/ctables20.sps @@ -0,0 +1,10 @@ +DATA LIST LIST NOTABLE/x y z. +BEGIN DATA. +1 . 40 +1 10 50 +1 20 60 +1 30 . +END DATA. +VARIABLE LEVEL x (NOMINAL). +CTABLES /SMISSING LISTWISE /TABLE (y + z) > x. + diff --git a/doc/pspp-figures/ctables21.sps b/doc/pspp-figures/ctables21.sps new file mode 100644 index 0000000000..8fb18d8b2b --- /dev/null +++ b/doc/pspp-figures/ctables21.sps @@ -0,0 +1,11 @@ +DATA LIST LIST NOTABLE/x y z. +BEGIN DATA. +1 . 40 +1 10 50 +1 20 60 +1 30 . +END DATA. +VARIABLE LEVEL x (NOMINAL). +CTABLES /SMISSING LISTWISE /TABLE (y > x) + (z > x). + + diff --git a/doc/pspp-figures/ctables22.sps b/doc/pspp-figures/ctables22.sps new file mode 100644 index 0000000000..396fbd3939 --- /dev/null +++ b/doc/pspp-figures/ctables22.sps @@ -0,0 +1,5 @@ +GET FILE='nhtsa.sav'. +CTABLES + /VLABELS VARIABLES=ALL DISPLAY=NAME + /TABLE qn61 > qn57 BY qnd7a > qn86 + qn64b BY qns3a[TABLE.ID, LAYER.ID, SUBTABLE.ID] + /SLABELS POSITION=ROW. diff --git a/doc/pspp-figures/ctables3.sps b/doc/pspp-figures/ctables3.sps new file mode 100644 index 0000000000..4736cce247 --- /dev/null +++ b/doc/pspp-figures/ctables3.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE AgeGroup > qns3a BY qn86. diff --git a/doc/pspp-figures/ctables4.sps b/doc/pspp-figures/ctables4.sps new file mode 100644 index 0000000000..4ddee23ef6 --- /dev/null +++ b/doc/pspp-figures/ctables4.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE AgeGroup + qn1 BY qns3a. diff --git a/doc/pspp-figures/ctables5.sps b/doc/pspp-figures/ctables5.sps new file mode 100644 index 0000000000..ba12f4b7a2 --- /dev/null +++ b/doc/pspp-figures/ctables5.sps @@ -0,0 +1,3 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE qn26 + qn27 > qns3a. +CTABLES /TABLE (qn26 + qn27) > qns3a. diff --git a/doc/pspp-figures/ctables6.sps b/doc/pspp-figures/ctables6.sps new file mode 100644 index 0000000000..9cbaf89cc5 --- /dev/null +++ b/doc/pspp-figures/ctables6.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE qnd1. diff --git a/doc/pspp-figures/ctables7.sps b/doc/pspp-figures/ctables7.sps new file mode 100644 index 0000000000..678570a26b --- /dev/null +++ b/doc/pspp-figures/ctables7.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE qnd1 > qns3a BY lang. diff --git a/doc/pspp-figures/ctables8.sps b/doc/pspp-figures/ctables8.sps new file mode 100644 index 0000000000..799195ace5 --- /dev/null +++ b/doc/pspp-figures/ctables8.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE qns3a > qnd1 BY lang. diff --git a/doc/pspp-figures/ctables9.sps b/doc/pspp-figures/ctables9.sps new file mode 100644 index 0000000000..133d0d7d01 --- /dev/null +++ b/doc/pspp-figures/ctables9.sps @@ -0,0 +1,2 @@ +GET FILE='nhtsa.sav'. +CTABLES /TABLE qn20 [C] BY qns3a. diff --git a/doc/statistics.texi b/doc/statistics.texi index 01976e27c9..75de355bd0 100644 --- a/doc/statistics.texi +++ b/doc/statistics.texi @@ -20,6 +20,7 @@ far. * GRAPH:: Plot data. * CORRELATIONS:: Correlation tables. * CROSSTABS:: Crosstabulation tables. +* CTABLES:: Custom tables. * FACTOR:: Factor analysis and Principal Components analysis. * GLM:: Univariate Linear Models. * LOGISTIC REGRESSION:: Bivariate Logistic Regression. @@ -29,7 +30,6 @@ far. * ONEWAY:: One way analysis of variance. * QUICK CLUSTER:: K-Means clustering. * RANK:: Compute rank scores. -* REGRESSION:: Linear regression. * RELIABILITY:: Reliability analysis. * ROC:: Receiver Operating Characteristic. @end menu @@ -897,6 +897,1022 @@ person's occupation. @caption {The results of a test of independence between @exvar{sex} and @exvar{occupation}} @end float +@node CTABLES +@section CTABLES + +@vindex CTABLES +@cindex custom tables +@cindex tables, custom + +@code{CTABLES} has the following overall syntax. At least one +@code{TABLE} subcommand is required: + +@display +@t{CTABLES} + @dots{}@i{global subcommands}@dots{} + [@t{/TABLE} @i{axis} [@t{BY} @i{axis} [@t{BY} @i{axis}]] + @dots{}@i{per-table subcommands}@dots{}]@dots{} +@end display + +@noindent +where each @i{axis} may be empty or take one of the following forms: + +@display +@i{variable} +@i{variable} @t{[}@{@t{C} @math{|} @t{S}@}@t{]} +@i{axis} + @i{axis} +@i{axis} > @i{axis} +(@i{axis}) +@i{axis} @t{[}@i{summary} [@i{string}] [@i{format}]@t{]} +@end display + +The following subcommands precede the first @code{TABLE} subcommand +and apply to all of the output tables. All of these subcommands are +optional: + +@display +@t{/FORMAT} + [@t{MINCOLWIDTH=}@{@t{DEFAULT} @math{|} @i{width}@}] + [@t{MAXCOLWIDTH=}@{@t{DEFAULT} @math{|} @i{width}@}] + [@t{UNITS=}@{@t{POINTS} @math{|} @t{INCHES} @math{|} @t{CM}@}] + [@t{EMPTY=}@{@t{ZERO} @math{|} @t{BLANK} @math{|} @i{string}@}] + [@t{MISSING=}@i{string}] +@t{/VLABELS} + @t{VARIABLES=}@i{variables} + @t{DISPLAY}=@{@t{DEFAULT} @math{|} @t{NAME} @math{|} @t{LABEL} @math{|} @t{BOTH} @math{|} @t{NONE}@} +@ignore @c not yet implemented +@t{/MRSETS COUNTDUPLICATES=}@{@t{YES} @math{|} @t{NO}@} +@end ignore +@t{/SMISSING} @{@t{VARIABLE} @math{|} @t{LISTWISE}@} +@t{/PCOMPUTE} @t{&}@i{postcompute}@t{=EXPR(}@i{expression}@t{)} +@t{/PPROPERTIES} @t{&}@i{postcompute}@dots{} + [@t{LABEL=}@i{string}] + [@t{FORMAT=}[@i{summary} @i{format}]@dots{}] + [@t{HIDESOURCECATS=}@{@t{NO} @math{|} @t{YES}@} +@t{/WEIGHT VARIABLE=}@i{variable} +@t{/HIDESMALLCOUNTS COUNT=@i{count}} +@end display + +The following subcommands follow @code{TABLE} and apply only to the +previous @code{TABLE}. All of these subcommands are optional: + +@display +@t{/SLABELS} + [@t{POSITION=}@{@t{COLUMN} @math{|} @t{ROW} @math{|} @t{LAYER}@}] + [@t{VISIBLE=}@{@t{YES} @math{|} @t{NO}@}] +@t{/CLABELS} @{@t{AUTO} @math{|} @{@t{ROWLABELS}@math{|}@t{COLLABELS}@}@t{=}@{@t{OPPOSITE}@math{|}@t{LAYER}@}@} +@t{/CATEGORIES} @t{VARIABLES=}@i{variables} + @{@t{[}@i{value}@t{,} @i{value}@dots{}@t{]} + @math{|} [@t{ORDER=}@{@t{A} @math{|} @t{D}@}] + [@t{KEY=}@{@t{VALUE} @math{|} @t{LABEL} @math{|} @i{summary}@t{(}@i{variable}@t{)}@}] + [@t{MISSING=}@{@t{EXCLUDE} @math{|} @t{INCLUDE}@}]@} + [@t{TOTAL=}@{@t{NO} @math{|} @t{YES}@} [@t{LABEL=}@i{string}] [@t{POSITION=}@{@t{AFTER} @math{|} @t{BEFORE}@}]] + [@t{EMPTY=}@{@t{INCLUDE} @math{|} @t{EXCLUDE}@}] +@t{/TITLES} + [@t{TITLE=}@i{string}@dots{}] + [@t{CAPTION=}@i{string}@dots{}] + [@t{CORNER=}@i{string}@dots{}] +@ignore @c not yet implemented +@t{/CRITERIA CILEVEL=}@i{percentage} +@t{/SIGTEST TYPE=CHISQUARE} + [@t{ALPHA=}@i{siglevel}] + [@t{INCLUDEMRSETS=}@{@t{YES} @math{|} @t{NO}@}] + [@t{CATEGORIES=}@{@t{ALLVISIBLE} @math{|} @t{SUBTOTALS}@}] +@t{/COMPARETEST TYPE=}@{@t{PROP} @math{|} @t{MEAN}@} + [@t{ALPHA=}@i{value}[@t{,} @i{value}]] + [@t{ADJUST=}@{@t{BONFERRONI} @math{|} @t{BH} @math{|} @t{NONE}@}] + [@t{INCLUDEMRSETS=}@{@t{YES} @math{|} @t{NO}@}] + [@t{MEANSVARIANCE=}@{@t{ALLCATS} @math{|} @t{TESTEDCATS}@}] + [@t{CATEGORIES=}@{@t{ALLVISIBLE} @math{|} @t{SUBTOTALS}@}] + [@t{MERGE=}@{@t{NO} @math{|} @t{YES}@}] + [@t{STYLE=}@{@t{APA} @math{|} @t{SIMPLE}@}] + [@t{SHOWSIG=}@{@t{NO} @math{|} @t{YES}@}] +@end ignore +@end display + +The @code{CTABLES} (aka ``custom tables'') command produces +multi-dimensional tables from categorical and scale data. It offers +many options for data summarization and formatting. + +This section's examples use data from the 2008 (USA) National Survey +of Drinking and Driving Attitudes and Behaviors, a public domain data +set from the (USA) National Highway Traffic Administration and +available at @url{https://data.transportation.gov}. @pspp{} includes +this data set, with a slightly modified dictionary, as +@file{examples/nhtsa.sav}. + +@node CTABLES Basics +@subsection Basics + +The only required subcommand is @code{TABLE}, which specifies the +variables to include along each axis: +@display +@t{/TABLE} @i{rows} [@t{BY} @i{columns} [@t{BY} @i{layers}]] +@end display +@noindent +In @code{TABLE}, each of @var{rows}, @var{columns}, and @var{layers} +is either empty or an axis expression that specifies one or more +variables. At least one must specify an axis expression. + +@menu +* CTABLES Categorical Variable Basics:: +* CTABLES Scalar Variable Basics:: +* CTABLES Overriding Measurement Level:: +@end menu + +@node CTABLES Categorical Variable Basics +@subsubsection Categorical Variables + +An axis expression that names a categorical variable divides the data +into cells according to the values of that variable. When all the +variables named on @code{TABLE} are categorical, by default each cell +displays the number of cases that it contains, so specifying a single +variable yields a frequency table: + +@example +CTABLES /TABLE=AgeGroup. +@end example +@psppoutput {ctables1} + +@noindent +Specifying a row and a column categorical variable yields a +crosstabulation: + +@example +CTABLES /TABLE=AgeGroup BY qns3a. +@end example +@psppoutput {ctables2} + +@noindent +The @samp{>} ``nesting'' operator nests multiple variables on a single +axis, e.g.: + +@example +CTABLES /TABLE qn105ba BY AgeGroup > qns3a. +@end example +@psppoutput {ctables3} + +@noindent +The @samp{+} ``stacking'' operator allows a single output table to +include multiple data analyses. With @samp{+}, @code{CTABLES} divides +the output table into multiple @dfn{sections}, each of which includes +an analysis of the full data set. For example, the following command +separately tabulates age group and driving frequency by gender: + +@example +CTABLES /TABLE AgeGroup + qn1 BY qns3a. +@end example +@psppoutput {ctables4} + +@noindent +When @samp{+} and @samp{>} are used together, @samp{>} binds more +tightly. Use parentheses to override operator precedence. Thus: + +@example +CTABLES /TABLE qn26 + qn27 > qns3a. +CTABLES /TABLE (qn26 + qn27) > qns3a. +@end example +@psppoutput {ctables5} + +@node CTABLES Scalar Variable Basics +@subsubsection Scalar Variables + +For a categorical variable, @code{CTABLES} divides the table into a +cell per category. For a scalar variable, @code{CTABLES} instead +calculates a summary measure, by default the mean, of the values that +fall into a cell. For example, if the only variable specified is a +scalar variable, then the output is a single cell that holds the mean +of all of the data: + +@example +CTABLES /TABLE qnd1. +@end example +@psppoutput {ctables6} + +A scalar variable may nest with categorical variables. The following +example shows the mean age of survey respondents across gender and +language groups: + +@example +CTABLES /TABLE qns3a > qnd1 BY region. +@end example +@psppoutput {ctables7} + +The order of nesting of scalar and categorical variables affects table +labeling, but it does not affect the data displayed in the table. The +following example shows how the output changes when the nesting order +of the scalar and categorical variable are interchanged: + +@example +CTABLES /TABLE qnd1 > qns3a BY region. +@end example +@psppoutput {ctables8} + +Only a single scalar variable may appear in each section; that is, a +scalar variable may not nest inside a scalar variable directly or +indirectly. Scalar variables may only appear on one axis within +@code{TABLE}. + +@node CTABLES Overriding Measurement Level +@subsubsection Overriding Measurement Level + +By default, @code{CTABLES} uses a variable's measurement level to +decide whether to treat it as categorical or scalar. Variables +assigned the nominal or ordinal measurement level are treated as +categorical, and scalar variables are treated as scalar. + +Use the @code{VARIABLE LEVEL} command to change a variable's +measurement level (@pxref{VARIABLE LEVEL}). To treat a variable as +categorical or scalar only for one use on @code{CTABLES}, add +@samp{[C]} or @samp{[S]}, respectively, after the variable name. The +following example shows how to analyze the scalar variable @code{qn20} +as categorical: + +@example +CTABLES /TABLE qn20 [C] BY qns3a. +@end example +@psppoutput {ctables9} + +@ignore +@node CTABLES Multiple Response Sets +@subsubheading Multiple Response Sets + +The @code{CTABLES} command does not yet support multiple response +sets. +@end ignore + +@node CTABLES Data Summarization +@subsection Data Summarization + +The @code{CTABLES} command allows the user to control how the data are +summarized with summary specifications, which are enclosed in square +brackets following a variable name on the @code{TABLE} subcommand. +When all the variables are categorical, summary specifications can be +given for the innermost nested variables on any one axis. When a +scalar variable is present, only the scalar variable may have summary +specifications. The following example includes a summary +specification for column and row percentages for categorical +variables, and mean and median for a scalar variable: + +@example +CTABLES + /TABLE=qnd1 [MEAN, MEDIAN] BY qns3a + /TABLE=AgeGroup [COLPCT, ROWPCT] BY qns3a. +@end example +@psppoutput {ctables10} + +A summary specification may override the default label and format by +appending a string or format specification or both (in that order) to +the summary function name. For example: + +@example +CTABLES /TABLE=AgeGroup [COLPCT 'Gender %' PCT5.0, + ROWPCT 'Age Group %' PCT5.0] + BY qns3a. +@end example +@psppoutput {ctables11} + +Parentheses provide a shorthand to apply summary specifications to +multiple variables. For example, both of these commands: + +@example +CTABLES /TABLE=AgeGroup[COLPCT] + qns1[COLPCT] BY qns3a. +CTABLES /TABLE=(AgeGroup + qns1)[COLPCT] BY qns3a. +@end example + +@noindent +produce the same output shown below: + +@psppoutput {ctables12} + +The following sections list the available summary functions. + +@menu +* CTABLES Summary Functions for Individual Cells:: +* CTABLES Summary Functions for Groups of Cells:: +* CTABLES Summary Functions for Adjusted Weights:: +* CTABLES Unweighted Summary Functions:: +@end menu + +@node CTABLES Summary Functions for Individual Cells +@subsubsection Summary Functions for Individual Cells + +This section lists the summary functions that can be applied to +individual cells in @code{CTABLES}. Only one such summary function, +@code{COUNT}, may be applied to both categorical and scale variables: + +@table @asis +@item @code{COUNT} (``Count'') +The sum of weights in a cell. + +If @code{CATEGORIES} for one or more of the variables in a table +include missing values (@pxref{CTABLES Per-Variable Category +Options}), then some or all of the categories for a cell might be +missing values. @code{COUNT} counts data included in a cell +regardless of whether its categories are missing. +@end table + +The following summary functions apply only to scale variables or +totals and subtotals for categorical variables. Be cautious about +interpreting the summary value in the latter case, because it is not +necessarily meaningful; however, the mean of a Likert scale, etc.@: +may have a straightforward interpreation. + +@table @asis +@item @code{MAXIMUM} (``Maximum'') +The largest value. + +@item @code{MEAN} (``Mean'') +The mean. + +@item @code{MEDIAN} (``Median'') +The median value. + +@item @code{MINIMUM} (``Minimum'') +The smallest value. + +@item @code{MISSING} (``Missing'') +Sum of weights of user- and system-missing values. + +@item @code{MODE} (``Mode'') +The highest-frequency value. Ties are broken by taking the smallest mode. + +@item @code{PTILE} @i{n} (``Percentile @i{n}'') +The @var{n}th percentile, where @math{0 @leq{} @var{n} @leq{} 100}. + +@item @code{RANGE} (``Range'') +The maximum minus the minimum. + +@item @code{SEMEAN} (``Std Error of Mean'') +The standard error of the mean. + +@item @code{STDDEV} (``Std Deviation'') +The standard deviation. + +@item @code{SUM} (``Sum'') +The sum. + +@item @code{TOTALN} (``Total N'') +The sum of weights in a cell. + +For scale data, @code{COUNT} and @code{TOTALN} are the same. + +For categorical data, @code{TOTALN} counts missing values in excluded +categories, that is, user-missing values not in an explicit category +list on @code{CATEGORIES} (@pxref{CTABLES Per-Variable Category +Options}), or user-missing values excluded because +@code{MISSING=EXCLUDE} is in effect on @code{CATEGORIES}, or +system-missing values. @code{COUNT} does not count these. + +@item @code{VALIDN} (``Valid N'') +The sum of valid count weights in included categories. + +@code{VALIDN} does not count missing values regardless of whether they +are in included categories via @code{CATEGORIES}. @code{VALIDN} does +not count valid values that are in excluded categories. + +@item @code{VARIANCE} (``Variance'') +The variance. +@end table + +@node CTABLES Summary Functions for Groups of Cells +@subsubsection Summary Functions for Groups of Cells + +These summary functions summarize over multiple cells within an area +of the output chosen by the user and specified as part of the function +name. The following basic @var{area}s are supported, in decreasing +order of size: + +@table @code +@item TABLE +A @dfn{section}. Stacked variables divide sections of the output from +each other. sections may span multiple layers. + +@item LAYER +A section within a single layer. + +@item SUBTABLE +A @dfn{subtable}, whose contents are the cells that pair an innermost +row variable and an innermost column variable within a single layer. +@end table + +The following shows how the output for the table expression @code{qn61 +> qn57 BY qnd7a > qn86 + qn64b BY qns3a}@footnote{This is not +necessarily a meaningful table, so for clarity variable labels are +omitted.} is divided up into @code{TABLE}, @code{LAYER}, and +@code{SUBTABLE} areas. Each unique value for Table ID is one section, +and similarly for Layer ID and Subtable ID. Thus, this output has two +@code{TABLE} areas (one for @code{qnd7a} and one for @code{qn64b}), +four @code{LAYER} areas (for those two variables, per layer), and 12 +@code{SUBTABLE} areas. +@psppoutput {ctables22} + +@code{CTABLES} also supports the following @var{area}s that further +divide a subtable or a layer within a section: + +@table @code +@item LAYERROW +@itemx LAYERCOL +A row or column, respectively, in one layer of a section. + +@item ROW +@itemx COL +A row or column, respectively, in a subtable. +@end table + +The following summary functions for groups of cells are available for +each @var{area} described above, for both categorical and scale +variables: + +@table @asis +@item @code{@i{area}PCT} or @code{@i{area}PCT.COUNT} (``@i{Area} %'') +A percentage of total counts within @var{area}. + +@item @code{@i{area}PCT.VALIDN} (``@i{Area} Valid N %'') +A percentage of total counts for valid values within @var{area}. + +@item @code{@i{area}PCT.TOTALN} (``@i{Area} Total N %'') +A percentage of total counts for all values within @var{area}. +@end table + +Scale variables and totals and subtotals for categorical variables may +use the following additional group cell summary function: + +@table @asis +@item @code{@i{area}PCT.SUM} (``@i{Area} Sum %'') +Percentage of the sum of the values within @var{area}. +@end table + +@node CTABLES Summary Functions for Adjusted Weights +@subsubsection Summary Functions for Adjusted Weights + +If the @code{WEIGHT} subcommand specified an adjustment weight +variable, then the following summary functions use its value instead +of the dictionary weight variable. Otherwise, they are equivalent to +the summary function without the @samp{E}-prefix: + +@itemize @bullet +@item +@code{ECOUNT} (``Adjusted Count'') + +@item +@code{ETOTALN} (``Adjusted Total N'') + +@item +@code{EVALIDN} (``Adjusted Valid N'') +@end itemize + +@node CTABLES Unweighted Summary Functions +@subsubsection Unweighted Summary Functions + +The following summary functions with a @samp{U}-prefix are equivalent +to the same ones without the prefix, except that they use unweighted +counts: + +@itemize @bullet +@item +@code{UCOUNT} (``Unweighted Count'') + +@item +@code{U@i{area}PCT} or @code{U@i{area}PCT.COUNT} (``Unweighted @i{Area} %'') + +@item +@code{U@i{area}PCT.VALIDN} (``Unweighted @i{Area} Valid N %'') + +@item +@code{U@i{area}PCT.TOTALN} (``Unweighted @i{Area} Total N %'') + +@item +@code{UMEAN} (``Unweighted Mean'') + +@item +@code{UMEDIAN} (``Unweighted Median'') + +@item +@code{UMISSING} (``Unweighted Missing'') + +@item +@code{UMODE} (``Unweight Mode'') + +@item +@code{U@i{area}PCT.SUM} (``Unweighted @i{Area} Sum %'') + +@item +@code{UPTILE} @i{n} (``Unweighted Percentile @i{n}'') + +@item +@code{USEMEAN} (``Unweighted Std Error of Mean'') + +@item +@code{USTDDEV} (``Unweighted Std Deviation'') + +@item +@code{USUM} (``Unweighted Sum'') + +@item +@code{UTOTALN} (``Unweighted Total N'') + +@item +@code{UVALIDN} (``Unweighted Valid N'') + +@item +@code{UVARIANCE} (``Unweighted Variance'') +@end itemize + +@node CTABLES Statistics Positions and Labels +@subsection Statistics Positions and Labels + +@display +@t{/SLABELS} + [@t{POSITION=}@{@t{COLUMN} @math{|} @t{ROW} @math{|} @t{LAYER}@}] + [@t{VISIBLE=}@{@t{YES} @math{|} @t{NO}@}] +@end display + +The @code{SLABELS} subcommand controls the position and visibility of +summary statistics for the @code{TABLE} subcommand that it follows. + +@code{POSITION} sets the axis on which summary statistics appear. +With @t{POSITION=COLUMN}, which is the default, each summary statistic +appears in a column. For example: + +@example +CTABLES /TABLE=qnd1 [MEAN, MEDIAN] BY qns3a. +@end example +@psppoutput {ctables13} + +@noindent +With @t{POSITION=ROW}, each summary statistic appears in a row, as +shown below: + +@example +CTABLES /TABLE=qnd1 [MEAN, MEDIAN] BY qns3a /SLABELS POSITION=ROW. +@end example +@psppoutput {ctables14} + +@noindent +@t{POSITION=LAYER} is also available to place each summary statistic in +a separate layer. + +Labels for summary statistics are shown by default. Use +@t{VISIBLE=NO} to suppress them. Because unlabeled data can cause +confusion, it should only be considered if the meaning of the data is +evident, as in a simple case like this: + +@example +CTABLES /TABLE=AgeGroup [TABLEPCT] /SLABELS VISIBLE=NO. +@end example +@psppoutput {ctables15} + +@node CTABLES Category Label Positions +@subsection Category Label Positions + +@display +@t{/CLABELS} @{@t{AUTO} @math{|} @{@t{ROWLABELS}@math{|}@t{COLLABELS}@}@t{=}@{@t{OPPOSITE}@math{|}@t{LAYER}@}@} +@end display + +The @code{CLABELS} subcommand controls the position of category labels +for the @code{TABLE} subcommand that it follows. By default, or if +@t{AUTO} is specified, category labels for a given variable nest +inside the variable's label on the same axis. For example, the +command below results in age categories nesting within the age group +variable on the rows axis and gender categories within the gender +variable on the columns axis: + +@example +CTABLES /TABLE AgeGroup BY qns3a. +@end example +@psppoutput {ctables16} + +@t{ROWLABELS=OPPOSITE} or @t{COLLABELS=OPPOSITE} move row or column +variable category labels, respectively, to the opposite axis. The +setting affects only the innermost variable on the given axis. For +example: + +@example +CTABLES /TABLE AgeGroup BY qns3a /CLABELS ROWLABELS=OPPOSITE. +CTABLES /TABLE AgeGroup BY qns3a /CLABELS COLLABELS=OPPOSITE. +@end example +@psppoutput {ctables17} + +@t{ROWLABELS=LAYER} or @t{COLLABELS=LAYER} move the innermost row or +column variable category labels, respectively, to the layer axis. + +Only one axis's labels may be moved, whether to the opposite axis or +to the layer axis. + +@node CTABLES Per-Variable Category Options +@subsection Per-Variable Category Options + +@display +@t{/CATEGORIES} @t{VARIABLES=}@i{variables} + @{@t{[}@i{value}@t{,} @i{value}@dots{}@t{]} + @math{|} [@t{ORDER=}@{@t{A} @math{|} @t{D}@}] + [@t{KEY=}@{@t{VALUE} @math{|} @t{LABEL} @math{|} @i{summary}@t{(}@i{variable}@t{)}@}] + [@t{MISSING=}@{@t{EXCLUDE} @math{|} @t{INCLUDE}@}]@} + [@t{TOTAL=}@{@t{NO} @math{|} @t{YES}@} [@t{LABEL=}@i{string}] [@t{POSITION=}@{@t{AFTER} @math{|} @t{BEFORE}@}]] + [@t{EMPTY=}@{@t{INCLUDE} @math{|} @t{EXCLUDE}@}] +@end display + +The @code{CATEGORIES} subcommand specifies, for one or more +categorical variables, the categories to include and exclude, the sort +order for included categories, and treatment of missing values. It +also controls the totals and subtotals to display. It may be +specified any number of times, each time for a different set of +variables. @code{CATEGORIES} applies to the table produced by the +@code{TABLE} subcommand that it follows. + +@code{CATEGORIES} does not apply to scalar variables. + +@t{VARIABLES} is required. List the variables for the subcommand +to affect. + +There are two way to specify the Categories to include and their sort +order: + +@table @asis +@item Explicit categories. +@anchor{CTABLES Explicit Category List} +To explicitly specify categories to include, list the categories +within square brackets in the desired sort order. Use spaces or +commas to separate values. Categories not covered by the list are +excluded from analysis. + +Each element of the list takes one of the following forms: + +@table @t +@item @i{number} +@itemx '@i{string}' +A numeric or string category value, for variables that have the +corresponding type. + +@item '@i{date}' +@itemx '@i{time}' +A date or time category value, for variables that have a date or time +print format. + +@item @i{min} THRU @i{max} +@itemx LO THRU @i{max} +@itemx @i{min} THRU HI +A range of category values, where @var{min} and @var{max} each takes +one of the forms above, in increasing order. + +@item MISSING +All user-missing values. (To match individual user-missing values, +specify their category values.) + +@item OTHERNM +Any non-missing value not covered by any other element of the list +(regardless of where @t{OTHERNM} is placed in the list). + +@item &@i{postcompute} +A computed category name (@pxref{CTABLES Computed Categories}). +@end table + +Additional forms, described later, allow for subtotals. +If multiple elements of the list cover a given category, the last one +in the list is considered to be a match. + +@item Implicit categories. +Without an explicit list of categories, @pspp{} sorts +categories automatically. + +The @code{KEY} setting specifies the sort key. By default, or with +@code{KEY=VALUE}, categories are sorted by default. Categories may +also be sorted by value label, with @code{KEY=LABEL}, or by the value +of a summary function, e.g.@: @code{KEY=COUNT}. For summary +functions, a variable name may be specified in parentheses, e.g.@: +@code{KEY=MAXIUM(qnd1)}, and this is required for functions that apply +only to scalar variables. The @code{PTILE} function also requires a +percentage argument, e.g.@: @code{KEY=PTILE(qnd1, 90)}. Only summary +functions used in the table may be used, except that @code{COUNT} is +always allowed. + +By default, or with @code{ORDER=A}, categories are sorted in ascending +order. Specify @code{ORDER=D} to sort in descending order. + +User-missing values are excluded by default, or with +@code{MISSING=EXCLUDE}. Specify @code{MISSING=INCLUDE} to include +user-missing values. The system-missing value is always excluded. +@end table + +@subsubheading Totals and Subtotals + +@code{CATEGORIES} also controls display of totals and subtotals. +Totals are not displayed by default, or with @code{TOTAL=NO}. Specify +@code{TOTAL=YES} to display a total. By default, the total is labeled +``Total''; use @code{LABEL="@i{label}"} to override it. + +Subtotals are also not displayed by default. To add one or more +subtotals, use an explicit category list and insert @code{SUBTOTAL} or +@code{HSUBTOTAL} in the position or positions where the subtotal +should appear. With @code{SUBTOTAL}, the subtotal becomes an extra +row or column or layer; @code{HSUBTOTAL} additionally hides the +categories that make up the subtotal. Either way, the default label +is ``Subtotal'', use @code{SUBTOTAL="@i{label}"} or +@code{HSUBTOTAL="@i{label}"} to specify a custom label. + +By default, or with @code{POSITION=AFTER}, totals come after the last +category and subtotals apply to categories that precede them. With +@code{POSITION=BEFORE}, totals come before the first category and +subtotals apply to categories that follow them. + +Only categorical variables may have totals and subtotals. Scalar +variables may be ``totaled'' indirectly by enabling totals and +subtotals on a categorical variable within which the scalar variable is +summarized. + +@subsubheading Categories Without Values + +Some categories might not be included in the data set being analyzed. +For example, our example data set has no cases in the ``15 or +younger'' age group. By default, or with @code{EMPTY=INCLUDE}, +@pspp{} includes these empty categories in output tables. To exclude +them, specify @code{EMPTY=EXCLUDE}. + +For implicit categories, empty categories potentially include all the +values with labels for a given variable; for explicit categories, they +include all the values listed individually and all labeled values +covered by ranges or @code{MISSING} or @code{OTHERNM}. + +@node CTABLES Titles +@subsection Titles + +@display +@t{/TITLES} + [@t{TITLE=}@i{string}@dots{}] + [@t{CAPTION=}@i{string}@dots{}] + [@t{CORNER=}@i{string}@dots{}] +@end display + +The @code{TITLES} subcommand sets the title, caption, and corner text +for the table output for the previous @code{TABLE} subcommand. The +title appears above the table, the caption below the table, and the +corner text appears in the table's upper left corner. By default, the +title is ``Custom Tables'' and the caption and corner text are empty. + +@node CTABLES Table Formatting +@subsection Table Formatting + +@display +@t{/FORMAT} + [@t{MINCOLWIDTH=}@{@t{DEFAULT} @math{|} @i{width}@}] + [@t{MAXCOLWIDTH=}@{@t{DEFAULT} @math{|} @i{width}@}] + [@t{UNITS=}@{@t{POINTS} @math{|} @t{INCHES} @math{|} @t{CM}@}] + [@t{EMPTY=}@{@t{ZERO} @math{|} @t{BLANK} @math{|} @i{string}@}] + [@t{MISSING=}@i{string}] +@end display + +The @code{FORMAT} subcommand, which must precede the first +@code{TABLE} subcommand, controls formatting for all the output +tables. @code{FORMAT} and all of its settings are optional. + +Use @code{MINCOLWIDTH} and @code{MAXCOLWIDTH} to control the minimum +or maximum width of columns in output tables. By default, or with +@code{DEFAULT}, column width varies based on content. Otherwise, +specify a number for either or both of these settings. If both are +specified, @code{MAXCOLWIDTH} must be bigger than @code{MINCOLWIDTH}. +The default unit, or with @code{UNITS=POINTS}, is points (1/72 inch), +but specify @code{UNITS=INCHES} to use inches or @code{UNITS=CM} for +centimeters. + +By default, or with @code{EMPTY=ZERO}, zero values are displayed in +their usual format. Use @code{EMPTY=BLANK} to use an empty cell +instead, or @code{EMPTY="@i{string}"} to use the specified string. + +By default, missing values are displayed as @samp{.}, the same as in +other tables. Specify @code{MISSING="@i{string}"} to instead use a +custom string. + +@node CTABLES Display of Variable Labels +@subsection Display of Variable Labels + +@display +@t{/VLABELS} + @t{VARIABLES=}@i{variables} + @t{DISPLAY}=@{@t{DEFAULT} @math{|} @t{NAME} @math{|} @t{LABEL} @math{|} @t{BOTH} @math{|} @t{NONE}@} +@end display + +The @code{VLABELS} subcommand, which must precede the first +@code{TABLE} subcommand, controls display of variable labels in all +the output tables. @code{VLABELS} is optional. It may appear +multiple times to adjust settings for different variables. + +@code{VARIABLES} and @code{DISPLAY} are required. The value of +@code{DISPLAY} controls how variable labels are displayed for the +variables listed on @code{VARIABLES}. The supported values are: + +@table @code +@item DEFAULT +Uses the setting from @ref{SET TVARS}. + +@item NAME +Show only a variable name. + +@item LABEL +Show only a variable label. + +@item BOTH +Show variable name and label. + +@item NONE +Show nothing. +@end table + +@node CTABLES Missing Value Treatment +@subsection Missing Value Treatment + +@display +@t{/SMISSING} @{@t{VARIABLE} @math{|} @t{LISTWISE}@} +@end display + +The @code{SMISSING} subcommand, which must precede the first +@code{TABLE} subcommand, controls treatment of missing values for +scalar variables in producing all the output tables. @code{SMISSING} +is optional. + +With @code{SMISSING=VARIABLE}, which is the default, missing values +are excluded on a variable-by-variable basis. With +@code{SMISSING=LISTWISE}, when stacked scalar variables are nested +together with a categorical variable, a missing value for any of the +scalar variables causes the case to be excluded for all of them. + +As an example, consider the following dataset, in which @samp{x} is a +categorical variable and @samp{y} and @samp{z} are scale: + +@psppoutput{ctables18} + +@noindent +With the default missing-value treatment, @samp{x}'s mean is 20, based +on the values 10, 20, and 30, and @samp{y}'s mean is 50, based on 40, +50, and 60: + +@example +CTABLES /TABLE (y + z) > x. +@end example +@psppoutput{ctables19} + +@noindent +By adding @code{SMISSING=LISTWISE}, only cases where @samp{y} and +@samp{z} are both non-missing are considered, so @samp{x}'s mean +becomes 15, as the average of 10 and 20, and @samp{y}'s mean becomes +55, the average of 50 and 60: + +@example +CTABLES /SMISSING LISTWISE /TABLE (y + z) > x. +@end example +@psppoutput{ctables20} + +@noindent +Even with @code{SMISSING=LISTWISE}, if @samp{y} and @samp{z} are +separately nested with @samp{x}, instead of using a single @samp{>} +operator, missing values revert to being considered on a +variable-by-variable basis: + +@example +CTABLES /SMISSING LISTWISE /TABLE (y > x) + (z > x). +@end example +@psppoutput{ctables21} + +@node CTABLES Computed Categories +@subsection Computed Categories + +@display +@t{/PCOMPUTE} @t{&}@i{postcompute}@t{=EXPR(}@i{expression}@t{)} +@end display + +@dfn{Computed categories}, also called @dfn{postcomputes}, are +categories created using arithmetic on categories obtained from the +data. The @code{PCOMPUTE} subcommand defines computed categories, +which can then be used in two places: on @code{CATEGORIES} within an +explicit category list (@pxref{CTABLES Explicit Category List}), and on +the @code{PPROPERTIES} subcommand to define further properties for a +given postcompute. + +@code{PCOMPUTE} must precede the first @code{TABLE} command. It is +optional and it may be used any number of times to define multiple +postcomputes. + +Each @code{PCOMPUTE} defines one postcompute. Its syntax consists of +a name to identify the postcompute as a @pspp{} identifier prefixed by +@samp{&}, followed by @samp{=} and a postcompute expression enclosed +in @code{EXPR(@dots{})}. A postcompute expression consists of: + +@table @t +@item [@i{category}] +This form evaluates to the summary statistic for @i{category}, e.g.@: +@code{[1]} evaluates to the value of the summary statistic associated +with category 1. The @i{category} may be a number, a quoted string, +or a quoted time or date value, and all of the categories for a given +postcompute must have the same form. + +@item [@i{min} THRU @i{max}] +@itemx [LO THRU @i{max}] +@itemx [@i{min} THRU HI] +@itemx MISSING +@itemx OTHERNM +These forms evaluate to the summary statistics for categories matching +the given syntax, as described in previous sections (@pxref{CTABLES +Explicit Category List}). If more than one category matches, their +values are summed. + +@item SUBTOTAL +The summary statistic for the subtotal category. This form is allowed +only for variables with exactly one subtotal. + +@item SUBTOTAL[@i{index}] +The summary statistic for subtotal category @i{index}, where 1 is the +first subtotal, 2 is the second, and so on. This form may be used for +any number of subtotals. + +@item TOTAL +The summary statistic for the total. + +@item @i{a} + @i{b} +@itemx @i{a} - @i{b} +@itemx @i{a} * @i{b} +@itemx @i{a} / @i{b} +@itemx @i{a} ** @i{b} +These forms perform arithmetic on the values of postcompute +expressions @i{a} and @i{b}. The usual operator precedence rules +apply. + +@item @i{number} +Numeric constants may be used in postcompute expressions. + +@item (@i{a}) +Parentheses override operator precedence. +@end table + +A postcompute is not associated with any particular variable. +Instead, it may be referenced within @code{CATEGORIES} for any +suitable variable (e.g.@: only a string variable is suitable for a +postcompute expression that refers to a string category, only a +variable with subtotals for an expression that refers to subtotals, +@dots{}). + +Normally a named postcompute is defined only once, but if a later +@code{PCOMPUTE} redefines a postcompute with the same name as an +earlier one, the later one take precedence. + +@node CTABLES Computed Category Properties +@subsection Computed Category Properties + +@display +@t{/PPROPERTIES} @t{&}@i{postcompute}@dots{} + [@t{LABEL=}@i{string}] + [@t{FORMAT=}[@i{summary} @i{format}]@dots{}] + [@t{HIDESOURCECATS=}@{@t{NO} @math{|} @t{YES}@} +@end display + +The @code{PPROPERTIES} subcommand, which must appear before +@code{TABLE}, sets properties for one or more postcomputes defined on +prior @code{PCOMPUTE} subcommands. The subcommand syntax begins with +the list of postcomputes, each prefixed with @samp{&} as specified on +@code{PCOMPUTE}. + +All of the settings on @code{PPROPERTIES} are optional. Use +@code{LABEL} to set the label shown for the postcomputes in table +output. The default label for a postcompute is the expression used to +define it. + +The @code{FORMAT} setting sets summary statistics and display formats +for the postcomputes. + +By default, or with @code{HIDESOURCECATS=NO}, categories referred to +by computed categories are displayed like other categories. Use +@code{HIDESOURCECATS=YES} to hide them. + +@node CTABLES Base Weight +@subsection Base Weight + +@display +@t{/WEIGHT VARIABLE=}@i{variable} +@end display + +The @code{WEIGHT} subcommand is optional and must appear before +@code{TABLE}. If it appears, it must name a numeric variable, known +as the @dfn{effective base weight} or @dfn{adjustment weight}. The +effective base weight variable is used for the @code{ECOUNT}, +@code{ETOTALN}, and @code{EVALIDN} summary functions. + +Cases with zero, missing, or negative effective base weight are +excluded from all analysis. + +Weights obtained from the @pspp{} dictionary are rounded to the +nearest integer. Effective base weights are not rounded. + +@node CTABLES Hiding Small Counts +@subsection Hiding Small Counts + +@display +@t{/HIDESMALLCOUNTS COUNT=@i{count}} +@end display + +The @code{HIDESMALLCOUNTS} subcommand is optional. If it specified, +then count values in output tables less than the value of @i{count} +are shown as @code{<@i{count}} instead of their true values. The +value of @i{count} must be an integer and must be at least 2. Case +weights are considered for deciding whether to hide a count. @node FACTOR @section FACTOR diff --git a/doc/tutorial.stt b/doc/tutorial.stt index 130ae9b23b..5c15a7130d 100644 --- a/doc/tutorial.stt +++ b/doc/tutorial.stt @@ -49,5 +49,5 @@ - + diff --git a/doc/utilities.texi b/doc/utilities.texi index 4cad836ad1..5062ead2eb 100644 --- a/doc/utilities.texi +++ b/doc/utilities.texi @@ -861,6 +861,7 @@ If the value has no label, then the literal value is used for display. If @subcmd{TNUMBERS} is set to @subcmd{BOTH}, then values are displayed with both their label (if any) and their literal value in parentheses. @item TVARS +@anchor{SET TVARS} The @subcmd{TVARS} option sets the way in which variables are displayed in output tables. The valid settings are @subcmd{NAMES}, @subcmd{LABELS} and @subcmd{BOTH}. If @subcmd{TVARS} is set to @subcmd{NAMES}, then all variables are displayed using their names. diff --git a/doc/variables.texi b/doc/variables.texi index 5cc1a23620..ab6f83daea 100644 --- a/doc/variables.texi +++ b/doc/variables.texi @@ -600,18 +600,12 @@ purposes. It does not affect the display of variables in the @pspp{} output. @section VARIABLE LEVEL @vindex VARIABLE LEVEL @display -VARIABLE LEVEL - @var{var_list} ( SCALE | NOMINAL | ORDINAL ) - [ /@var{var_list} ( SCALE | NOMINAL | ORDINAL ) ] - . - . - . - [ /@var{var_list} ( SCALE | NOMINAL | ORDINAL ) ] +@t{VARIABLE LEVEL} @i{variables} @t{(}@{@t{SCALE} @math{|} @t{NOMINAL} @math{|} @t{ORDINAL}@}@t{)}@dots{} @end display -@cmd{VARIABLE LEVEL} sets the measurement level of variables. -Currently, this has no effect except for certain third party software. - +@cmd{VARIABLE LEVEL} sets the measurement level of @var{variables} as +specified. @xref{Attributes}, for the definitions of the available +measurement levels. @node VARIABLE ROLE @section VARIABLE ROLE diff --git a/examples/automake.mk b/examples/automake.mk index fd78765c00..21244bc408 100644 --- a/examples/automake.mk +++ b/examples/automake.mk @@ -25,6 +25,9 @@ examples_DATA = \ examples/grid.sps \ examples/hotel.sav \ examples/horticulture.sav \ + examples/nhtsa.sav \ + examples/nhtsa-drinking-2008.sav \ + examples/nhtsa-drinking-2008.sps \ examples/personnel.sav \ examples/physiology.sav \ examples/repairs.sav \ diff --git a/examples/nhtsa-drinking-2008.sav b/examples/nhtsa-drinking-2008.sav new file mode 100644 index 0000000000000000000000000000000000000000..bae9e0109e244d045177ddbab26ed1b943fb89ba GIT binary patch literal 1086683 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�{sLU+|7AX=8^+Xe0-p=9%G_cJR{HE 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 z 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�m-<)Ysz)&CFt(>iMrKUOv3v9fzK8O7)OU7dG)0r#!G#>sQ&Cm3-Cw<+x^f z+s;N_;L_}1vMXZ8hrV-jL2k^;E`0Mw>)nm z7YGRTYa=1>nze>(H@|ZIgZZ2l>M~I;I$QR=nR9bsq1qR|zhC{@{r+J-zCEY)s{m^I z8{q?rMjN9b$612IGmd9;7h&p#^>S@_)qKVNjvaiV$KZu?kXwJ#YV-TN>+tkv8DHto z5(43C<*k+cfEfG$uY-rLsrm!o6Y6!p!}bba&GW>k)A6P2xLhcFN6E>A4{mE#l98PB zoNs)~c~xZ>dq5t0c!8`splRQEsT||i2*`a}UMCRoY2nk}sxF`I!U zh2X2z@9C|{{rIpo)Bo6c!h@YF9<_)`QJHe&7l9 zuPL8ayBHjy5HRAbqQ^SVFZfz@N%wK4`omGkZE@owZqY$#GaPj<#ihFb4KF9_2MX2{ zeo?CBZR+olBDa!WXlg}{hmO06bwk=GQt@BM-$eYL<^{0#0s9Ja7S~)FK-2p-W8I@H z2(*9@Z^hmcz~JJRso{@#sL|-;s(-VtYwhhPJ+|azyHEM*DYN*LGuQEh`XjAD=?`ca zl^%%F6zYKA`DMMp#Ju4lgKnKB;)UR?v$3nu=0$gy$Un2?)Wld z%n-%y{cOCXTTCj~vsPsua1!j9X0w*^Y;mHtNi5?@Wv>k}^=HXD!i)W$OpqXI!l zW#`c^CVA;_ydI3Dhr4t=NaPcB(zseT?k&=;kJO;(`#yAJZz&OUnWI{a#IePa6l4J+e9T)|gy z(&Pt|9{ou1Df1}peM=T|JlgR$A*bN=rT5|ox2$!%fX(Xq4r;+qevmu*+N(FD^|MJ% zDIQf{o#S>1nLqAh7`A&ogtolCSp2ELZ-S?Yt2%tpjz>2kr+L=>BV`T=Iv=@DWsjeY zml7_{E@s&ew;4!W+cp)nJveh=^x^D|*{Pl;*mo*q*sX&(tj z@&R9OM(Zc?x-|AF(NK~A{WUGVBqwpBK%r@|7&a{+@-zAy{z~*t-rQf)>QAZpocZ2P zKH<1H%?G??w!9|dJwrrZ#wGn3m#kes&Yz7-+N0e@bw~`)`kTm~i5EI`zc#ObbS5sv zp;(a2!tzqQz%!<9y^#B+k&ft-`Eeq54%hxz=i8Ro=vMwx@p`Aek8!gS zPg$Q6co2x)n=B^sF3&FshW6bKa!^L0_4G}gFqscd*=Hu|$g9m`Hy%VzoUMf`Nh@&i zrJbkxbJ(v`bgLc^@M&)(DO3T)aCn0JAbmYCAF!bMw(3_a*nRk$Uwq%pJ|o%x1g?|@ ziWJf~1cDCZah%|EbvPhCZq;pvTHh=Eb^MI^JoO(w{(a>0TE~>enaw8Or2H>mp;@2j zbvbSai}9z?$>_^=E_)I(6V>KwUZT_&I`h2d%`{K{l=mGhZkd#i&#%xKD$vP!Ot5JQ zagUfZI21_U_omdf>pBd1O=o{P=cOrrdFE_fNUV)3Y)j@OPz@i*h&X~j#Ry~{gTX7? z^Ag3*!yli&svD{tA*x|P?*4Prh(k;r5{ zCgzpk1y!lgqliL=PW;L5Xv^Z4uWLkQH~4dq=ao8q-j2@?XWY@BX*~MQ&C$q7>vIr^ zZo|$Uelz^@JdVs-uEsnCG{xt{eyodY_8;x9Z0F%$LOxrhx3o@mPmKp53Srn2fOjDY z;35YJ(>wqJ@f4OMH|M&ZX*`7sr|NpA#m;NLhu%8%s^HD2E4)^?QoTw#Xb$i&uoX|a zUjWk;g1EjRX`fIt{x~gfGY#dEP{@-VDeohNrg$b)!&uj`vK~8iwCF33c<;u$#8(L& z?T*MvA_FB-Fq1QS@q4Cx^-VKD$o1~m=v^`XhIt>x15fysfBwghe{t?9Kl>Y3j~;z> z>c2|!NVnOpqMp#`F5R<2`9O|9qFdQJTNWul-tSsq@yAdVl~4IUiwR*-69wiL_tEh; z{-ClR;BS8Xu%->{8K+Ooc+H=De0 ziB37hSE>~YB)_PGDo)7#C=>n$KiJ`i$hX3-{(LsB>2Wa{3S4S2Om?Lpq2v*IL%)Bb z@>1lrq=YNhS7{tt@AQ3ia772_czHHUFl; zrdjyVU*IvYj+~-?#_q2A&Ej*j5^eA6OWr{w7IH^0#I(FC@QATMXC{ zqST{!CElp~k4g+dA4Mv7bbF4gR2b?Hl$UC~UT0mL+H*g#K3fnHBf||JUII$9X9(K5`bWu&2Ocg@$4ktJuDA+Ojwc zQ#WPYftq(vcWL1o@6$VxQ^z0gw8SG$IF9i)T+1ITD1kS9T}=uWERnJtbzM#Mebo88 z^v9EukL5+F(SI*OMf>WvS12KU@{;T7NOhW>Ghfs3e{H)u!Mq-MsW_)OwC=@vtkzX6 zg9BMeUe=>Div}?#zGB3mU=&{rC+d22y`MU9$KIoU7IHi1BIY5sQKRAr>&eJ8{>%$T z8;~t8;YxlP;JhGr=VOzkHDQ_9P5m4Nb8LMIo65i{N^(8=rSwAB?9c9Eil!W$vyC(Cd4%{|Hczo zSGKPbzw5ooOXJ9YB>PeXQ}j5yzMlJGJ~mrU^2?6fvxL%mJ!w@x;wT^}4mBP%APbZa z_vwHq_6>6#yR3UApNPK4>(ce1K9R568vOoA#^L;im``wgrE)eMU)ulC*W1)Nwl(X| zl%Ik_b_FEzKprY;&}gA=Tcs=k^SrM2=SPsi4|RPVT%CMA=G~&-rz7GL1tU9^Z1}IvM|=cTU?UC3rM=;S1=GLh1^9 zWgaz%K%!e|3L`cz7+2}L7sPZ}>gTRnv)I`A;=aJs&ATKYhOGU{cfhl>>}gy+Tmv^B z&3eZ1`emfAL;03YC4)j~yH$^%q$tir>8R2T6qr4Q$MMj9u+;lUd7iCfN5PwcXFt3- zplM#_fn}23V&C4^#(j^REl_4WJN3@+Gok|HQ6T}hhrR%X!DB{h(~fzz5_i`1D%MeT z;$hcc(mvYsQzstOqA!S_RbA17eT0@W*1cixP?;@ou3`PP05Bf^_Ls^c`#Rr;@ zl;h@oxgHyQu<*5HPaS_OIl*|gr-!~@`x3EEf0{nMD_>rL zH&wnfPnismpuU&+T%J(QntwyKt8ecsU-LO}duP68r|m2J%ww^y!M3;#OjweY*w&*} zh?#Ab#=M>}_(A;SVZxa6FtmM%DHw`8F+Qp4XR2}0huPr=`@cch{o}wj+_+YbRqmJ( zmk-7vO2PXPAMb#@`nvTvbaDlcY8;AS#a5zD*F(v;5T*pmzD`xYcAkgm><`wir#(sI zF!jfadzz!M_qY;9u7_GQ@&Phw+Z8lmgXbx5>DjQe<8+;lv6_cCB3~}^-SB8J~!@_zJKS-u2+>f@5)h%^IF#djd{t46Q28i z;;EJUa`B6kgNLKzbe-Gc2kZX&^T*wMs~x}mrN&>X z@1!9Q}|7ote)F*bIn9&I1484_S)(L5nxChM+xY`aIDo}pj>pGq{suV(uDYLz zxJA`e>{2th~OA&(yPnv?Ge_A?A~0Es_)Q6#~@gb7o4OC7q*7!iC|`*J~`iZvR(! z9bTB)55q`t{B;z#`dk-BxHOiU1O0Ih@zr3`u4Flm7Xp_a@m9%61{aU`xUJG38vrmX z$X6Q3|H-a8*Yk3HFO9oP4yw1X{(zdS%8^y@lr(EB+$4&~5Bq1Su3q?{&Lgn%PF*PK z#bM_k!_FDF)8&Nh|wQ6npA8qmoxyKit979(UKw#xpT5qPn`Q!hB%63H=EG z|26K6gmHkK*VpT*=aG<8XP#0##kjJaU-y1p&ta;cQJuqfKHjjr9ylDj<;le7j5-vh z&`HrIA-nS}QD+?9r={3cx&FpfIpsRl=V!}_v$gdWs4NQc0YYiy#IqiEepNSv)7<}( z*GZ}V+4MEi@7#&=JpNMM<@(vUCiItZ!AoK1VNbfnNm+l24}_NgvCnDYDeJHB6meB& zelqF{X&!ebE*y`BS<+nS&vqp_iNuHtc$`@rdCB1MGlUBxU8j@{F0-HU_$&U8{^$P)sH@-W zV%Ci$K9^N{K3?l=ntnnJ3g94=vd^N{O>$^b)V$yUDU!m&04dfpJE!+jgJBzWbcRel+*FN50_uH@)kYw4YO|_dNo= z&TrO^HqNP9Vk_~xMHX@s&kF*;Tk!*?F0nH%^(nd|V$(21ZYVzD(K>!-Tuz-|V$p+n z_0WrF)fnjDWjgWKbDWjr!Bs0m&SiRn2~YL&65 z)vz82yJFlh8;6KIFVWQ3)^xAy+OChjknuQJW;+8cexB=}`8r-&Ux^Lp`shSICQ4Gm z6Sx4!aOEMNAbVFGnWV#Yo~_PT>5p+-+RydT&N|}26Z~+v@uc_<^8v%|{Wp64#`@Lu zB&qv}XS;d?MaBgNo0RA);v3tP!}*CgV#WQ3+kSC8TYppiwKyEjl2=4tC~xf88l`O1^{P@;XyV`(-nWHc!!^SWiDPf=aX)}7>3?sLcS4FWlC z36;0W!+3#1dE;=9=TU=4%YG3Z{)~JlcwxJEVQ17u_1VpVeE8(9oKTj+VUa+}3$twW zl=%|{N|3&;NvX?p>Y|-ELiKI(ZtHI+{${wj%^==TyoGMBGag~ zoMI+0=5xqhkrbr|*JVoI>IAMMy8C5Dy(sjz8~x3%Us%wYkU{In*E>SB+d^~F-A>-c zKY49_0#}xo#$P%tw%zGE#-YDD51Tg66#0GV@s+~GMZ1Ix(`+3fjspj-^0V<$`S=x-J8R9 zzXFePdh@##Dg)rZ{7y1>9!P-hLoV{F_nBfopwo9Bd>VQ@A9>|E>4bgBd?s*}I-B@G zCT4!fMy1E;P;5B4pG+M$Pr2S^o44M{csz1B>|Xn$EG{jqT5zAm^!U$}LTM}Mk?|`> z6O&Av3`dYuK%yTR4Pvy3w<=uh=icG@_IP{`cE7Y~ty=lyIKVYJz(#V!$(kDxMNRTN zN`o#HKLCmMh&gbO3TWh~&8Jo@@dFOJ=&>G;>=)Ltuc*U^-G4+pzgyp0Y~5Iw@}Ag- zhi~sIlScn`u!Q+RdbCYSKt2jjM0k2?T3-_J*1|1}8O5cY`HF}iB9HheJU`gDLElcN zitEhAIxnxg*0b8DGN6WCAr{L?hNtgfsmS!Ry%S@JJ9bq2SM>9IeWx$e<1f|OuKvmV zGxCi1ir>1_E5R9R++>9kJ805(G~st@zB**eKItK+h#S6emvE(emh3!@Kl5lyZ-~1b zuWauF-e1W3*>u)*nLks%{SDGv-iKBDRw(Y{6TA6zuvq9%w=z71Q{si#XMmYRVSzFI zTlX0yRhKo`0~8mSAPTk>87hbSzkBjrrGkEh?g}E8Fy)ZPI?qWAR6~tguJ9@NvltJvCX69`hOjN<2X6x zg*S_*sAGsf!-6tbrFe#ZkUsGY@9;X4Z92dBGU-ov^aKzPnRo(tXjlJt58LaAYyaF^ zN^wJLpAYxlr}*#C5A^28o18B3@fnkT%ipN7#3>-acu7}U<4M0={GgHtm}v-6>I1K9 zLsUB>&6V$(F<(#I(Aj_3<1zJvJPKUHT;H0&rS54-YFu#X4akQa5Ii1twkvd{#M1Ni z79W0)8L@hQwX$xa<7Xm%k2v{vKEQrS8&bdhME^ka{kH8Kdy@VlAM_{|Vi^?wk&|xp z0K~kj?wgs<^Gu!j)Zq1qU!H+{ay@cFZ!!;!I!nzr$STcKm_PNR^(G8D3Ll7Hhy61v z{;c_cIJCnDnm@r9qy7P|wb5S0HR5DP`Dpr($CKA74gREJOxD2PfP!(S`nxx7Qg1s& z_z{=UZPooI`iq{pZu)fravgr%2WHi;ChJ7S-$+liaYo!u?yT{L{-jueMs}1ctNzup z?{MU)tb6Ii?bc)3M{xNAy`??tFisAA_vTQ1EIsb=v++{I3)Y!Ljy18YMR&sEpvU5I zcWbrI4OH_wSaH;o z%ednSXaFR{d0LqOVdxlp{<74Q>v_3p^Yp<}VOKk3@5@VWgp^Zr|2_TN$SCSE^xsE6 zR&Dq0FCtpuD}vAb;P?vB!V6+p@caK@uvL9xyes5Y`y2AY;D?Fp1Mt;+{u9Bsv@zm# z3N9mG7cJIRMSqb_f*<6pNqUkSM~bst@eL@*4Wkmr3M2n#T@Qot*y%Hh@fbXD686Qw znKqx9{d3#CxGzS^^A@>J3@oyB^r>G!l7k%9d35b}iru&Tj_f{<$JZTnJkmc?*5xE? zQ_hUMB$Yipm9iZ3m*x)Qpr2rd9;eM)M4T1!dNVwaUChc?EBp66k9oYYFQfyHqHk@s zWDPP3P^jx6Wj$z_KU^Vx4?OQ@JhGvl@i3weENb7YkK&h=Z}H*w&l=`wJc36oC7!pv z%MXgPbf7=}0$svh4B6O+tK?m^{*Y6L=fx9w|DVe>9&;VUbyE64(2nb(V5sY(;!{p7 z5PXEa=-yRvuv?@#RG)WOx6Z;kvp|Lh`t10tglA4sK!KTbO z>ZH`TwUMYEYw4_Rr^<+_JPg+b?Dn}ntR9Z{q+OJ zKmEnte%E7CUF|uN6Z`Gx>vMu3AFS)-Xxydw31WdpPCB~;g~GT4k{D|?Zyrl-xFUHS zxShOf=|HL5cKl$cpH6vBt|!0k64lkF*88%*>5ogly95dTh#vqC0-mCDY^8!z4pPj) zo&K0Oxpm#fiTTSZ``cK5DZfAMgYf!M(Z9Awr!9x#tZ973lR*O3k@!lg^MevE>){~! zjS8>VaSi>_9bVXpyb!bFh6jE~Ji4S|>|{Od3nU(mxF)Tux5mnK+F~9*@u~Hh@aba| z*MQ3R1ex(jeXZEN*M+JNu`>=MZixEKlRq>oUY0da+B?-BJhXtUs~5Qoi~>KSZ5od)WO|9X-na5eG-Sq+8^`xq}~6$SVCk z#0|OAN7eUqy`vTMIE^3N?~riKeMo(qVfUaIdA>>Wn0)DG9&=mq)7r~c)??)X+JOSk zn6J>Egq4qD)JK}vuTQLh-j&x0bmFXti!a8$Mq72=OJpBHNtU1E2Ts0_*Q4nTpc0X1 zp5Q6rP~xNbL72ty`m~sL(qHS(tj99%OWml$U(zEcVY~iMaCyHJK1n)hj`iE!QJMcn!0X1%MGeU`A za($bx!gHEGalnTgk|Z~21{!-0Ik_GwIbHUM@rmnx`u4e}UUAqfuHE#dyq{sz8(#Wh zu5Zb@A&p|#iMCnykz!BN`AWHu_yDGTh)FKfEL ziF}YeqU5W>B|<_Fwr_!u#dC0@e9#99#or9PJ^(p|Uv^)X{Bq}dsgc)2{CS4)%!)s| zctn#SC-J)NTBmosZr)U^$1{#!R^X>A*LUL=jW>+bay;w9)cH1OqD14DeLuMAYyO6R z+WS?%2NUzWQkOr1{sD{%EmA(?zjy#dqH^waKB^@4+ocKnT)4M)Q zoUlco%b|W0QX2OSARpB~M5L|xo9J>{$O?;NzxJxGy<+{!`v9f+ zu794%Q?iz@vVf}mf$?v30}LjJojGjV;&Eq&QXrt&zKZKdLL9d9=tt3dV%rV%q0YLF zm?sH2eOmfU`sLG+~HC4yZw#$LFoll#ixiE_zz2vnZ>?=#oyHYFm0ck z;M3suAA)b#T5n9JW$af(guIq7FWzeAmr|WUUL}mnb}wgRduKdGKB&HnvHF2q^UifX zSn5|d&wYB|)k|l6h5V~+X9s56*~I)(XjS_Ri?^^K<6?L!?OMRki%sQpbWs1Ot}~nS z`Kf-epZXy0dFjmfMR*VnIU{Bg&YwBs^7<`FQtWRp{5qnp=JBYglcyCoC}m|RdhXJ3 zL-Et4Kdi&=Z9D&6@C??Oi1b0aSl%ku>yX(G?4R|peZ5r8=a4MO@8HQrJ?=R%_yd8dzK9u11otH9ilKk_eoO1rhx|7!UQ>bG9 zj9joB@ZkBx@Q$x^C(q>^Ih=3pKR4K?jEp$6Gmqms=rH1#GqI=n4J?2~9pdKZXyTX= zmBx5UBU5+)Wc!Z#o;9hFCqIZeAsV%QXuh&lAF9V4aZIPKuoGb;+K5AC=bIP8p0INQ z(#}4D?kB?D8-GKJD!Ym}xx{_QC}6RV64D~Mv5H6Duf2@F+8<8i_4a!I*PzFF_K(x) z-sbB!&Mepl3RZVtbp94zp{RhCltS%uSDqL1!$H1o!aqeJ+C_Lx>>gO z6xUolo8N)cjcXW(Dq{03L|y1Qe=V&Gg{frwNNu=F`zSU1urJwHhp#*zm-gHEKkx!} zu}8ck>uHV@x2I?0rI@$W!V+*`j;N3q#N)^+@w#Zw&kT+n;;49+H++kFN2w1TKA-j} zx;5=nbVJ&AG0Eu@2bEKx4O|JGhQD!Hk4Q_4VK|iM7}J7}{fmVAYr>9MFLFTL5C=xy zcdD#!;`!-*dK|p<9r+#N5TCITTHK5MhYhO17jn@M(vS3LNV?JI#32X3ejsG3$Sva2 zQs?XNXw0ido$vbxl~+9uV;?0c5*UOO{GNu#sNSr6r_`|fi_oA`8) z?ES~m+n%U9#+frB9)(saJVX{g9oR+V_MMy?zo`6K9#Nwaz;JG^&w`3CG|u}XboT9Q z`|B{u+A~>gWSqfWByIkA+{rsNERxmaemi_gvRn2jl8d6;e$F}XP&Dgr*@yr zuU&?m)OU(ZAjJ7C|9!~_cJfi2J%{HL5{#Jg%=tx{&Lj zojyqCgQ+h2JJR14_kZZSw~kyV;#-$IFy&h~5yl&M5`StKN;Xk1)_q`Ue@d>PSLT&` zUB9XG5Uvj;KJQ&NGp_;RG(OkZYvR1nl@OK zd+9npO0sK%3P4#t`B7Xi zuZ*)gjv_wq#Gm4CMz!tw`Ij~8Q(bRV6)N@%)c8jV({PEvrMG;&F3egxXJSXn+fkat zHPNS2$5G(wj5pt$hWgCZ_aT*m`= z2_XuX!fVwVseRP*%QbIKTUXMKr(TA88n4@+JVI-X4=kuBlROzgxGt2l3(np2H7OHSkpt<- zcdOjz0A(xqqO@llTV`>CQdRHE)pviI?EREGdxIBz_=j_EeAMk1UHvfD$AEzz}1@fbNrO{L3kH>%e=t& zTXLSYMJFlq${J}{d)wXvUjznWSBeSZ%kj6=Ib?F&bNX;XwNLcQ`ycP*%ksrM{yqVJ z4%c~oM2MsL5b z%EcGC8qIGBkRnoKdi=1$wNH{|{7sJ!QXl)*u`4FVFb>&qTX~9u#iQ-J! z;)bbt4IgCQ`rXTQJ)1$ivabn|phWXLrv)I!Bp;pTXUPj?)NxkQCN=~f+m~>8@<9u(qa{FN#-!@;hq53G)}rp@cB zKP~r%{;$i4lV|RO5PHO-xt^wQVLlpc`Unm_if4F&M}nH}snRw)Nj$%Tyr$_f>e*rc zPsje5Pm1}j5Jys_{I%?U(!PX1fD}B~4`F5LXzWYx8Tk4^#lA{^Zzq1($(PG^^$g1? z_>|9JU$s?d>{nlV_R}}b!4r~38<)<{lca$nD?#Ho45tyvOIkOflnhzPHI{xWebb5l zifMhT?S9&43E%qQRmJhd5v%&%?-x8%aJi3N$}%pkgyXKXCrx7a9s*ds3J>1*qv)~r zi{~$`)CU%E#Gf)Ahnsfr9r;N0i7w4kYyg~Q9&~o%uO^O{qB+0#$|?+b2@_ALf0aV1 z9$@-p&Zk!MT`TL+acSxwS~F`L3eJH&y2*U%`yOVAx1_%yE$L7CZH{x=`^3^3s(0e2 z%}dkvXRy5|T)Pg6t8G_?CGp9waHC>*Fgs$vuw+-VFNjQ26>XP(X$X}N@zV_GfLnjX0$%p0f z_E8{m#kET=VDar)2LLYfgmOQ}T~!>xx^VM2ZzaQuetQT^d8+w>5um#|`nxnSTKCwkdz`$9`y`%>%)E`f$oWX5;Eq^H)LzBn=&@a*r)tX*F*~kMc}`Z`eOU^En`A_6tF) zk52p4^<#g!AI$y6Rrgu{wA=Tk{fbiE?><+|j02~~HJW`-c!E!5XdK4ldpx0K^+cw! zclRILuA2F!Bf9fT?fS#d&%$LnO|f?wq1Z!mLUa-g!wy`GLW#=3>bQTb#v#VwxH)*9 zxH;h#^PT<7qMj7_ z;xn#bK49m(<5NDH`EhtY`mtm|#5aKpEwPFz$t&vbAsL{mO50?

>PxDt?tuMD~GeKr=; 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

Zz;Aw=rW;fy84OXsT) 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 z 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

-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%0DICUs6xTZeGTyQc+*MddFgx_llOUl%0 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ℜ@Q>|}tSG)aLug^MPc`LpTZzd|;_(qMu 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 literal 0 HcmV?d00001 diff --git a/po/automake.mk b/po/automake.mk index f8b326f229..81c659c145 100644 --- a/po/automake.mk +++ b/po/automake.mk @@ -43,7 +43,7 @@ LOCALPOFILES = po/cs.po POTFILE=po/$(DOMAIN).pot -TRANSLATABLE_FILES = $(DIST_SOURCES) $(all_q_sources) +TRANSLATABLE_FILES = $(DIST_SOURCES) XGETTEXT_OPTIONS = \ --copyright-holder="$(COPYRIGHT_HOLDER)" \ diff --git a/src/data/dictionary.c b/src/data/dictionary.c index c13321c782..d04a4f70fa 100644 --- a/src/data/dictionary.c +++ b/src/data/dictionary.c @@ -416,6 +416,12 @@ dict_set_split_vars__ (struct dictionary *d, } } +enum split_type +dict_get_split_type (const struct dictionary *d) +{ + return d->split_type; +} + /* Sets N split vars SPLIT in dictionary D. */ void dict_set_split_vars (struct dictionary *d, diff --git a/src/language/command.def b/src/language/command.def index 352f7c1078..6db5e74e2e 100644 --- a/src/language/command.def +++ b/src/language/command.def @@ -114,6 +114,7 @@ DEF_CMD (S_DATA, 0, "AUTORECODE", cmd_autorecode) DEF_CMD (S_DATA, 0, "BEGIN DATA", cmd_begin_data) DEF_CMD (S_DATA, 0, "COUNT", cmd_count) DEF_CMD (S_DATA, 0, "CROSSTABS", cmd_crosstabs) +DEF_CMD (S_DATA, 0, "CTABLES", cmd_ctables) DEF_CMD (S_DATA, 0, "CORRELATIONS", cmd_correlation) DEF_CMD (S_DATA, 0, "DELETE VARIABLES", cmd_delete_variables) DEF_CMD (S_DATA, 0, "DESCRIPTIVES", cmd_descriptives) @@ -194,7 +195,6 @@ UNIMPL_CMD ("CSLOGISTIC", "Complex samples logistic regression") UNIMPL_CMD ("CSPLAN", "Complex samples design") UNIMPL_CMD ("CSSELECT", "Select complex samples") UNIMPL_CMD ("CSTABULATE", "Tabulate complex samples") -UNIMPL_CMD ("CTABLES", "Display complex samples") UNIMPL_CMD ("CURVEFIT", "Fit curve to line plot") UNIMPL_CMD ("DATE", "Create time series data") UNIMPL_CMD ("DETECTANOMALY", "Find unusual cases") diff --git a/src/language/lexer/format-parser.c b/src/language/lexer/format-parser.c index 85579a2ab2..aa30852d11 100644 --- a/src/language/lexer/format-parser.c +++ b/src/language/lexer/format-parser.c @@ -32,7 +32,16 @@ #include "gettext.h" #define _(msgid) gettext (msgid) -static bool +/* Parses a token taking the form of a format specifier and + returns true only if successful. Emits an error message on + failure. Stores a null-terminated string representing the + format type in TYPE, and the width and number of decimal + places in *WIDTH and *DECIMALS. + + TYPE is not checked as to whether it is really the name of a + format. Both width and decimals are considered optional. If + missing, *WIDTH or *DECIMALS or both will be set to 0. */ +bool parse_abstract_format_specifier__ (struct lexer *lexer, char type[FMT_TYPE_LEN_MAX + 1], uint16_t *width, uint8_t *decimals) @@ -79,15 +88,8 @@ error: return false; } -/* Parses a token taking the form of a format specifier and - returns true only if successful. Emits an error message on - failure. Stores a null-terminated string representing the - format type in TYPE, and the width and number of decimal - places in *WIDTH and *DECIMALS. - - TYPE is not checked as to whether it is really the name of a - format. Both width and decimals are considered optional. If - missing, *WIDTH or *DECIMALS or both will be set to 0. */ +/* Like parse_abstract_format_specifier__(), but additionally advanced past + the token if successful. */ bool parse_abstract_format_specifier (struct lexer *lexer, char type[FMT_TYPE_LEN_MAX + 1], diff --git a/src/language/lexer/format-parser.h b/src/language/lexer/format-parser.h index 7601bc46b2..6316e38762 100644 --- a/src/language/lexer/format-parser.h +++ b/src/language/lexer/format-parser.h @@ -21,14 +21,16 @@ #include "data/format.h" +struct fmt_spec; struct lexer; +bool parse_abstract_format_specifier__ (struct lexer *, + char type[FMT_TYPE_LEN_MAX + 1], + uint16_t *width, uint8_t *decimals); bool parse_abstract_format_specifier (struct lexer *, char type[FMT_TYPE_LEN_MAX + 1], uint16_t *width, uint8_t *decimals); -enum fmt_type ; -struct fmt_spec; bool parse_format_specifier (struct lexer *, struct fmt_spec *); bool parse_format_specifier_name (struct lexer *, enum fmt_type *type); diff --git a/src/language/stats/automake.mk b/src/language/stats/automake.mk index 460e95e707..26284d9f5c 100644 --- a/src/language/stats/automake.mk +++ b/src/language/stats/automake.mk @@ -31,6 +31,8 @@ language_stats_sources = \ src/language/stats/cochran.h \ src/language/stats/correlations.c \ src/language/stats/crosstabs.c \ + src/language/stats/ctables.c \ + src/language/stats/ctables.inc \ src/language/stats/descriptives.c \ src/language/stats/examine.c \ src/language/stats/factor.c \ diff --git a/src/language/stats/ctables.c b/src/language/stats/ctables.c new file mode 100644 index 0000000000..7b7a81946c --- /dev/null +++ b/src/language/stats/ctables.c @@ -0,0 +1,6904 @@ +/* PSPP - a program for statistical analysis. + Copyright (C) 2021 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include +#include + +#include "data/casegrouper.h" +#include "data/casereader.h" +#include "data/casewriter.h" +#include "data/data-in.h" +#include "data/data-out.h" +#include "data/dataset.h" +#include "data/dictionary.h" +#include "data/mrset.h" +#include "data/subcase.h" +#include "data/value-labels.h" +#include "language/command.h" +#include "language/dictionary/split-file.h" +#include "language/lexer/format-parser.h" +#include "language/lexer/lexer.h" +#include "language/lexer/token.h" +#include "language/lexer/variable-parser.h" +#include "libpspp/array.h" +#include "libpspp/assertion.h" +#include "libpspp/hash-functions.h" +#include "libpspp/hmap.h" +#include "libpspp/i18n.h" +#include "libpspp/message.h" +#include "libpspp/string-array.h" +#include "math/mode.h" +#include "math/moments.h" +#include "math/percentiles.h" +#include "math/sort.h" +#include "output/pivot-table.h" + +#include "gl/minmax.h" +#include "gl/xalloc.h" + +#include "gettext.h" +#define _(msgid) gettext (msgid) +#define N_(msgid) (msgid) + +enum ctables_vlabel + { + CTVL_NONE = SETTINGS_VALUE_SHOW_DEFAULT, + CTVL_NAME = SETTINGS_VALUE_SHOW_VALUE, + CTVL_LABEL = SETTINGS_VALUE_SHOW_LABEL, + CTVL_BOTH = SETTINGS_VALUE_SHOW_BOTH, + }; + +/* XXX: + - unweighted summaries (U*) + - lower confidence limits (*.LCL) + - upper confidence limits (*.UCL) + - standard error (*.SE) + */ + +enum ctables_summary_function + { +#define S(ENUM, NAME, LABEL, FORMAT, AVAILABILITY) ENUM, +#include "ctables.inc" +#undef S + }; + +enum { +#define S(ENUM, NAME, LABEL, FORMAT, AVAILABILITY) +1 + N_CTSF_FUNCTIONS = +#include "ctables.inc" +#undef S +}; + +static bool ctables_summary_function_is_count (enum ctables_summary_function); + +enum ctables_domain_type + { + /* Within a section, where stacked variables divide one section from + another. */ + CTDT_TABLE, /* All layers of a whole section. */ + CTDT_LAYER, /* One layer within a section. */ + CTDT_LAYERROW, /* Row in one layer within a section. */ + CTDT_LAYERCOL, /* Column in one layer within a section. */ + + /* Within a subtable, where a subtable pairs an innermost row variable with + an innermost column variable within a single layer. */ + CTDT_SUBTABLE, /* Whole subtable. */ + CTDT_ROW, /* Row within a subtable. */ + CTDT_COL, /* Column within a subtable. */ +#define N_CTDTS 7 + }; + +struct ctables_domain + { + struct hmap_node node; + + const struct ctables_cell *example; + + size_t sequence; + double d_valid; /* Dictionary weight. */ + double d_count; + double d_total; + double e_valid; /* Effective weight */ + double e_count; + double e_total; + double u_valid; /* Unweighted. */ + double u_count; + double u_total; + struct ctables_sum *sums; + }; + +struct ctables_sum + { + double e_sum; + double u_sum; + }; + +enum ctables_summary_variant + { + CSV_CELL, + CSV_TOTAL +#define N_CSVS 2 + }; + +struct ctables_cell + { + /* In struct ctables_section's 'cells' hmap. Indexed by all the values in + all the axes (except the scalar variable, if any). */ + struct hmap_node node; + + /* The domains that contain this cell. */ + uint32_t omit_domains; + struct ctables_domain *domains[N_CTDTS]; + + bool hide; + + bool postcompute; + enum ctables_summary_variant sv; + + struct ctables_cell_axis + { + struct ctables_cell_value + { + const struct ctables_category *category; + union value value; + } + *cvs; + int leaf; + } + axes[PIVOT_N_AXES]; + + union ctables_summary *summaries; + + //char *name; + }; + +struct ctables + { + const struct dictionary *dict; + struct pivot_table_look *look; + + /* CTABLES has a number of extra formats that we implement via custom + currency specifications on an alternate fmt_settings. */ +#define CTEF_NEGPAREN FMT_CCA +#define CTEF_NEQUAL FMT_CCB +#define CTEF_PAREN FMT_CCC +#define CTEF_PCTPAREN FMT_CCD + struct fmt_settings ctables_formats; + + /* If this is NULL, zeros are displayed using the normal print format. + Otherwise, this string is displayed. */ + char *zero; + + /* If this is NULL, missing values are displayed using the normal print + format. Otherwise, this string is displayed. */ + char *missing; + + /* Indexed by variable dictionary index. */ + enum ctables_vlabel *vlabels; + + struct hmap postcomputes; /* Contains "struct ctables_postcompute"s. */ + + bool mrsets_count_duplicates; /* MRSETS. */ + bool smissing_listwise; /* SMISSING. */ + struct variable *e_weight; /* WEIGHT. */ + int hide_threshold; /* HIDESMALLCOUNTS. */ + + struct ctables_table **tables; + size_t n_tables; + }; + +static struct ctables_postcompute *ctables_find_postcompute (struct ctables *, + const char *name); + +struct ctables_postcompute + { + struct hmap_node hmap_node; /* In struct ctables's 'pcompute' hmap. */ + char *name; /* Name, without leading &. */ + + struct msg_location *location; /* Location of definition. */ + struct ctables_pcexpr *expr; + char *label; + struct ctables_summary_spec_set *specs; + bool hide_source_cats; + }; + +struct ctables_pcexpr + { + /* Precedence table: + + () + ** + - + * / + - + + */ + enum ctables_postcompute_op + { + /* Terminals. */ + CTPO_CONSTANT, /* 5 */ + CTPO_CAT_NUMBER, /* [5] */ + CTPO_CAT_STRING, /* ["STRING"] */ + CTPO_CAT_NRANGE, /* [LO THRU 5] */ + CTPO_CAT_SRANGE, /* ["A" THRU "B"] */ + CTPO_CAT_MISSING, /* MISSING */ + CTPO_CAT_OTHERNM, /* OTHERNM */ + CTPO_CAT_SUBTOTAL, /* SUBTOTAL */ + CTPO_CAT_TOTAL, /* TOTAL */ + + /* Nonterminals. */ + CTPO_ADD, + CTPO_SUB, + CTPO_MUL, + CTPO_DIV, + CTPO_POW, + CTPO_NEG, + } + op; + + union + { + /* CTPO_CAT_NUMBER. */ + double number; + + /* CTPO_CAT_STRING, in dictionary encoding. */ + struct substring string; + + /* CTPO_CAT_NRANGE. */ + double nrange[2]; + + /* CTPO_CAT_SRANGE. */ + struct substring srange[2]; + + /* CTPO_CAT_SUBTOTAL. */ + size_t subtotal_index; + + /* Two elements: CTPO_ADD, CTPO_SUB, CTPO_MUL, CTPO_DIV, CTPO_POW. + One element: CTPO_NEG. */ + struct ctables_pcexpr *subs[2]; + }; + + /* Source location. */ + struct msg_location *location; + }; + +static void ctables_pcexpr_destroy (struct ctables_pcexpr *); +static struct ctables_pcexpr *ctables_pcexpr_allocate_binary ( + enum ctables_postcompute_op, struct ctables_pcexpr *sub0, + struct ctables_pcexpr *sub1); + +struct ctables_summary_spec_set + { + struct ctables_summary_spec *specs; + size_t n; + size_t allocated; + + /* The variable to which the summary specs are applied. */ + struct variable *var; + + /* Whether the variable to which the summary specs are applied is a scale + variable for the purpose of summarization. + + (VALIDN and TOTALN act differently for summarizing scale and categorical + variables.) */ + bool is_scale; + + /* If any of these optional additional scale variables are missing, then + treat 'var' as if it's missing too. This is for implementing + SMISSING=LISTWISE. */ + struct variable **listwise_vars; + size_t n_listwise_vars; + }; + +static void ctables_summary_spec_set_clone (struct ctables_summary_spec_set *, + const struct ctables_summary_spec_set *); +static void ctables_summary_spec_set_uninit (struct ctables_summary_spec_set *); + +/* A nested sequence of variables, e.g. a > b > c. */ +struct ctables_nest + { + struct variable **vars; + size_t n; + size_t scale_idx; + size_t *domains[N_CTDTS]; + size_t n_domains[N_CTDTS]; + size_t group_head; + + struct ctables_summary_spec_set specs[N_CSVS]; + }; + +/* A stack of nestings, e.g. nest1 + nest2 + ... + nestN. */ +struct ctables_stack + { + struct ctables_nest *nests; + size_t n; + }; + +static void ctables_stack_uninit (struct ctables_stack *); + +struct ctables_value + { + struct hmap_node node; + union value value; + int leaf; + }; + +struct ctables_occurrence + { + struct hmap_node node; + union value value; + }; + +struct ctables_section + { + /* Settings. */ + struct ctables_table *table; + struct ctables_nest *nests[PIVOT_N_AXES]; + + /* Data. */ + struct hmap *occurrences[PIVOT_N_AXES]; /* "struct ctables_occurrence"s. */ + struct hmap cells; /* Contains "struct ctables_cell"s. */ + struct hmap domains[N_CTDTS]; /* Contains "struct ctables_domain"s. */ + }; + +static void ctables_section_uninit (struct ctables_section *); + +struct ctables_table + { + struct ctables *ctables; + struct ctables_axis *axes[PIVOT_N_AXES]; + struct ctables_stack stacks[PIVOT_N_AXES]; + struct ctables_section *sections; + size_t n_sections; + enum pivot_axis_type summary_axis; + struct ctables_summary_spec_set summary_specs; + struct variable **sum_vars; + size_t n_sum_vars; + + enum pivot_axis_type slabels_axis; + bool slabels_visible; + + /* The innermost category labels for axis 'a' appear on axis label_axis[a]. + + Most commonly, label_axis[a] == a, and in particular we always have + label_axis{PIVOT_AXIS_LAYER] == PIVOT_AXIS_LAYER. + + If ROWLABELS or COLLABELS is specified, then one of + label_axis[PIVOT_AXIS_ROW] or label_axis[PIVOT_AXIS_COLUMN] can be the + opposite axis or PIVOT_AXIS_LAYER. Only one of them will differ. + + If any category labels are moved, then 'clabels_example' is one of the + variables being moved (and it is otherwise NULL). All of the variables + being moved have the same width, value labels, and categories, so this + example variable can be used to find those out. + + The remaining members in this group are relevant only if category labels + are moved. + + 'clabels_values_map' holds a "struct ctables_value" for all the values + that appear in all of the variables in the moved categories. It is + accumulated as the data is read. Once the data is fully read, its + sorted values are put into 'clabels_values' and 'n_clabels_values'. + */ + enum pivot_axis_type label_axis[PIVOT_N_AXES]; + enum pivot_axis_type clabels_from_axis; + const struct variable *clabels_example; + struct hmap clabels_values_map; + struct ctables_value **clabels_values; + size_t n_clabels_values; + + /* Indexed by variable dictionary index. */ + struct ctables_categories **categories; + size_t n_categories; + + double cilevel; + + char *caption; + char *corner; + char *title; + + struct ctables_chisq *chisq; + struct ctables_pairwise *pairwise; + }; + +struct ctables_categories + { + size_t n_refs; + struct ctables_category *cats; + size_t n_cats; + bool show_empty; + }; + +struct ctables_category + { + enum ctables_category_type + { + /* Explicit category lists. */ + CCT_NUMBER, + CCT_STRING, + CCT_NRANGE, /* Numerical range. */ + CCT_SRANGE, /* String range. */ + CCT_MISSING, + CCT_OTHERNM, + CCT_POSTCOMPUTE, + + /* Totals and subtotals. */ + CCT_SUBTOTAL, + CCT_TOTAL, + + /* Implicit category lists. */ + CCT_VALUE, + CCT_LABEL, + CCT_FUNCTION, + + /* For contributing to TOTALN. */ + CCT_EXCLUDED_MISSING, + } + type; + + struct ctables_category *subtotal; + + bool hide; + + union + { + double number; /* CCT_NUMBER. */ + struct substring string; /* CCT_STRING, in dictionary encoding. */ + double nrange[2]; /* CCT_NRANGE. */ + struct substring srange[2]; /* CCT_SRANGE. */ + + struct + { + char *total_label; /* CCT_SUBTOTAL, CCT_TOTAL. */ + bool hide_subcategories; /* CCT_SUBTOTAL. */ + }; + + /* CCT_POSTCOMPUTE. */ + struct + { + const struct ctables_postcompute *pc; + enum fmt_type parse_format; + }; + + /* CCT_VALUE, CCT_LABEL, CCT_FUNCTION. */ + struct + { + bool include_missing; + bool sort_ascending; + + /* CCT_FUNCTION. */ + enum ctables_summary_function sort_function; + struct variable *sort_var; + double percentile; + }; + }; + + /* Source location. This is null for CCT_TOTAL, CCT_VALUE, CCT_LABEL, + CCT_FUNCTION, CCT_EXCLUDED_MISSING. */ + struct msg_location *location; + }; + +static void +ctables_category_uninit (struct ctables_category *cat) +{ + if (!cat) + return; + + msg_location_destroy (cat->location); + switch (cat->type) + { + case CCT_NUMBER: + case CCT_NRANGE: + case CCT_MISSING: + case CCT_OTHERNM: + case CCT_POSTCOMPUTE: + break; + + case CCT_STRING: + ss_dealloc (&cat->string); + break; + + case CCT_SRANGE: + ss_dealloc (&cat->srange[0]); + ss_dealloc (&cat->srange[1]); + break; + + case CCT_SUBTOTAL: + case CCT_TOTAL: + free (cat->total_label); + break; + + case CCT_VALUE: + case CCT_LABEL: + case CCT_FUNCTION: + break; + + case CCT_EXCLUDED_MISSING: + break; + } +} + +static bool +nullable_substring_equal (const struct substring *a, + const struct substring *b) +{ + return !a->string ? !b->string : b->string && ss_equals (*a, *b); +} + +static bool +ctables_category_equal (const struct ctables_category *a, + const struct ctables_category *b) +{ + if (a->type != b->type) + return false; + + switch (a->type) + { + case CCT_NUMBER: + return a->number == b->number; + + case CCT_STRING: + return ss_equals (a->string, b->string); + + case CCT_NRANGE: + return a->nrange[0] == b->nrange[0] && a->nrange[1] == b->nrange[1]; + + case CCT_SRANGE: + return (nullable_substring_equal (&a->srange[0], &b->srange[0]) + && nullable_substring_equal (&a->srange[1], &b->srange[1])); + + case CCT_MISSING: + case CCT_OTHERNM: + return true; + + case CCT_POSTCOMPUTE: + return a->pc == b->pc; + + case CCT_SUBTOTAL: + case CCT_TOTAL: + return !strcmp (a->total_label, b->total_label); + + case CCT_VALUE: + case CCT_LABEL: + case CCT_FUNCTION: + return (a->include_missing == b->include_missing + && a->sort_ascending == b->sort_ascending + && a->sort_function == b->sort_function + && a->sort_var == b->sort_var + && a->percentile == b->percentile); + + case CCT_EXCLUDED_MISSING: + return true; + } + + NOT_REACHED (); +} + +static void +ctables_categories_unref (struct ctables_categories *c) +{ + if (!c) + return; + + assert (c->n_refs > 0); + if (--c->n_refs) + return; + + for (size_t i = 0; i < c->n_cats; i++) + ctables_category_uninit (&c->cats[i]); + free (c->cats); + free (c); +} + +static bool +ctables_categories_equal (const struct ctables_categories *a, + const struct ctables_categories *b) +{ + if (a->n_cats != b->n_cats || a->show_empty != b->show_empty) + return false; + + for (size_t i = 0; i < a->n_cats; i++) + if (!ctables_category_equal (&a->cats[i], &b->cats[i])) + return false; + + return true; +} + +/* Chi-square test (SIGTEST). */ +struct ctables_chisq + { + double alpha; + bool include_mrsets; + bool all_visible; + }; + +/* Pairwise comparison test (COMPARETEST). */ +struct ctables_pairwise + { + enum { PROP, MEAN } type; + double alpha[2]; + bool include_mrsets; + bool meansvariance_allcats; + bool all_visible; + enum { BONFERRONI = 1, BH } adjust; + bool merge; + bool apa_style; + bool show_sig; + }; + +struct ctables_axis + { + enum ctables_axis_op + { + /* Terminals. */ + CTAO_VAR, + + /* Nonterminals. */ + CTAO_STACK, /* + */ + CTAO_NEST, /* > */ + } + op; + + union + { + /* Terminals. */ + struct + { + struct variable *var; + bool scale; + struct ctables_summary_spec_set specs[N_CSVS]; + }; + + /* Nonterminals. */ + struct ctables_axis *subs[2]; + }; + + struct msg_location *loc; + }; + +static void ctables_axis_destroy (struct ctables_axis *); + +enum ctables_format + { + CTF_COUNT, + CTF_PERCENT, + CTF_GENERAL + }; + +enum ctables_function_availability + { + CTFA_ALL, /* Any variables. */ + CTFA_SCALE, /* Only scale variables, totals, and subtotals. */ + //CTFA_MRSETS, /* Only multiple-response sets */ + }; + +struct ctables_summary_spec + { + enum ctables_summary_function function; + double percentile; /* CTSF_PTILE only. */ + char *label; + + struct fmt_spec format; + bool is_ctables_format; /* Is 'format' one of CTEF_*? */ + + size_t axis_idx; + size_t sum_var_idx; + }; + +static void +ctables_summary_spec_clone (struct ctables_summary_spec *dst, + const struct ctables_summary_spec *src) +{ + *dst = *src; + dst->label = xstrdup_if_nonnull (src->label); +} + +static void +ctables_summary_spec_uninit (struct ctables_summary_spec *s) +{ + if (s) + free (s->label); +} + +static void +ctables_summary_spec_set_clone (struct ctables_summary_spec_set *dst, + const struct ctables_summary_spec_set *src) +{ + struct ctables_summary_spec *specs + = (src->n ? xnmalloc (src->n, sizeof *specs) : NULL); + for (size_t i = 0; i < src->n; i++) + ctables_summary_spec_clone (&specs[i], &src->specs[i]); + + *dst = (struct ctables_summary_spec_set) { + .specs = specs, + .n = src->n, + .allocated = src->n, + .var = src->var, + .is_scale = src->is_scale, + }; +} + +static void +ctables_summary_spec_set_uninit (struct ctables_summary_spec_set *set) +{ + for (size_t i = 0; i < set->n; i++) + ctables_summary_spec_uninit (&set->specs[i]); + free (set->listwise_vars); + free (set->specs); +} + +static bool +parse_col_width (struct lexer *lexer, const char *name, double *width) +{ + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "DEFAULT")) + *width = SYSMIS; + else if (lex_force_num_range_closed (lexer, name, 0, DBL_MAX)) + { + *width = lex_number (lexer); + lex_get (lexer); + } + else + return false; + + return true; +} + +static bool +parse_bool (struct lexer *lexer, bool *b) +{ + if (lex_match_id (lexer, "NO")) + *b = false; + else if (lex_match_id (lexer, "YES")) + *b = true; + else + { + lex_error_expecting (lexer, "YES", "NO"); + return false; + } + return true; +} + +static enum ctables_function_availability +ctables_function_availability (enum ctables_summary_function f) +{ + static enum ctables_function_availability availability[] = { +#define S(ENUM, NAME, LABEL, FORMAT, AVAILABILITY) [ENUM] = AVAILABILITY, +#include "ctables.inc" +#undef S + }; + + return availability[f]; +} + +static bool +ctables_summary_function_is_count (enum ctables_summary_function f) +{ + return f == CTSF_COUNT || f == CTSF_ECOUNT || f == CTSF_UCOUNT; +} + +static bool +parse_ctables_summary_function (struct lexer *lexer, + enum ctables_summary_function *f) +{ + struct pair + { + enum ctables_summary_function function; + struct substring name; + }; + static struct pair names[] = { +#define S(ENUM, NAME, LABEL, FORMAT, AVAILABILITY) \ + { ENUM, SS_LITERAL_INITIALIZER (NAME) }, +#include "ctables.inc" + /* The .COUNT suffix may be omitted. */ + S(CTSF_ROWPCT_COUNT, "ROWPCT", _, _, _) + S(CTSF_COLPCT_COUNT, "COLPCT", _, _, _) + S(CTSF_TABLEPCT_COUNT, "TABLEPCT", _, _, _) + S(CTSF_SUBTABLEPCT_COUNT, "SUBTABLEPCT", _, _, _) + S(CTSF_LAYERPCT_COUNT, "LAYERPCT", _, _, _) + S(CTSF_LAYERROWPCT_COUNT, "LAYERROWPCT", _, _, _) + S(CTSF_LAYERCOLPCT_COUNT, "LAYERCOLPCT", _, _, _) +#undef S + }; + + if (!lex_force_id (lexer)) + return false; + + for (size_t i = 0; i < sizeof names / sizeof *names; i++) + if (ss_equals_case (names[i].name, lex_tokss (lexer))) + { + *f = names[i].function; + lex_get (lexer); + return true; + } + + lex_error (lexer, _("Expecting summary function name.")); + return false; +} + +static void +ctables_axis_destroy (struct ctables_axis *axis) +{ + if (!axis) + return; + + switch (axis->op) + { + case CTAO_VAR: + for (size_t i = 0; i < N_CSVS; i++) + ctables_summary_spec_set_uninit (&axis->specs[i]); + break; + + case CTAO_STACK: + case CTAO_NEST: + ctables_axis_destroy (axis->subs[0]); + ctables_axis_destroy (axis->subs[1]); + break; + } + msg_location_destroy (axis->loc); + free (axis); +} + +static struct ctables_axis * +ctables_axis_new_nonterminal (enum ctables_axis_op op, + struct ctables_axis *sub0, + struct ctables_axis *sub1, + struct lexer *lexer, int start_ofs) +{ + struct ctables_axis *axis = xmalloc (sizeof *axis); + *axis = (struct ctables_axis) { + .op = op, + .subs = { sub0, sub1 }, + .loc = lex_ofs_location (lexer, start_ofs, lex_ofs (lexer) - 1), + }; + return axis; +} + +struct ctables_axis_parse_ctx + { + struct lexer *lexer; + struct dictionary *dict; + struct ctables *ct; + struct ctables_table *t; + }; + +static struct fmt_spec +ctables_summary_default_format (enum ctables_summary_function function, + const struct variable *var) +{ + static const enum ctables_format default_formats[] = { +#define S(ENUM, NAME, LABEL, FORMAT, AVAILABILITY) [ENUM] = FORMAT, +#include "ctables.inc" +#undef S + }; + switch (default_formats[function]) + { + case CTF_COUNT: + return (struct fmt_spec) { .type = FMT_F, .w = 40 }; + + case CTF_PERCENT: + return (struct fmt_spec) { .type = FMT_PCT, .w = 40, .d = 1 }; + + case CTF_GENERAL: + return *var_get_print_format (var); + + default: + NOT_REACHED (); + } +} + +static struct pivot_value * +ctables_summary_label (const struct ctables_summary_spec *spec, double cilevel) +{ + if (!spec->label) + { + static const char *default_labels[] = { +#define S(ENUM, NAME, LABEL, FORMAT, AVAILABILITY) [ENUM] = LABEL, +#include "ctables.inc" +#undef S + }; + + return (spec->function == CTSF_PTILE + ? pivot_value_new_text_format (N_("Percentile %.2f"), + spec->percentile) + : pivot_value_new_text (default_labels[spec->function])); + } + else + { + struct substring in = ss_cstr (spec->label); + struct substring target = ss_cstr (")CILEVEL"); + + struct string out = DS_EMPTY_INITIALIZER; + for (;;) + { + size_t chunk = ss_find_substring (in, target); + ds_put_substring (&out, ss_head (in, chunk)); + ss_advance (&in, chunk); + if (!in.length) + return pivot_value_new_user_text_nocopy (ds_steal_cstr (&out)); + + ss_advance (&in, target.length); + ds_put_format (&out, "%g", cilevel); + } + } +} + +static const char * +ctables_summary_function_name (enum ctables_summary_function function) +{ + static const char *names[] = { +#define S(ENUM, NAME, LABEL, FORMAT, AVAILABILITY) [ENUM] = NAME, +#include "ctables.inc" +#undef S + }; + return names[function]; +} + +static bool +add_summary_spec (struct ctables_axis *axis, + enum ctables_summary_function function, double percentile, + const char *label, const struct fmt_spec *format, + bool is_ctables_format, const struct msg_location *loc, + enum ctables_summary_variant sv) +{ + if (axis->op == CTAO_VAR) + { + const char *function_name = ctables_summary_function_name (function); + const char *var_name = var_get_name (axis->var); + switch (ctables_function_availability (function)) + { +#if 0 + case CTFA_MRSETS: + msg_at (SE, loc, _("Summary function %s applies only to multiple " + "response sets."), function_name); + msg_at (SN, axis->loc, _("'%s' is not a multiple response set."), + var_name); + return false; +#endif + + case CTFA_SCALE: + if (!axis->scale && sv != CSV_TOTAL) + { + msg_at (SE, loc, + _("Summary function %s applies only to scale variables."), + function_name); + msg_at (SN, axis->loc, _("'%s' is not a scale variable."), + var_name); + return false; + } + break; + + case CTFA_ALL: + break; + } + + struct ctables_summary_spec_set *set = &axis->specs[sv]; + if (set->n >= set->allocated) + set->specs = x2nrealloc (set->specs, &set->allocated, + sizeof *set->specs); + + struct ctables_summary_spec *dst = &set->specs[set->n++]; + *dst = (struct ctables_summary_spec) { + .function = function, + .percentile = percentile, + .label = xstrdup_if_nonnull (label), + .format = (format ? *format + : ctables_summary_default_format (function, axis->var)), + .is_ctables_format = is_ctables_format, + }; + return true; + } + else + { + for (size_t i = 0; i < 2; i++) + if (!add_summary_spec (axis->subs[i], function, percentile, label, + format, is_ctables_format, loc, sv)) + return false; + return true; + } +} + +static struct ctables_axis *ctables_axis_parse_stack ( + struct ctables_axis_parse_ctx *); + + +static struct ctables_axis * +ctables_axis_parse_primary (struct ctables_axis_parse_ctx *ctx) +{ + if (lex_match (ctx->lexer, T_LPAREN)) + { + struct ctables_axis *sub = ctables_axis_parse_stack (ctx); + if (!sub || !lex_force_match (ctx->lexer, T_RPAREN)) + { + ctables_axis_destroy (sub); + return NULL; + } + return sub; + } + + if (!lex_force_id (ctx->lexer)) + return NULL; + + int start_ofs = lex_ofs (ctx->lexer); + struct variable *var = parse_variable (ctx->lexer, ctx->dict); + if (!var) + return NULL; + + struct ctables_axis *axis = xmalloc (sizeof *axis); + *axis = (struct ctables_axis) { .op = CTAO_VAR, .var = var }; + + axis->scale = (lex_match_phrase (ctx->lexer, "[S]") ? true + : lex_match_phrase (ctx->lexer, "[C]") ? false + : var_get_measure (var) == MEASURE_SCALE); + axis->loc = lex_ofs_location (ctx->lexer, start_ofs, + lex_ofs (ctx->lexer) - 1); + if (axis->scale && var_is_alpha (var)) + { + msg_at (SE, axis->loc, _("Cannot use string variable %s as a scale " + "variable."), + var_get_name (var)); + ctables_axis_destroy (axis); + return NULL; + } + + return axis; +} + +static bool +has_digit (const char *s) +{ + return s[strcspn (s, "0123456789")] != '\0'; +} + +static bool +parse_ctables_format_specifier (struct lexer *lexer, struct fmt_spec *format, + bool *is_ctables_format) +{ + char type[FMT_TYPE_LEN_MAX + 1]; + if (!parse_abstract_format_specifier__ (lexer, type, &format->w, &format->d)) + return false; + + if (!strcasecmp (type, "NEGPAREN")) + format->type = CTEF_NEGPAREN; + else if (!strcasecmp (type, "NEQUAL")) + format->type = CTEF_NEQUAL; + else if (!strcasecmp (type, "PAREN")) + format->type = CTEF_PAREN; + else if (!strcasecmp (type, "PCTPAREN")) + format->type = CTEF_PCTPAREN; + else + { + *is_ctables_format = false; + return (parse_format_specifier (lexer, format) + && fmt_check_output (format) + && fmt_check_type_compat (format, VAL_NUMERIC)); + } + + lex_get (lexer); + if (format->w < 2) + { + lex_next_error (lexer, -1, -1, + _("Output format %s requires width 2 or greater."), type); + return false; + } + else if (format->d > format->w - 1) + { + lex_next_error (lexer, -1, -1, _("Output format %s requires width " + "greater than decimals."), type); + return false; + } + else + { + *is_ctables_format = true; + return true; + } +} + +static struct ctables_axis * +ctables_axis_parse_postfix (struct ctables_axis_parse_ctx *ctx) +{ + struct ctables_axis *sub = ctables_axis_parse_primary (ctx); + if (!sub || !lex_match (ctx->lexer, T_LBRACK)) + return sub; + + enum ctables_summary_variant sv = CSV_CELL; + for (;;) + { + int start_ofs = lex_ofs (ctx->lexer); + + /* Parse function. */ + enum ctables_summary_function function; + if (!parse_ctables_summary_function (ctx->lexer, &function)) + goto error; + + /* Parse percentile. */ + double percentile = 0; + if (function == CTSF_PTILE) + { + if (!lex_force_num_range_closed (ctx->lexer, "PTILE", 0, 100)) + goto error; + percentile = lex_number (ctx->lexer); + lex_get (ctx->lexer); + } + + /* Parse label. */ + char *label = NULL; + if (lex_is_string (ctx->lexer)) + { + label = ss_xstrdup (lex_tokss (ctx->lexer)); + lex_get (ctx->lexer); + } + + /* Parse format. */ + struct fmt_spec format; + const struct fmt_spec *formatp; + bool is_ctables_format = false; + if (lex_token (ctx->lexer) == T_ID + && has_digit (lex_tokcstr (ctx->lexer))) + { + if (!parse_ctables_format_specifier (ctx->lexer, &format, + &is_ctables_format)) + { + free (label); + goto error; + } + formatp = &format; + } + else + formatp = NULL; + + struct msg_location *loc = lex_ofs_location (ctx->lexer, start_ofs, + lex_ofs (ctx->lexer) - 1); + add_summary_spec (sub, function, percentile, label, formatp, + is_ctables_format, loc, sv); + free (label); + msg_location_destroy (loc); + + lex_match (ctx->lexer, T_COMMA); + if (sv == CSV_CELL && lex_match_id (ctx->lexer, "TOTALS")) + { + if (!lex_force_match (ctx->lexer, T_LBRACK)) + goto error; + sv = CSV_TOTAL; + } + else if (lex_match (ctx->lexer, T_RBRACK)) + { + if (sv == CSV_TOTAL && !lex_force_match (ctx->lexer, T_RBRACK)) + goto error; + return sub; + } + } + +error: + ctables_axis_destroy (sub); + return NULL; +} + +static const struct ctables_axis * +find_scale (const struct ctables_axis *axis) +{ + if (!axis) + return NULL; + else if (axis->op == CTAO_VAR) + return axis->scale ? axis : NULL; + else + { + for (size_t i = 0; i < 2; i++) + { + const struct ctables_axis *scale = find_scale (axis->subs[i]); + if (scale) + return scale; + } + return NULL; + } +} + +static const struct ctables_axis * +find_categorical_summary_spec (const struct ctables_axis *axis) +{ + if (!axis) + return NULL; + else if (axis->op == CTAO_VAR) + return !axis->scale && axis->specs[CSV_CELL].n ? axis : NULL; + else + { + for (size_t i = 0; i < 2; i++) + { + const struct ctables_axis *sum + = find_categorical_summary_spec (axis->subs[i]); + if (sum) + return sum; + } + return NULL; + } +} + +static struct ctables_axis * +ctables_axis_parse_nest (struct ctables_axis_parse_ctx *ctx) +{ + int start_ofs = lex_ofs (ctx->lexer); + struct ctables_axis *lhs = ctables_axis_parse_postfix (ctx); + if (!lhs) + return NULL; + + while (lex_match (ctx->lexer, T_GT)) + { + struct ctables_axis *rhs = ctables_axis_parse_postfix (ctx); + if (!rhs) + { + ctables_axis_destroy (lhs); + return NULL; + } + + struct ctables_axis *nest = ctables_axis_new_nonterminal ( + CTAO_NEST, lhs, rhs, ctx->lexer, start_ofs); + + const struct ctables_axis *outer_scale = find_scale (lhs); + const struct ctables_axis *inner_scale = find_scale (rhs); + if (outer_scale && inner_scale) + { + msg_at (SE, nest->loc, _("Cannot nest scale variables.")); + msg_at (SN, outer_scale->loc, _("This is an outer scale variable.")); + msg_at (SN, inner_scale->loc, _("This is an inner scale variable.")); + ctables_axis_destroy (nest); + return NULL; + } + + const struct ctables_axis *outer_sum = find_categorical_summary_spec (lhs); + if (outer_sum) + { + msg_at (SE, nest->loc, + _("Summaries may only be requested for categorical variables " + "at the innermost nesting level.")); + msg_at (SN, outer_sum->loc, + _("This outer categorical variable has a summary.")); + ctables_axis_destroy (nest); + return NULL; + } + + lhs = nest; + } + + return lhs; +} + +static struct ctables_axis * +ctables_axis_parse_stack (struct ctables_axis_parse_ctx *ctx) +{ + int start_ofs = lex_ofs (ctx->lexer); + struct ctables_axis *lhs = ctables_axis_parse_nest (ctx); + if (!lhs) + return NULL; + + while (lex_match (ctx->lexer, T_PLUS)) + { + struct ctables_axis *rhs = ctables_axis_parse_nest (ctx); + if (!rhs) + { + ctables_axis_destroy (lhs); + return NULL; + } + + lhs = ctables_axis_new_nonterminal (CTAO_STACK, lhs, rhs, + ctx->lexer, start_ofs); + } + + return lhs; +} + +static bool +ctables_axis_parse (struct lexer *lexer, struct dictionary *dict, + struct ctables *ct, struct ctables_table *t, + enum pivot_axis_type a) +{ + if (lex_token (lexer) == T_BY + || lex_token (lexer) == T_SLASH + || lex_token (lexer) == T_ENDCMD) + return true; + + struct ctables_axis_parse_ctx ctx = { + .lexer = lexer, + .dict = dict, + .ct = ct, + .t = t + }; + t->axes[a] = ctables_axis_parse_stack (&ctx); + return t->axes[a] != NULL; +} + +static void +ctables_chisq_destroy (struct ctables_chisq *chisq) +{ + free (chisq); +} + +static void +ctables_pairwise_destroy (struct ctables_pairwise *pairwise) +{ + free (pairwise); +} + +static void +ctables_table_destroy (struct ctables_table *t) +{ + if (!t) + return; + + for (size_t i = 0; i < t->n_sections; i++) + ctables_section_uninit (&t->sections[i]); + free (t->sections); + + for (size_t i = 0; i < t->n_categories; i++) + ctables_categories_unref (t->categories[i]); + free (t->categories); + + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + ctables_axis_destroy (t->axes[a]); + ctables_stack_uninit (&t->stacks[a]); + } + free (t->summary_specs.specs); + + struct ctables_value *ctv, *next_ctv; + HMAP_FOR_EACH_SAFE (ctv, next_ctv, struct ctables_value, node, + &t->clabels_values_map) + { + value_destroy (&ctv->value, var_get_width (t->clabels_example)); + hmap_delete (&t->clabels_values_map, &ctv->node); + free (ctv); + } + hmap_destroy (&t->clabels_values_map); + free (t->clabels_values); + + free (t->sum_vars); + free (t->caption); + free (t->corner); + free (t->title); + ctables_chisq_destroy (t->chisq); + ctables_pairwise_destroy (t->pairwise); + free (t); +} + +static void +ctables_destroy (struct ctables *ct) +{ + if (!ct) + return; + + struct ctables_postcompute *pc, *next_pc; + HMAP_FOR_EACH_SAFE (pc, next_pc, struct ctables_postcompute, hmap_node, + &ct->postcomputes) + { + free (pc->name); + msg_location_destroy (pc->location); + ctables_pcexpr_destroy (pc->expr); + free (pc->label); + if (pc->specs) + { + ctables_summary_spec_set_uninit (pc->specs); + free (pc->specs); + } + hmap_delete (&ct->postcomputes, &pc->hmap_node); + free (pc); + } + + fmt_settings_uninit (&ct->ctables_formats); + pivot_table_look_unref (ct->look); + free (ct->zero); + free (ct->missing); + free (ct->vlabels); + for (size_t i = 0; i < ct->n_tables; i++) + ctables_table_destroy (ct->tables[i]); + free (ct->tables); + free (ct); +} + +static struct ctables_category +cct_nrange (double low, double high) +{ + return (struct ctables_category) { + .type = CCT_NRANGE, + .nrange = { low, high } + }; +} + +static struct ctables_category +cct_srange (struct substring low, struct substring high) +{ + return (struct ctables_category) { + .type = CCT_SRANGE, + .srange = { low, high } + }; +} + +static bool +ctables_table_parse_subtotal (struct lexer *lexer, bool hide_subcategories, + struct ctables_category *cat) +{ + char *total_label; + if (lex_match (lexer, T_EQUALS)) + { + if (!lex_force_string (lexer)) + return false; + + total_label = ss_xstrdup (lex_tokss (lexer)); + lex_get (lexer); + } + else + total_label = xstrdup (_("Subtotal")); + + *cat = (struct ctables_category) { + .type = CCT_SUBTOTAL, + .hide_subcategories = hide_subcategories, + .total_label = total_label + }; + return true; +} + +static struct substring +parse_substring (struct lexer *lexer, struct dictionary *dict) +{ + struct substring s = recode_substring_pool ( + dict_get_encoding (dict), "UTF-8", lex_tokss (lexer), NULL); + ss_rtrim (&s, ss_cstr (" ")); + lex_get (lexer); + return s; +} + +static bool +ctables_table_parse_explicit_category (struct lexer *lexer, + struct dictionary *dict, + struct ctables *ct, + struct ctables_category *cat) +{ + if (lex_match_id (lexer, "OTHERNM")) + *cat = (struct ctables_category) { .type = CCT_OTHERNM }; + else if (lex_match_id (lexer, "MISSING")) + *cat = (struct ctables_category) { .type = CCT_MISSING }; + else if (lex_match_id (lexer, "SUBTOTAL")) + return ctables_table_parse_subtotal (lexer, false, cat); + else if (lex_match_id (lexer, "HSUBTOTAL")) + return ctables_table_parse_subtotal (lexer, true, cat); + else if (lex_match_id (lexer, "LO")) + { + if (!lex_force_match_id (lexer, "THRU")) + return false; + if (lex_is_string (lexer)) + { + struct substring sr0 = { .string = NULL }; + struct substring sr1 = parse_substring (lexer, dict); + *cat = cct_srange (sr0, sr1); + } + else if (lex_force_num (lexer)) + { + *cat = cct_nrange (-DBL_MAX, lex_number (lexer)); + lex_get (lexer); + } + else + return false; + } + else if (lex_is_number (lexer)) + { + double number = lex_number (lexer); + lex_get (lexer); + if (lex_match_id (lexer, "THRU")) + { + if (lex_match_id (lexer, "HI")) + *cat = cct_nrange (number, DBL_MAX); + else + { + if (!lex_force_num (lexer)) + return false; + *cat = cct_nrange (number, lex_number (lexer)); + lex_get (lexer); + } + } + else + *cat = (struct ctables_category) { + .type = CCT_NUMBER, + .number = number + }; + } + else if (lex_is_string (lexer)) + { + struct substring s = parse_substring (lexer, dict); + if (lex_match_id (lexer, "THRU")) + { + if (lex_match_id (lexer, "HI")) + { + struct substring sr1 = { .string = NULL }; + *cat = cct_srange (s, sr1); + } + else + { + if (!lex_force_string (lexer)) + { + ss_dealloc (&s); + return false; + } + struct substring sr1 = parse_substring (lexer, dict); + *cat = cct_srange (s, sr1); + } + } + else + *cat = (struct ctables_category) { .type = CCT_STRING, .string = s }; + } + else if (lex_match (lexer, T_AND)) + { + if (!lex_force_id (lexer)) + return false; + struct ctables_postcompute *pc = ctables_find_postcompute ( + ct, lex_tokcstr (lexer)); + if (!pc) + { + struct msg_location *loc = lex_get_location (lexer, -1, 0); + msg_at (SE, loc, _("Unknown postcompute &%s."), + lex_tokcstr (lexer)); + msg_location_destroy (loc); + return false; + } + lex_get (lexer); + + *cat = (struct ctables_category) { .type = CCT_POSTCOMPUTE, .pc = pc }; + } + else + { + lex_error (lexer, NULL); + return false; + } + + return true; +} + +static bool +parse_category_string (struct msg_location *location, + struct substring s, const struct dictionary *dict, + enum fmt_type format, double *n) +{ + union value v; + char *error = data_in (s, dict_get_encoding (dict), format, + settings_get_fmt_settings (), &v, 0, NULL); + if (error) + { + msg_at (SE, location, + _("Failed to parse category specification as format %s: %s."), + fmt_name (format), error); + free (error); + return false; + } + + *n = v.f; + return true; +} + +static struct ctables_category * +ctables_find_category_for_postcompute__ (const struct ctables_categories *cats, + const struct ctables_pcexpr *e) +{ + struct ctables_category *best = NULL; + size_t n_subtotals = 0; + for (size_t i = 0; i < cats->n_cats; i++) + { + struct ctables_category *cat = &cats->cats[i]; + switch (e->op) + { + case CTPO_CAT_NUMBER: + if (cat->type == CCT_NUMBER && cat->number == e->number) + best = cat; + break; + + case CTPO_CAT_STRING: + if (cat->type == CCT_STRING && ss_equals (cat->string, e->string)) + best = cat; + break; + + case CTPO_CAT_NRANGE: + if (cat->type == CCT_NRANGE + && cat->nrange[0] == e->nrange[0] + && cat->nrange[1] == e->nrange[1]) + best = cat; + break; + + case CTPO_CAT_SRANGE: + if (cat->type == CCT_SRANGE + && nullable_substring_equal (&cat->srange[0], &e->srange[0]) + && nullable_substring_equal (&cat->srange[1], &e->srange[1])) + best = cat; + break; + + case CTPO_CAT_MISSING: + if (cat->type == CCT_MISSING) + best = cat; + break; + + case CTPO_CAT_OTHERNM: + if (cat->type == CCT_OTHERNM) + best = cat; + break; + + case CTPO_CAT_SUBTOTAL: + if (cat->type == CCT_SUBTOTAL) + { + n_subtotals++; + if (e->subtotal_index == n_subtotals) + return cat; + else if (e->subtotal_index == 0) + best = cat; + } + break; + + case CTPO_CAT_TOTAL: + if (cat->type == CCT_TOTAL) + return cat; + break; + + case CTPO_CONSTANT: + case CTPO_ADD: + case CTPO_SUB: + case CTPO_MUL: + case CTPO_DIV: + case CTPO_POW: + case CTPO_NEG: + NOT_REACHED (); + } + } + if (e->op == CTPO_CAT_SUBTOTAL && e->subtotal_index == 0 && n_subtotals > 1) + return NULL; + return best; +} + +static struct ctables_category * +ctables_find_category_for_postcompute (const struct dictionary *dict, + const struct ctables_categories *cats, + enum fmt_type parse_format, + const struct ctables_pcexpr *e) +{ + if (parse_format != FMT_F) + { + if (e->op == CTPO_CAT_STRING) + { + double number; + if (!parse_category_string (e->location, e->string, dict, + parse_format, &number)) + return NULL; + + struct ctables_pcexpr e2 = { + .op = CTPO_CAT_NUMBER, + .number = number, + .location = e->location, + }; + return ctables_find_category_for_postcompute__ (cats, &e2); + } + else if (e->op == CTPO_CAT_SRANGE) + { + double nrange[2]; + if (!e->srange[0].string) + nrange[0] = -DBL_MAX; + else if (!parse_category_string (e->location, e->srange[0], dict, + parse_format, &nrange[0])) + return NULL; + + if (!e->srange[1].string) + nrange[1] = DBL_MAX; + else if (!parse_category_string (e->location, e->srange[1], dict, + parse_format, &nrange[1])) + return NULL; + + struct ctables_pcexpr e2 = { + .op = CTPO_CAT_NRANGE, + .nrange = { nrange[0], nrange[1] }, + .location = e->location, + }; + return ctables_find_category_for_postcompute__ (cats, &e2); + } + } + return ctables_find_category_for_postcompute__ (cats, e); +} + +static bool +ctables_recursive_check_postcompute (struct dictionary *dict, + const struct ctables_pcexpr *e, + struct ctables_category *pc_cat, + const struct ctables_categories *cats, + const struct msg_location *cats_location) +{ + switch (e->op) + { + case CTPO_CAT_NUMBER: + case CTPO_CAT_STRING: + case CTPO_CAT_NRANGE: + case CTPO_CAT_SRANGE: + case CTPO_CAT_MISSING: + case CTPO_CAT_OTHERNM: + case CTPO_CAT_SUBTOTAL: + case CTPO_CAT_TOTAL: + { + struct ctables_category *cat = ctables_find_category_for_postcompute ( + dict, cats, pc_cat->parse_format, e); + if (!cat) + { + if (e->op == CTPO_CAT_SUBTOTAL && e->subtotal_index == 0) + { + size_t n_subtotals = 0; + for (size_t i = 0; i < cats->n_cats; i++) + n_subtotals += cats->cats[i].type == CCT_SUBTOTAL; + if (n_subtotals > 1) + { + msg_at (SE, cats_location, + ngettext ("These categories include %zu instance " + "of SUBTOTAL or HSUBTOTAL, so references " + "from computed categories must refer to " + "subtotals by position, " + "e.g. SUBTOTAL[1].", + "These categories include %zu instances " + "of SUBTOTAL or HSUBTOTAL, so references " + "from computed categories must refer to " + "subtotals by position, " + "e.g. SUBTOTAL[1].", + n_subtotals), + n_subtotals); + msg_at (SN, e->location, + _("This is the reference that lacks a position.")); + return NULL; + } + } + + msg_at (SE, pc_cat->location, + _("Computed category &%s references a category not included " + "in the category list."), + pc_cat->pc->name); + msg_at (SN, e->location, _("This is the missing category.")); + if (e->op == CTPO_CAT_SUBTOTAL) + msg_at (SN, cats_location, + _("To fix the problem, add subtotals to the " + "list of categories here.")); + else if (e->op == CTPO_CAT_TOTAL) + msg (SN, _("To fix the problem, add TOTAL=YES to the variable's " + "CATEGORIES specification.")); + else + msg_at (SN, cats_location, + _("To fix the problem, add the missing category to the " + "list of categories here.")); + return false; + } + if (pc_cat->pc->hide_source_cats) + cat->hide = true; + return true; + } + + case CTPO_CONSTANT: + return true; + + case CTPO_ADD: + case CTPO_SUB: + case CTPO_MUL: + case CTPO_DIV: + case CTPO_POW: + case CTPO_NEG: + for (size_t i = 0; i < 2; i++) + if (e->subs[i] && !ctables_recursive_check_postcompute ( + dict, e->subs[i], pc_cat, cats, cats_location)) + return false; + return true; + } + + NOT_REACHED (); +} + +static bool +all_strings (struct variable **vars, size_t n_vars, + const struct ctables_category *cat) +{ + for (size_t j = 0; j < n_vars; j++) + if (var_is_numeric (vars[j])) + { + msg_at (SE, cat->location, + _("This category specification may be applied only to string " + "variables, but this subcommand tries to apply it to " + "numeric variable %s."), + var_get_name (vars[j])); + return false; + } + return true; +} + +static bool +ctables_table_parse_categories (struct lexer *lexer, struct dictionary *dict, + struct ctables *ct, struct ctables_table *t) +{ + if (!lex_match_id (lexer, "VARIABLES")) + return false; + lex_match (lexer, T_EQUALS); + + struct variable **vars; + size_t n_vars; + if (!parse_variables (lexer, dict, &vars, &n_vars, PV_NO_SCRATCH)) + return false; + + const struct fmt_spec *common_format = var_get_print_format (vars[0]); + for (size_t i = 1; i < n_vars; i++) + { + const struct fmt_spec *f = var_get_print_format (vars[i]); + if (f->type != common_format->type) + { + common_format = NULL; + break; + } + } + bool parse_strings + = (common_format + && (fmt_get_category (common_format->type) + & (FMT_CAT_DATE | FMT_CAT_TIME | FMT_CAT_DATE_COMPONENT))); + + struct ctables_categories *c = xmalloc (sizeof *c); + *c = (struct ctables_categories) { .n_refs = n_vars, .show_empty = true }; + for (size_t i = 0; i < n_vars; i++) + { + struct ctables_categories **cp + = &t->categories[var_get_dict_index (vars[i])]; + ctables_categories_unref (*cp); + *cp = c; + } + + size_t allocated_cats = 0; + int cats_start_ofs = -1; + int cats_end_ofs = -1; + if (lex_match (lexer, T_LBRACK)) + { + cats_start_ofs = lex_ofs (lexer); + do + { + if (c->n_cats >= allocated_cats) + c->cats = x2nrealloc (c->cats, &allocated_cats, sizeof *c->cats); + + int start_ofs = lex_ofs (lexer); + struct ctables_category *cat = &c->cats[c->n_cats]; + if (!ctables_table_parse_explicit_category (lexer, dict, ct, cat)) + goto error; + cat->location = lex_ofs_location (lexer, start_ofs, lex_ofs (lexer) - 1); + c->n_cats++; + + lex_match (lexer, T_COMMA); + } + while (!lex_match (lexer, T_RBRACK)); + cats_end_ofs = lex_ofs (lexer) - 1; + } + + struct ctables_category cat = { + .type = CCT_VALUE, + .include_missing = false, + .sort_ascending = true, + }; + bool show_totals = false; + char *total_label = NULL; + bool totals_before = false; + while (lex_token (lexer) != T_SLASH && lex_token (lexer) != T_ENDCMD) + { + if (!c->n_cats && lex_match_id (lexer, "ORDER")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "A")) + cat.sort_ascending = true; + else if (lex_match_id (lexer, "D")) + cat.sort_ascending = false; + else + { + lex_error_expecting (lexer, "A", "D"); + goto error; + } + } + else if (!c->n_cats && lex_match_id (lexer, "KEY")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "VALUE")) + cat.type = CCT_VALUE; + else if (lex_match_id (lexer, "LABEL")) + cat.type = CCT_LABEL; + else + { + cat.type = CCT_FUNCTION; + if (!parse_ctables_summary_function (lexer, &cat.sort_function)) + goto error; + + if (lex_match (lexer, T_LPAREN)) + { + cat.sort_var = parse_variable (lexer, dict); + if (!cat.sort_var) + goto error; + + if (cat.sort_function == CTSF_PTILE) + { + lex_match (lexer, T_COMMA); + if (!lex_force_num_range_closed (lexer, "PTILE", 0, 100)) + goto error; + cat.percentile = lex_number (lexer); + lex_get (lexer); + } + + if (!lex_force_match (lexer, T_RPAREN)) + goto error; + } + else if (ctables_function_availability (cat.sort_function) + == CTFA_SCALE) + { + bool UNUSED b = lex_force_match (lexer, T_LPAREN); + goto error; + } + } + } + else if (!c->n_cats && lex_match_id (lexer, "MISSING")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "INCLUDE")) + cat.include_missing = true; + else if (lex_match_id (lexer, "EXCLUDE")) + cat.include_missing = false; + else + { + lex_error_expecting (lexer, "INCLUDE", "EXCLUDE"); + goto error; + } + } + else if (lex_match_id (lexer, "TOTAL")) + { + lex_match (lexer, T_EQUALS); + if (!parse_bool (lexer, &show_totals)) + goto error; + } + else if (lex_match_id (lexer, "LABEL")) + { + lex_match (lexer, T_EQUALS); + if (!lex_force_string (lexer)) + goto error; + free (total_label); + total_label = ss_xstrdup (lex_tokss (lexer)); + lex_get (lexer); + } + else if (lex_match_id (lexer, "POSITION")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "BEFORE")) + totals_before = true; + else if (lex_match_id (lexer, "AFTER")) + totals_before = false; + else + { + lex_error_expecting (lexer, "BEFORE", "AFTER"); + goto error; + } + } + else if (lex_match_id (lexer, "EMPTY")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "INCLUDE")) + c->show_empty = true; + else if (lex_match_id (lexer, "EXCLUDE")) + c->show_empty = false; + else + { + lex_error_expecting (lexer, "INCLUDE", "EXCLUDE"); + goto error; + } + } + else + { + if (!c->n_cats) + lex_error_expecting (lexer, "ORDER", "KEY", "MISSING", + "TOTAL", "LABEL", "POSITION", "EMPTY"); + else + lex_error_expecting (lexer, "TOTAL", "LABEL", "POSITION", "EMPTY"); + goto error; + } + } + + if (!c->n_cats) + { + if (c->n_cats >= allocated_cats) + c->cats = x2nrealloc (c->cats, &allocated_cats, sizeof *c->cats); + c->cats[c->n_cats++] = cat; + } + + if (show_totals) + { + if (c->n_cats >= allocated_cats) + c->cats = x2nrealloc (c->cats, &allocated_cats, sizeof *c->cats); + + struct ctables_category *totals; + if (totals_before) + { + insert_element (c->cats, c->n_cats, sizeof *c->cats, 0); + totals = &c->cats[0]; + } + else + totals = &c->cats[c->n_cats]; + c->n_cats++; + + *totals = (struct ctables_category) { + .type = CCT_TOTAL, + .total_label = total_label ? total_label : xstrdup (_("Total")), + }; + } + + struct ctables_category *subtotal = NULL; + for (size_t i = totals_before ? 0 : c->n_cats; + totals_before ? i < c->n_cats : i-- > 0; + totals_before ? i++ : 0) + { + struct ctables_category *cat = &c->cats[i]; + switch (cat->type) + { + case CCT_NUMBER: + case CCT_STRING: + case CCT_NRANGE: + case CCT_SRANGE: + case CCT_MISSING: + case CCT_OTHERNM: + cat->subtotal = subtotal; + break; + + case CCT_POSTCOMPUTE: + break; + + case CCT_SUBTOTAL: + subtotal = cat; + break; + + case CCT_TOTAL: + case CCT_VALUE: + case CCT_LABEL: + case CCT_FUNCTION: + case CCT_EXCLUDED_MISSING: + break; + } + } + + if (cats_start_ofs != -1) + { + for (size_t i = 0; i < c->n_cats; i++) + { + struct ctables_category *cat = &c->cats[i]; + switch (cat->type) + { + case CCT_POSTCOMPUTE: + cat->parse_format = parse_strings ? common_format->type : FMT_F; + struct msg_location *cats_location + = lex_ofs_location (lexer, cats_start_ofs, cats_end_ofs); + bool ok = ctables_recursive_check_postcompute ( + dict, cat->pc->expr, cat, c, cats_location); + msg_location_destroy (cats_location); + if (!ok) + goto error; + break; + + case CCT_NUMBER: + case CCT_NRANGE: + for (size_t j = 0; j < n_vars; j++) + if (var_is_alpha (vars[j])) + { + msg_at (SE, cat->location, + _("This category specification may be applied " + "only to numeric variables, but this " + "subcommand tries to apply it to string " + "variable %s."), + var_get_name (vars[j])); + goto error; + } + break; + + case CCT_STRING: + if (parse_strings) + { + double n; + if (!parse_category_string (cat->location, cat->string, dict, + common_format->type, &n)) + goto error; + + ss_dealloc (&cat->string); + + cat->type = CCT_NUMBER; + cat->number = n; + } + else if (!all_strings (vars, n_vars, cat)) + goto error; + break; + + case CCT_SRANGE: + if (parse_strings) + { + double n[2]; + + if (!cat->srange[0].string) + n[0] = -DBL_MAX; + else if (!parse_category_string (cat->location, + cat->srange[0], dict, + common_format->type, &n[0])) + goto error; + + if (!cat->srange[1].string) + n[1] = DBL_MAX; + else if (!parse_category_string (cat->location, + cat->srange[1], dict, + common_format->type, &n[1])) + goto error; + + ss_dealloc (&cat->srange[0]); + ss_dealloc (&cat->srange[1]); + + cat->type = CCT_NRANGE; + cat->nrange[0] = n[0]; + cat->nrange[1] = n[1]; + } + else if (!all_strings (vars, n_vars, cat)) + goto error; + break; + + case CCT_MISSING: + case CCT_OTHERNM: + case CCT_SUBTOTAL: + case CCT_TOTAL: + case CCT_VALUE: + case CCT_LABEL: + case CCT_FUNCTION: + case CCT_EXCLUDED_MISSING: + break; + } + } + } + + free (vars); + return true; + +error: + free (vars); + return false; +} + +static void +ctables_nest_uninit (struct ctables_nest *nest) +{ + free (nest->vars); + for (enum ctables_summary_variant sv = 0; sv < N_CSVS; sv++) + ctables_summary_spec_set_uninit (&nest->specs[sv]); + for (enum ctables_domain_type dt = 0; dt < N_CTDTS; dt++) + free (nest->domains[dt]); +} + +static void +ctables_stack_uninit (struct ctables_stack *stack) +{ + if (stack) + { + for (size_t i = 0; i < stack->n; i++) + ctables_nest_uninit (&stack->nests[i]); + free (stack->nests); + } +} + +static struct ctables_stack +nest_fts (struct ctables_stack s0, struct ctables_stack s1) +{ + if (!s0.n) + return s1; + else if (!s1.n) + return s0; + + struct ctables_stack stack = { .nests = xnmalloc (s0.n, s1.n * sizeof *stack.nests) }; + for (size_t i = 0; i < s0.n; i++) + for (size_t j = 0; j < s1.n; j++) + { + const struct ctables_nest *a = &s0.nests[i]; + const struct ctables_nest *b = &s1.nests[j]; + + size_t allocate = a->n + b->n; + struct variable **vars = xnmalloc (allocate, sizeof *vars); + size_t n = 0; + for (size_t k = 0; k < a->n; k++) + vars[n++] = a->vars[k]; + for (size_t k = 0; k < b->n; k++) + vars[n++] = b->vars[k]; + assert (n == allocate); + + const struct ctables_nest *summary_src; + if (!a->specs[CSV_CELL].var) + summary_src = b; + else if (!b->specs[CSV_CELL].var) + summary_src = a; + else + NOT_REACHED (); + + struct ctables_nest *new = &stack.nests[stack.n++]; + *new = (struct ctables_nest) { + .vars = vars, + .scale_idx = (a->scale_idx != SIZE_MAX ? a->scale_idx + : b->scale_idx != SIZE_MAX ? a->n + b->scale_idx + : SIZE_MAX), + .n = n, + }; + for (enum ctables_summary_variant sv = 0; sv < N_CSVS; sv++) + ctables_summary_spec_set_clone (&new->specs[sv], &summary_src->specs[sv]); + } + ctables_stack_uninit (&s0); + ctables_stack_uninit (&s1); + return stack; +} + +static struct ctables_stack +stack_fts (struct ctables_stack s0, struct ctables_stack s1) +{ + struct ctables_stack stack = { .nests = xnmalloc (s0.n + s1.n, sizeof *stack.nests) }; + for (size_t i = 0; i < s0.n; i++) + stack.nests[stack.n++] = s0.nests[i]; + for (size_t i = 0; i < s1.n; i++) + { + stack.nests[stack.n] = s1.nests[i]; + stack.nests[stack.n].group_head += s0.n; + stack.n++; + } + assert (stack.n == s0.n + s1.n); + free (s0.nests); + free (s1.nests); + return stack; +} + +static struct ctables_stack +var_fts (const struct ctables_axis *a) +{ + struct variable **vars = xmalloc (sizeof *vars); + *vars = a->var; + + struct ctables_nest *nest = xmalloc (sizeof *nest); + *nest = (struct ctables_nest) { + .vars = vars, + .n = 1, + .scale_idx = a->scale ? 0 : SIZE_MAX, + }; + if (a->specs[CSV_CELL].n || a->scale) + for (enum ctables_summary_variant sv = 0; sv < N_CSVS; sv++) + { + ctables_summary_spec_set_clone (&nest->specs[sv], &a->specs[sv]); + nest->specs[sv].var = a->var; + nest->specs[sv].is_scale = a->scale; + } + return (struct ctables_stack) { .nests = nest, .n = 1 }; +} + +static struct ctables_stack +enumerate_fts (enum pivot_axis_type axis_type, const struct ctables_axis *a) +{ + if (!a) + return (struct ctables_stack) { .n = 0 }; + + switch (a->op) + { + case CTAO_VAR: + return var_fts (a); + + case CTAO_STACK: + return stack_fts (enumerate_fts (axis_type, a->subs[0]), + enumerate_fts (axis_type, a->subs[1])); + + case CTAO_NEST: + /* This should consider any of the scale variables found in the result to + be linked to each other listwise for SMISSING=LISTWISE. */ + return nest_fts (enumerate_fts (axis_type, a->subs[0]), + enumerate_fts (axis_type, a->subs[1])); + } + + NOT_REACHED (); +} + +union ctables_summary + { + /* COUNT, VALIDN, TOTALN. */ + double count; + + /* MINIMUM, MAXIMUM, RANGE. */ + struct + { + double min; + double max; + }; + + /* MEAN, SEMEAN, STDDEV, SUM, VARIANCE, *.SUM. */ + struct moments1 *moments; + + /* MEDIAN, MODE, PTILE. */ + struct + { + struct casewriter *writer; + double ovalid; + double ovalue; + }; + + /* XXX multiple response */ + }; + +static void +ctables_summary_init (union ctables_summary *s, + const struct ctables_summary_spec *ss) +{ + switch (ss->function) + { + case CTSF_COUNT: + case CTSF_ECOUNT: + case CTSF_ROWPCT_COUNT: + case CTSF_COLPCT_COUNT: + case CTSF_TABLEPCT_COUNT: + case CTSF_SUBTABLEPCT_COUNT: + case CTSF_LAYERPCT_COUNT: + case CTSF_LAYERROWPCT_COUNT: + case CTSF_LAYERCOLPCT_COUNT: + case CTSF_ROWPCT_VALIDN: + case CTSF_COLPCT_VALIDN: + case CTSF_TABLEPCT_VALIDN: + case CTSF_SUBTABLEPCT_VALIDN: + case CTSF_LAYERPCT_VALIDN: + case CTSF_LAYERROWPCT_VALIDN: + case CTSF_LAYERCOLPCT_VALIDN: + case CTSF_ROWPCT_TOTALN: + case CTSF_COLPCT_TOTALN: + case CTSF_TABLEPCT_TOTALN: + case CTSF_SUBTABLEPCT_TOTALN: + case CTSF_LAYERPCT_TOTALN: + case CTSF_LAYERROWPCT_TOTALN: + case CTSF_LAYERCOLPCT_TOTALN: + case CTSF_MISSING: + case CSTF_TOTALN: + case CTSF_ETOTALN: + case CTSF_VALIDN: + case CTSF_EVALIDN: + case CTSF_UCOUNT: + case CTSF_UROWPCT_COUNT: + case CTSF_UCOLPCT_COUNT: + case CTSF_UTABLEPCT_COUNT: + case CTSF_USUBTABLEPCT_COUNT: + case CTSF_ULAYERPCT_COUNT: + case CTSF_ULAYERROWPCT_COUNT: + case CTSF_ULAYERCOLPCT_COUNT: + case CTSF_UROWPCT_VALIDN: + case CTSF_UCOLPCT_VALIDN: + case CTSF_UTABLEPCT_VALIDN: + case CTSF_USUBTABLEPCT_VALIDN: + case CTSF_ULAYERPCT_VALIDN: + case CTSF_ULAYERROWPCT_VALIDN: + case CTSF_ULAYERCOLPCT_VALIDN: + case CTSF_UROWPCT_TOTALN: + case CTSF_UCOLPCT_TOTALN: + case CTSF_UTABLEPCT_TOTALN: + case CTSF_USUBTABLEPCT_TOTALN: + case CTSF_ULAYERPCT_TOTALN: + case CTSF_ULAYERROWPCT_TOTALN: + case CTSF_ULAYERCOLPCT_TOTALN: + case CTSF_UMISSING: + case CSTF_UTOTALN: + case CTSF_UVALIDN: + s->count = 0; + break; + + case CTSF_ROW_ID: + case CTSF_COL_ID: + case CTSF_TABLE_ID: + case CTSF_SUBTABLE_ID: + case CTSF_LAYER_ID: + case CTSF_LAYERROW_ID: + case CTSF_LAYERCOL_ID: + break; + + case CTSF_MAXIMUM: + case CTSF_MINIMUM: + case CTSF_RANGE: + s->min = s->max = SYSMIS; + break; + + case CTSF_MEAN: + case CTSF_SEMEAN: + case CTSF_STDDEV: + case CTSF_SUM: + case CTSF_VARIANCE: + case CTSF_ROWPCT_SUM: + case CTSF_COLPCT_SUM: + case CTSF_TABLEPCT_SUM: + case CTSF_SUBTABLEPCT_SUM: + case CTSF_LAYERPCT_SUM: + case CTSF_LAYERROWPCT_SUM: + case CTSF_LAYERCOLPCT_SUM: + case CTSF_UMEAN: + case CTSF_USEMEAN: + case CTSF_USTDDEV: + case CTSF_USUM: + case CTSF_UVARIANCE: + case CTSF_UROWPCT_SUM: + case CTSF_UCOLPCT_SUM: + case CTSF_UTABLEPCT_SUM: + case CTSF_USUBTABLEPCT_SUM: + case CTSF_ULAYERPCT_SUM: + case CTSF_ULAYERROWPCT_SUM: + case CTSF_ULAYERCOLPCT_SUM: + s->moments = moments1_create (MOMENT_VARIANCE); + break; + + case CTSF_MEDIAN: + case CTSF_MODE: + case CTSF_PTILE: + case CTSF_UMEDIAN: + case CTSF_UMODE: + case CTSF_UPTILE: + { + struct caseproto *proto = caseproto_create (); + proto = caseproto_add_width (proto, 0); + proto = caseproto_add_width (proto, 0); + + struct subcase ordering; + subcase_init (&ordering, 0, 0, SC_ASCEND); + s->writer = sort_create_writer (&ordering, proto); + subcase_uninit (&ordering); + caseproto_unref (proto); + + s->ovalid = 0; + s->ovalue = SYSMIS; + } + break; + } +} + +static void +ctables_summary_uninit (union ctables_summary *s, + const struct ctables_summary_spec *ss) +{ + switch (ss->function) + { + case CTSF_COUNT: + case CTSF_ECOUNT: + case CTSF_ROWPCT_COUNT: + case CTSF_COLPCT_COUNT: + case CTSF_TABLEPCT_COUNT: + case CTSF_SUBTABLEPCT_COUNT: + case CTSF_LAYERPCT_COUNT: + case CTSF_LAYERROWPCT_COUNT: + case CTSF_LAYERCOLPCT_COUNT: + case CTSF_ROWPCT_VALIDN: + case CTSF_COLPCT_VALIDN: + case CTSF_TABLEPCT_VALIDN: + case CTSF_SUBTABLEPCT_VALIDN: + case CTSF_LAYERPCT_VALIDN: + case CTSF_LAYERROWPCT_VALIDN: + case CTSF_LAYERCOLPCT_VALIDN: + case CTSF_ROWPCT_TOTALN: + case CTSF_COLPCT_TOTALN: + case CTSF_TABLEPCT_TOTALN: + case CTSF_SUBTABLEPCT_TOTALN: + case CTSF_LAYERPCT_TOTALN: + case CTSF_LAYERROWPCT_TOTALN: + case CTSF_LAYERCOLPCT_TOTALN: + case CTSF_MISSING: + case CSTF_TOTALN: + case CTSF_ETOTALN: + case CTSF_VALIDN: + case CTSF_EVALIDN: + case CTSF_UCOUNT: + case CTSF_UROWPCT_COUNT: + case CTSF_UCOLPCT_COUNT: + case CTSF_UTABLEPCT_COUNT: + case CTSF_USUBTABLEPCT_COUNT: + case CTSF_ULAYERPCT_COUNT: + case CTSF_ULAYERROWPCT_COUNT: + case CTSF_ULAYERCOLPCT_COUNT: + case CTSF_UROWPCT_VALIDN: + case CTSF_UCOLPCT_VALIDN: + case CTSF_UTABLEPCT_VALIDN: + case CTSF_USUBTABLEPCT_VALIDN: + case CTSF_ULAYERPCT_VALIDN: + case CTSF_ULAYERROWPCT_VALIDN: + case CTSF_ULAYERCOLPCT_VALIDN: + case CTSF_UROWPCT_TOTALN: + case CTSF_UCOLPCT_TOTALN: + case CTSF_UTABLEPCT_TOTALN: + case CTSF_USUBTABLEPCT_TOTALN: + case CTSF_ULAYERPCT_TOTALN: + case CTSF_ULAYERROWPCT_TOTALN: + case CTSF_ULAYERCOLPCT_TOTALN: + case CTSF_UMISSING: + case CSTF_UTOTALN: + case CTSF_UVALIDN: + break; + + case CTSF_ROW_ID: + case CTSF_COL_ID: + case CTSF_TABLE_ID: + case CTSF_SUBTABLE_ID: + case CTSF_LAYER_ID: + case CTSF_LAYERROW_ID: + case CTSF_LAYERCOL_ID: + break; + + case CTSF_MAXIMUM: + case CTSF_MINIMUM: + case CTSF_RANGE: + break; + + case CTSF_MEAN: + case CTSF_SEMEAN: + case CTSF_STDDEV: + case CTSF_SUM: + case CTSF_VARIANCE: + case CTSF_ROWPCT_SUM: + case CTSF_COLPCT_SUM: + case CTSF_TABLEPCT_SUM: + case CTSF_SUBTABLEPCT_SUM: + case CTSF_LAYERPCT_SUM: + case CTSF_LAYERROWPCT_SUM: + case CTSF_LAYERCOLPCT_SUM: + case CTSF_UMEAN: + case CTSF_USEMEAN: + case CTSF_USTDDEV: + case CTSF_USUM: + case CTSF_UVARIANCE: + case CTSF_UROWPCT_SUM: + case CTSF_UCOLPCT_SUM: + case CTSF_UTABLEPCT_SUM: + case CTSF_USUBTABLEPCT_SUM: + case CTSF_ULAYERPCT_SUM: + case CTSF_ULAYERROWPCT_SUM: + case CTSF_ULAYERCOLPCT_SUM: + moments1_destroy (s->moments); + break; + + case CTSF_MEDIAN: + case CTSF_MODE: + case CTSF_PTILE: + case CTSF_UMEDIAN: + case CTSF_UMODE: + case CTSF_UPTILE: + casewriter_destroy (s->writer); + break; + } +} + +static void +ctables_summary_add (union ctables_summary *s, + const struct ctables_summary_spec *ss, + const struct variable *var, const union value *value, + bool is_scale, bool is_scale_missing, + bool is_missing, bool excluded_missing, + double d_weight, double e_weight) +{ + /* To determine whether a case is included in a given table for a particular + kind of summary, consider the following charts for each variable in the + table. Only if "yes" appears for every variable for the summary is the + case counted. + + Categorical variables: VALIDN COUNT TOTALN + Valid values in included categories yes yes yes + Missing values in included categories --- yes yes + Missing values in excluded categories --- --- yes + Valid values in excluded categories --- --- --- + + Scale variables: VALIDN COUNT TOTALN + Valid value yes yes yes + Missing value --- yes yes + + Missing values include both user- and system-missing. (The system-missing + value is always in an excluded category.) + */ + switch (ss->function) + { + case CSTF_TOTALN: + case CTSF_ROWPCT_TOTALN: + case CTSF_COLPCT_TOTALN: + case CTSF_TABLEPCT_TOTALN: + case CTSF_SUBTABLEPCT_TOTALN: + case CTSF_LAYERPCT_TOTALN: + case CTSF_LAYERROWPCT_TOTALN: + case CTSF_LAYERCOLPCT_TOTALN: + s->count += d_weight; + break; + + case CSTF_UTOTALN: + case CTSF_UROWPCT_TOTALN: + case CTSF_UCOLPCT_TOTALN: + case CTSF_UTABLEPCT_TOTALN: + case CTSF_USUBTABLEPCT_TOTALN: + case CTSF_ULAYERPCT_TOTALN: + case CTSF_ULAYERROWPCT_TOTALN: + case CTSF_ULAYERCOLPCT_TOTALN: + s->count += 1.0; + break; + + case CTSF_COUNT: + case CTSF_ROWPCT_COUNT: + case CTSF_COLPCT_COUNT: + case CTSF_TABLEPCT_COUNT: + case CTSF_SUBTABLEPCT_COUNT: + case CTSF_LAYERPCT_COUNT: + case CTSF_LAYERROWPCT_COUNT: + case CTSF_LAYERCOLPCT_COUNT: + if (is_scale || !excluded_missing) + s->count += d_weight; + break; + + case CTSF_UCOUNT: + case CTSF_UROWPCT_COUNT: + case CTSF_UCOLPCT_COUNT: + case CTSF_UTABLEPCT_COUNT: + case CTSF_USUBTABLEPCT_COUNT: + case CTSF_ULAYERPCT_COUNT: + case CTSF_ULAYERROWPCT_COUNT: + case CTSF_ULAYERCOLPCT_COUNT: + if (is_scale || !excluded_missing) + s->count += 1.0; + break; + + case CTSF_VALIDN: + case CTSF_ROWPCT_VALIDN: + case CTSF_COLPCT_VALIDN: + case CTSF_TABLEPCT_VALIDN: + case CTSF_SUBTABLEPCT_VALIDN: + case CTSF_LAYERPCT_VALIDN: + case CTSF_LAYERROWPCT_VALIDN: + case CTSF_LAYERCOLPCT_VALIDN: + if (is_scale + ? !is_scale_missing + : !is_missing) + s->count += d_weight; + break; + + case CTSF_UVALIDN: + case CTSF_UROWPCT_VALIDN: + case CTSF_UCOLPCT_VALIDN: + case CTSF_UTABLEPCT_VALIDN: + case CTSF_USUBTABLEPCT_VALIDN: + case CTSF_ULAYERPCT_VALIDN: + case CTSF_ULAYERROWPCT_VALIDN: + case CTSF_ULAYERCOLPCT_VALIDN: + if (is_scale + ? !is_scale_missing + : !is_missing) + s->count += 1.0; + break; + + case CTSF_ROW_ID: + case CTSF_COL_ID: + case CTSF_TABLE_ID: + case CTSF_SUBTABLE_ID: + case CTSF_LAYER_ID: + case CTSF_LAYERROW_ID: + case CTSF_LAYERCOL_ID: + break; + + case CTSF_MISSING: + if (is_missing) + s->count += d_weight; + break; + + case CTSF_UMISSING: + if (is_missing) + s->count += 1.0; + break; + + case CTSF_ECOUNT: + if (is_scale || !excluded_missing) + s->count += e_weight; + break; + + case CTSF_EVALIDN: + if (is_scale + ? !is_scale_missing + : !is_missing) + s->count += e_weight; + break; + + case CTSF_ETOTALN: + s->count += e_weight; + break; + + case CTSF_MAXIMUM: + case CTSF_MINIMUM: + case CTSF_RANGE: + if (!is_scale_missing) + { + assert (!var_is_alpha (var)); /* XXX? */ + if (s->min == SYSMIS || value->f < s->min) + s->min = value->f; + if (s->max == SYSMIS || value->f > s->max) + s->max = value->f; + } + break; + + case CTSF_MEAN: + case CTSF_SEMEAN: + case CTSF_STDDEV: + case CTSF_SUM: + case CTSF_VARIANCE: + case CTSF_ROWPCT_SUM: + case CTSF_COLPCT_SUM: + case CTSF_TABLEPCT_SUM: + case CTSF_SUBTABLEPCT_SUM: + case CTSF_LAYERPCT_SUM: + case CTSF_LAYERROWPCT_SUM: + case CTSF_LAYERCOLPCT_SUM: + if (!is_scale_missing) + moments1_add (s->moments, value->f, e_weight); + break; + + case CTSF_UMEAN: + case CTSF_USEMEAN: + case CTSF_USTDDEV: + case CTSF_USUM: + case CTSF_UVARIANCE: + case CTSF_UROWPCT_SUM: + case CTSF_UCOLPCT_SUM: + case CTSF_UTABLEPCT_SUM: + case CTSF_USUBTABLEPCT_SUM: + case CTSF_ULAYERPCT_SUM: + case CTSF_ULAYERROWPCT_SUM: + case CTSF_ULAYERCOLPCT_SUM: + if (!is_scale_missing) + moments1_add (s->moments, value->f, 1.0); + break; + + case CTSF_UMEDIAN: + case CTSF_UMODE: + case CTSF_UPTILE: + d_weight = e_weight = 1.0; + /* Fall through. */ + case CTSF_MEDIAN: + case CTSF_MODE: + case CTSF_PTILE: + if (!is_scale_missing) + { + s->ovalid += e_weight; + + struct ccase *c = case_create (casewriter_get_proto (s->writer)); + *case_num_rw_idx (c, 0) = value->f; + *case_num_rw_idx (c, 1) = e_weight; + casewriter_write (s->writer, c); + } + break; + } +} + +static enum ctables_domain_type +ctables_function_domain (enum ctables_summary_function function) +{ + switch (function) + { + case CTSF_COUNT: + case CTSF_ECOUNT: + case CTSF_MISSING: + case CSTF_TOTALN: + case CTSF_ETOTALN: + case CTSF_VALIDN: + case CTSF_EVALIDN: + case CTSF_MAXIMUM: + case CTSF_MINIMUM: + case CTSF_RANGE: + case CTSF_MEAN: + case CTSF_SEMEAN: + case CTSF_STDDEV: + case CTSF_SUM: + case CTSF_VARIANCE: + case CTSF_MEDIAN: + case CTSF_PTILE: + case CTSF_MODE: + case CTSF_UCOUNT: + case CTSF_UMISSING: + case CSTF_UTOTALN: + case CTSF_UVALIDN: + case CTSF_UMEAN: + case CTSF_USEMEAN: + case CTSF_USTDDEV: + case CTSF_USUM: + case CTSF_UVARIANCE: + case CTSF_UMEDIAN: + case CTSF_UPTILE: + case CTSF_UMODE: + NOT_REACHED (); + + case CTSF_COLPCT_COUNT: + case CTSF_COLPCT_SUM: + case CTSF_COLPCT_TOTALN: + case CTSF_COLPCT_VALIDN: + case CTSF_UCOLPCT_COUNT: + case CTSF_UCOLPCT_SUM: + case CTSF_UCOLPCT_TOTALN: + case CTSF_UCOLPCT_VALIDN: + case CTSF_COL_ID: + return CTDT_COL; + + case CTSF_LAYERCOLPCT_COUNT: + case CTSF_LAYERCOLPCT_SUM: + case CTSF_LAYERCOLPCT_TOTALN: + case CTSF_LAYERCOLPCT_VALIDN: + case CTSF_ULAYERCOLPCT_COUNT: + case CTSF_ULAYERCOLPCT_SUM: + case CTSF_ULAYERCOLPCT_TOTALN: + case CTSF_ULAYERCOLPCT_VALIDN: + case CTSF_LAYERCOL_ID: + return CTDT_LAYERCOL; + + case CTSF_LAYERPCT_COUNT: + case CTSF_LAYERPCT_SUM: + case CTSF_LAYERPCT_TOTALN: + case CTSF_LAYERPCT_VALIDN: + case CTSF_ULAYERPCT_COUNT: + case CTSF_ULAYERPCT_SUM: + case CTSF_ULAYERPCT_TOTALN: + case CTSF_ULAYERPCT_VALIDN: + case CTSF_LAYER_ID: + return CTDT_LAYER; + + case CTSF_LAYERROWPCT_COUNT: + case CTSF_LAYERROWPCT_SUM: + case CTSF_LAYERROWPCT_TOTALN: + case CTSF_LAYERROWPCT_VALIDN: + case CTSF_ULAYERROWPCT_COUNT: + case CTSF_ULAYERROWPCT_SUM: + case CTSF_ULAYERROWPCT_TOTALN: + case CTSF_ULAYERROWPCT_VALIDN: + case CTSF_LAYERROW_ID: + return CTDT_LAYERROW; + + case CTSF_ROWPCT_COUNT: + case CTSF_ROWPCT_SUM: + case CTSF_ROWPCT_TOTALN: + case CTSF_ROWPCT_VALIDN: + case CTSF_UROWPCT_COUNT: + case CTSF_UROWPCT_SUM: + case CTSF_UROWPCT_TOTALN: + case CTSF_UROWPCT_VALIDN: + case CTSF_ROW_ID: + return CTDT_ROW; + + case CTSF_SUBTABLEPCT_COUNT: + case CTSF_SUBTABLEPCT_SUM: + case CTSF_SUBTABLEPCT_TOTALN: + case CTSF_SUBTABLEPCT_VALIDN: + case CTSF_USUBTABLEPCT_COUNT: + case CTSF_USUBTABLEPCT_SUM: + case CTSF_USUBTABLEPCT_TOTALN: + case CTSF_USUBTABLEPCT_VALIDN: + case CTSF_SUBTABLE_ID: + return CTDT_SUBTABLE; + + case CTSF_TABLEPCT_COUNT: + case CTSF_TABLEPCT_SUM: + case CTSF_TABLEPCT_TOTALN: + case CTSF_TABLEPCT_VALIDN: + case CTSF_UTABLEPCT_COUNT: + case CTSF_UTABLEPCT_SUM: + case CTSF_UTABLEPCT_TOTALN: + case CTSF_UTABLEPCT_VALIDN: + case CTSF_TABLE_ID: + return CTDT_TABLE; + } + + NOT_REACHED (); +} + +static enum ctables_domain_type +ctables_function_is_pctsum (enum ctables_summary_function function) +{ + switch (function) + { + case CTSF_COUNT: + case CTSF_ECOUNT: + case CTSF_MISSING: + case CSTF_TOTALN: + case CTSF_ETOTALN: + case CTSF_VALIDN: + case CTSF_EVALIDN: + case CTSF_MAXIMUM: + case CTSF_MINIMUM: + case CTSF_RANGE: + case CTSF_MEAN: + case CTSF_SEMEAN: + case CTSF_STDDEV: + case CTSF_SUM: + case CTSF_VARIANCE: + case CTSF_MEDIAN: + case CTSF_PTILE: + case CTSF_MODE: + case CTSF_UCOUNT: + case CTSF_UMISSING: + case CSTF_UTOTALN: + case CTSF_UVALIDN: + case CTSF_UMEAN: + case CTSF_USEMEAN: + case CTSF_USTDDEV: + case CTSF_USUM: + case CTSF_UVARIANCE: + case CTSF_UMEDIAN: + case CTSF_UPTILE: + case CTSF_UMODE: + case CTSF_COLPCT_COUNT: + case CTSF_COLPCT_TOTALN: + case CTSF_COLPCT_VALIDN: + case CTSF_UCOLPCT_COUNT: + case CTSF_UCOLPCT_TOTALN: + case CTSF_UCOLPCT_VALIDN: + case CTSF_LAYERCOLPCT_COUNT: + case CTSF_LAYERCOLPCT_TOTALN: + case CTSF_LAYERCOLPCT_VALIDN: + case CTSF_ULAYERCOLPCT_COUNT: + case CTSF_ULAYERCOLPCT_TOTALN: + case CTSF_ULAYERCOLPCT_VALIDN: + case CTSF_LAYERPCT_COUNT: + case CTSF_LAYERPCT_TOTALN: + case CTSF_LAYERPCT_VALIDN: + case CTSF_ULAYERPCT_COUNT: + case CTSF_ULAYERPCT_TOTALN: + case CTSF_ULAYERPCT_VALIDN: + case CTSF_LAYERROWPCT_COUNT: + case CTSF_LAYERROWPCT_TOTALN: + case CTSF_LAYERROWPCT_VALIDN: + case CTSF_ULAYERROWPCT_COUNT: + case CTSF_ULAYERROWPCT_TOTALN: + case CTSF_ULAYERROWPCT_VALIDN: + case CTSF_ROWPCT_COUNT: + case CTSF_ROWPCT_TOTALN: + case CTSF_ROWPCT_VALIDN: + case CTSF_UROWPCT_COUNT: + case CTSF_UROWPCT_TOTALN: + case CTSF_UROWPCT_VALIDN: + case CTSF_SUBTABLEPCT_COUNT: + case CTSF_SUBTABLEPCT_TOTALN: + case CTSF_SUBTABLEPCT_VALIDN: + case CTSF_USUBTABLEPCT_COUNT: + case CTSF_USUBTABLEPCT_TOTALN: + case CTSF_USUBTABLEPCT_VALIDN: + case CTSF_TABLEPCT_COUNT: + case CTSF_TABLEPCT_TOTALN: + case CTSF_TABLEPCT_VALIDN: + case CTSF_UTABLEPCT_COUNT: + case CTSF_UTABLEPCT_TOTALN: + case CTSF_UTABLEPCT_VALIDN: + case CTSF_ROW_ID: + case CTSF_COL_ID: + case CTSF_TABLE_ID: + case CTSF_SUBTABLE_ID: + case CTSF_LAYER_ID: + case CTSF_LAYERROW_ID: + case CTSF_LAYERCOL_ID: + return false; + + case CTSF_COLPCT_SUM: + case CTSF_UCOLPCT_SUM: + case CTSF_LAYERCOLPCT_SUM: + case CTSF_ULAYERCOLPCT_SUM: + case CTSF_LAYERPCT_SUM: + case CTSF_ULAYERPCT_SUM: + case CTSF_LAYERROWPCT_SUM: + case CTSF_ULAYERROWPCT_SUM: + case CTSF_ROWPCT_SUM: + case CTSF_UROWPCT_SUM: + case CTSF_SUBTABLEPCT_SUM: + case CTSF_USUBTABLEPCT_SUM: + case CTSF_TABLEPCT_SUM: + case CTSF_UTABLEPCT_SUM: + return true; + } + + NOT_REACHED (); +} + +static double +ctables_summary_value (const struct ctables_cell *cell, + union ctables_summary *s, + const struct ctables_summary_spec *ss) +{ + switch (ss->function) + { + case CTSF_COUNT: + case CTSF_ECOUNT: + case CTSF_UCOUNT: + return s->count; + + case CTSF_ROW_ID: + case CTSF_COL_ID: + case CTSF_TABLE_ID: + case CTSF_SUBTABLE_ID: + case CTSF_LAYER_ID: + case CTSF_LAYERROW_ID: + case CTSF_LAYERCOL_ID: + return cell->domains[ctables_function_domain (ss->function)]->sequence; + + case CTSF_ROWPCT_COUNT: + case CTSF_COLPCT_COUNT: + case CTSF_TABLEPCT_COUNT: + case CTSF_SUBTABLEPCT_COUNT: + case CTSF_LAYERPCT_COUNT: + case CTSF_LAYERROWPCT_COUNT: + case CTSF_LAYERCOLPCT_COUNT: + { + enum ctables_domain_type d = ctables_function_domain (ss->function); + return (cell->domains[d]->e_count + ? s->count / cell->domains[d]->e_count * 100 + : SYSMIS); + } + + case CTSF_UROWPCT_COUNT: + case CTSF_UCOLPCT_COUNT: + case CTSF_UTABLEPCT_COUNT: + case CTSF_USUBTABLEPCT_COUNT: + case CTSF_ULAYERPCT_COUNT: + case CTSF_ULAYERROWPCT_COUNT: + case CTSF_ULAYERCOLPCT_COUNT: + { + enum ctables_domain_type d = ctables_function_domain (ss->function); + return (cell->domains[d]->u_count + ? s->count / cell->domains[d]->u_count * 100 + : SYSMIS); + } + + case CTSF_ROWPCT_VALIDN: + case CTSF_COLPCT_VALIDN: + case CTSF_TABLEPCT_VALIDN: + case CTSF_SUBTABLEPCT_VALIDN: + case CTSF_LAYERPCT_VALIDN: + case CTSF_LAYERROWPCT_VALIDN: + case CTSF_LAYERCOLPCT_VALIDN: + { + enum ctables_domain_type d = ctables_function_domain (ss->function); + return (cell->domains[d]->e_valid + ? s->count / cell->domains[d]->e_valid * 100 + : SYSMIS); + } + + case CTSF_UROWPCT_VALIDN: + case CTSF_UCOLPCT_VALIDN: + case CTSF_UTABLEPCT_VALIDN: + case CTSF_USUBTABLEPCT_VALIDN: + case CTSF_ULAYERPCT_VALIDN: + case CTSF_ULAYERROWPCT_VALIDN: + case CTSF_ULAYERCOLPCT_VALIDN: + { + enum ctables_domain_type d = ctables_function_domain (ss->function); + return (cell->domains[d]->u_valid + ? s->count / cell->domains[d]->u_valid * 100 + : SYSMIS); + } + + case CTSF_ROWPCT_TOTALN: + case CTSF_COLPCT_TOTALN: + case CTSF_TABLEPCT_TOTALN: + case CTSF_SUBTABLEPCT_TOTALN: + case CTSF_LAYERPCT_TOTALN: + case CTSF_LAYERROWPCT_TOTALN: + case CTSF_LAYERCOLPCT_TOTALN: + { + enum ctables_domain_type d = ctables_function_domain (ss->function); + return (cell->domains[d]->e_total + ? s->count / cell->domains[d]->e_total * 100 + : SYSMIS); + } + + case CTSF_UROWPCT_TOTALN: + case CTSF_UCOLPCT_TOTALN: + case CTSF_UTABLEPCT_TOTALN: + case CTSF_USUBTABLEPCT_TOTALN: + case CTSF_ULAYERPCT_TOTALN: + case CTSF_ULAYERROWPCT_TOTALN: + case CTSF_ULAYERCOLPCT_TOTALN: + { + enum ctables_domain_type d = ctables_function_domain (ss->function); + return (cell->domains[d]->u_total + ? s->count / cell->domains[d]->u_total * 100 + : SYSMIS); + } + + case CTSF_MISSING: + case CTSF_UMISSING: + case CSTF_TOTALN: + case CTSF_ETOTALN: + case CSTF_UTOTALN: + case CTSF_VALIDN: + case CTSF_UVALIDN: + case CTSF_EVALIDN: + return s->count; + + case CTSF_MAXIMUM: + return s->max; + + case CTSF_MINIMUM: + return s->min; + + case CTSF_RANGE: + return s->max != SYSMIS && s->min != SYSMIS ? s->max - s->min : SYSMIS; + + case CTSF_MEAN: + case CTSF_UMEAN: + { + double mean; + moments1_calculate (s->moments, NULL, &mean, NULL, NULL, NULL); + return mean; + } + + case CTSF_SEMEAN: + case CTSF_USEMEAN: + { + double weight, variance; + moments1_calculate (s->moments, &weight, NULL, &variance, NULL, NULL); + return calc_semean (variance, weight); + } + + case CTSF_STDDEV: + case CTSF_USTDDEV: + { + double variance; + moments1_calculate (s->moments, NULL, NULL, &variance, NULL, NULL); + return variance != SYSMIS ? sqrt (variance) : SYSMIS; + } + + case CTSF_SUM: + case CTSF_USUM: + { + double weight, mean; + moments1_calculate (s->moments, &weight, &mean, NULL, NULL, NULL); + return weight != SYSMIS && mean != SYSMIS ? weight * mean : SYSMIS; + } + + case CTSF_VARIANCE: + case CTSF_UVARIANCE: + { + double variance; + moments1_calculate (s->moments, NULL, NULL, &variance, NULL, NULL); + return variance; + } + + case CTSF_ROWPCT_SUM: + case CTSF_COLPCT_SUM: + case CTSF_TABLEPCT_SUM: + case CTSF_SUBTABLEPCT_SUM: + case CTSF_LAYERPCT_SUM: + case CTSF_LAYERROWPCT_SUM: + case CTSF_LAYERCOLPCT_SUM: + { + double weight, mean; + moments1_calculate (s->moments, &weight, &mean, NULL, NULL, NULL); + if (weight == SYSMIS || mean == SYSMIS) + return SYSMIS; + enum ctables_domain_type d = ctables_function_domain (ss->function); + double num = weight * mean; + double denom = cell->domains[d]->sums[ss->sum_var_idx].e_sum; + return denom != 0 ? num / denom * 100 : SYSMIS; + } + case CTSF_UROWPCT_SUM: + case CTSF_UCOLPCT_SUM: + case CTSF_UTABLEPCT_SUM: + case CTSF_USUBTABLEPCT_SUM: + case CTSF_ULAYERPCT_SUM: + case CTSF_ULAYERROWPCT_SUM: + case CTSF_ULAYERCOLPCT_SUM: + { + double weight, mean; + moments1_calculate (s->moments, &weight, &mean, NULL, NULL, NULL); + if (weight == SYSMIS || mean == SYSMIS) + return SYSMIS; + enum ctables_domain_type d = ctables_function_domain (ss->function); + double num = weight * mean; + double denom = cell->domains[d]->sums[ss->sum_var_idx].u_sum; + return denom != 0 ? num / denom * 100 : SYSMIS; + } + + case CTSF_MEDIAN: + case CTSF_PTILE: + case CTSF_UMEDIAN: + case CTSF_UPTILE: + if (s->writer) + { + struct casereader *reader = casewriter_make_reader (s->writer); + s->writer = NULL; + + struct percentile *ptile = percentile_create ( + ss->function == CTSF_PTILE ? ss->percentile : 0.5, s->ovalid); + struct order_stats *os = &ptile->parent; + order_stats_accumulate_idx (&os, 1, reader, 1, 0); + s->ovalue = percentile_calculate (ptile, PC_HAVERAGE); + statistic_destroy (&ptile->parent.parent); + } + return s->ovalue; + + case CTSF_MODE: + case CTSF_UMODE: + if (s->writer) + { + struct casereader *reader = casewriter_make_reader (s->writer); + s->writer = NULL; + + struct mode *mode = mode_create (); + struct order_stats *os = &mode->parent; + order_stats_accumulate_idx (&os, 1, reader, 1, 0); + s->ovalue = mode->mode; + statistic_destroy (&mode->parent.parent); + } + return s->ovalue; + } + + NOT_REACHED (); +} + +struct ctables_cell_sort_aux + { + const struct ctables_nest *nest; + enum pivot_axis_type a; + }; + +static int +ctables_cell_compare_3way (const void *a_, const void *b_, const void *aux_) +{ + const struct ctables_cell_sort_aux *aux = aux_; + struct ctables_cell *const *ap = a_; + struct ctables_cell *const *bp = b_; + const struct ctables_cell *a = *ap; + const struct ctables_cell *b = *bp; + + const struct ctables_nest *nest = aux->nest; + for (size_t i = 0; i < nest->n; i++) + if (i != nest->scale_idx) + { + const struct variable *var = nest->vars[i]; + const struct ctables_cell_value *a_cv = &a->axes[aux->a].cvs[i]; + const struct ctables_cell_value *b_cv = &b->axes[aux->a].cvs[i]; + if (a_cv->category != b_cv->category) + return a_cv->category > b_cv->category ? 1 : -1; + + const union value *a_val = &a_cv->value; + const union value *b_val = &b_cv->value; + switch (a_cv->category->type) + { + case CCT_NUMBER: + case CCT_STRING: + case CCT_SUBTOTAL: + case CCT_TOTAL: + case CCT_POSTCOMPUTE: + case CCT_EXCLUDED_MISSING: + /* Must be equal. */ + continue; + + case CCT_NRANGE: + case CCT_SRANGE: + case CCT_MISSING: + case CCT_OTHERNM: + { + int cmp = value_compare_3way (a_val, b_val, var_get_width (var)); + if (cmp) + return cmp; + } + break; + + case CCT_VALUE: + { + int cmp = value_compare_3way (a_val, b_val, var_get_width (var)); + if (cmp) + return a_cv->category->sort_ascending ? cmp : -cmp; + } + break; + + case CCT_LABEL: + { + const char *a_label = var_lookup_value_label (var, a_val); + const char *b_label = var_lookup_value_label (var, b_val); + int cmp; + if (a_label) + { + if (!b_label) + return -1; + cmp = strcmp (a_label, b_label); + } + else + { + if (b_label) + return 1; + cmp = value_compare_3way (a_val, b_val, var_get_width (var)); + } + if (cmp) + return a_cv->category->sort_ascending ? cmp : -cmp; + } + break; + + case CCT_FUNCTION: + NOT_REACHED (); + } + } + return 0; +} + +static int +ctables_cell_compare_leaf_3way (const void *a_, const void *b_, + const void *aux UNUSED) +{ + struct ctables_cell *const *ap = a_; + struct ctables_cell *const *bp = b_; + const struct ctables_cell *a = *ap; + const struct ctables_cell *b = *bp; + + for (enum pivot_axis_type axis = 0; axis < PIVOT_N_AXES; axis++) + { + int al = a->axes[axis].leaf; + int bl = b->axes[axis].leaf; + if (al != bl) + return al > bl ? 1 : -1; + } + return 0; +} + +/* Algorithm: + + For each row: + For each ctables_table: + For each combination of row vars: + For each combination of column vars: + For each combination of layer vars: + Add entry + Make a table of row values: + Sort entries by row values + Assign a 0-based index to each actual value + Construct a dimension + Make a table of column values + Make a table of layer values + For each entry: + Fill the table entry using the indexes from before. + */ + +static struct ctables_domain * +ctables_domain_insert (struct ctables_section *s, struct ctables_cell *cell, + enum ctables_domain_type domain) +{ + size_t hash = 0; + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n_domains[domain]; i++) + { + size_t v_idx = nest->domains[domain][i]; + struct ctables_cell_value *cv = &cell->axes[a].cvs[v_idx]; + hash = hash_pointer (cv->category, hash); + if (cv->category->type != CCT_TOTAL + && cv->category->type != CCT_SUBTOTAL + && cv->category->type != CCT_POSTCOMPUTE) + hash = value_hash (&cv->value, + var_get_width (nest->vars[v_idx]), hash); + } + } + + struct ctables_domain *d; + HMAP_FOR_EACH_WITH_HASH (d, struct ctables_domain, node, hash, &s->domains[domain]) + { + const struct ctables_cell *df = d->example; + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n_domains[domain]; i++) + { + size_t v_idx = nest->domains[domain][i]; + struct ctables_cell_value *cv1 = &df->axes[a].cvs[v_idx]; + struct ctables_cell_value *cv2 = &cell->axes[a].cvs[v_idx]; + if (cv1->category != cv2->category + || (cv1->category->type != CCT_TOTAL + && cv1->category->type != CCT_SUBTOTAL + && cv1->category->type != CCT_POSTCOMPUTE + && !value_equal (&cv1->value, &cv2->value, + var_get_width (nest->vars[v_idx])))) + goto not_equal; + } + } + return d; + + not_equal: ; + } + + struct ctables_sum *sums = (s->table->n_sum_vars + ? xzalloc (s->table->n_sum_vars * sizeof *sums) + : NULL); + + d = xmalloc (sizeof *d); + *d = (struct ctables_domain) { .example = cell, .sums = sums }; + hmap_insert (&s->domains[domain], &d->node, hash); + return d; +} + +static struct substring +rtrim_value (const union value *v, const struct variable *var) +{ + struct substring s = ss_buffer (CHAR_CAST (char *, v->s), + var_get_width (var)); + ss_rtrim (&s, ss_cstr (" ")); + return s; +} + +static bool +in_string_range (const union value *v, const struct variable *var, + const struct substring *srange) +{ + struct substring s = rtrim_value (v, var); + return ((!srange[0].string || ss_compare (s, srange[0]) >= 0) + && (!srange[1].string || ss_compare (s, srange[1]) <= 0)); +} + +static const struct ctables_category * +ctables_categories_match (const struct ctables_categories *c, + const union value *v, const struct variable *var) +{ + if (var_is_numeric (var) && v->f == SYSMIS) + return NULL; + + const struct ctables_category *othernm = NULL; + for (size_t i = c->n_cats; i-- > 0; ) + { + const struct ctables_category *cat = &c->cats[i]; + switch (cat->type) + { + case CCT_NUMBER: + if (cat->number == v->f) + return cat; + break; + + case CCT_STRING: + if (ss_equals (cat->string, rtrim_value (v, var))) + return cat; + break; + + case CCT_NRANGE: + if ((cat->nrange[0] == -DBL_MAX || v->f >= cat->nrange[0]) + && (cat->nrange[1] == DBL_MAX || v->f <= cat->nrange[1])) + return cat; + break; + + case CCT_SRANGE: + if (in_string_range (v, var, cat->srange)) + return cat; + break; + + case CCT_MISSING: + if (var_is_value_missing (var, v)) + return cat; + break; + + case CCT_POSTCOMPUTE: + break; + + case CCT_OTHERNM: + if (!othernm) + othernm = cat; + break; + + case CCT_SUBTOTAL: + case CCT_TOTAL: + break; + + case CCT_VALUE: + case CCT_LABEL: + case CCT_FUNCTION: + return (cat->include_missing || !var_is_value_missing (var, v) ? cat + : NULL); + + case CCT_EXCLUDED_MISSING: + break; + } + } + + return var_is_value_missing (var, v) ? NULL : othernm; +} + +static const struct ctables_category * +ctables_categories_total (const struct ctables_categories *c) +{ + const struct ctables_category *first = &c->cats[0]; + const struct ctables_category *last = &c->cats[c->n_cats - 1]; + return (first->type == CCT_TOTAL ? first + : last->type == CCT_TOTAL ? last + : NULL); +} + +static struct ctables_cell * +ctables_cell_insert__ (struct ctables_section *s, const struct ccase *c, + const struct ctables_category *cats[PIVOT_N_AXES][10]) +{ + size_t hash = 0; + enum ctables_summary_variant sv = CSV_CELL; + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n; i++) + if (i != nest->scale_idx) + { + hash = hash_pointer (cats[a][i], hash); + if (cats[a][i]->type != CCT_TOTAL + && cats[a][i]->type != CCT_SUBTOTAL + && cats[a][i]->type != CCT_POSTCOMPUTE) + hash = value_hash (case_data (c, nest->vars[i]), + var_get_width (nest->vars[i]), hash); + else + sv = CSV_TOTAL; + } + } + + struct ctables_cell *cell; + HMAP_FOR_EACH_WITH_HASH (cell, struct ctables_cell, node, hash, &s->cells) + { + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n; i++) + if (i != nest->scale_idx + && (cats[a][i] != cell->axes[a].cvs[i].category + || (cats[a][i]->type != CCT_TOTAL + && cats[a][i]->type != CCT_SUBTOTAL + && cats[a][i]->type != CCT_POSTCOMPUTE + && !value_equal (case_data (c, nest->vars[i]), + &cell->axes[a].cvs[i].value, + var_get_width (nest->vars[i]))))) + goto not_equal; + } + + return cell; + + not_equal: ; + } + + cell = xmalloc (sizeof *cell); + cell->hide = false; + cell->sv = sv; + cell->omit_domains = 0; + cell->postcompute = false; + //struct string name = DS_EMPTY_INITIALIZER; + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + cell->axes[a].cvs = (nest->n + ? xnmalloc (nest->n, sizeof *cell->axes[a].cvs) + : NULL); + for (size_t i = 0; i < nest->n; i++) + { + const struct ctables_category *cat = cats[a][i]; + const struct variable *var = nest->vars[i]; + const union value *value = case_data (c, var); + if (i != nest->scale_idx) + { + const struct ctables_category *subtotal = cat->subtotal; + if (cat->hide || (subtotal && subtotal->hide_subcategories)) + cell->hide = true; + + if (cat->type == CCT_TOTAL + || cat->type == CCT_SUBTOTAL + || cat->type == CCT_POSTCOMPUTE) + { + /* XXX these should be more encompassing I think.*/ + + switch (a) + { + case PIVOT_AXIS_COLUMN: + cell->omit_domains |= ((1u << CTDT_TABLE) | + (1u << CTDT_LAYER) | + (1u << CTDT_LAYERCOL) | + (1u << CTDT_SUBTABLE) | + (1u << CTDT_COL)); + break; + case PIVOT_AXIS_ROW: + cell->omit_domains |= ((1u << CTDT_TABLE) | + (1u << CTDT_LAYER) | + (1u << CTDT_LAYERROW) | + (1u << CTDT_SUBTABLE) | + (1u << CTDT_ROW)); + break; + case PIVOT_AXIS_LAYER: + cell->omit_domains |= ((1u << CTDT_TABLE) | + (1u << CTDT_LAYER)); + break; + } + } + if (cat->type == CCT_POSTCOMPUTE) + cell->postcompute = true; + } + + cell->axes[a].cvs[i].category = cat; + value_clone (&cell->axes[a].cvs[i].value, value, var_get_width (var)); + +#if 0 + if (i != nest->scale_idx) + { + if (!ds_is_empty (&name)) + ds_put_cstr (&name, ", "); + char *value_s = data_out (value, var_get_encoding (var), + var_get_print_format (var), + settings_get_fmt_settings ()); + if (cat->type == CCT_TOTAL + || cat->type == CCT_SUBTOTAL + || cat->type == CCT_POSTCOMPUTE) + ds_put_format (&name, "%s=total", var_get_name (var)); + else + ds_put_format (&name, "%s=%s", var_get_name (var), + value_s + strspn (value_s, " ")); + free (value_s); + } +#endif + } + } + //cell->name = ds_steal_cstr (&name); + + const struct ctables_nest *ss = s->nests[s->table->summary_axis]; + const struct ctables_summary_spec_set *specs = &ss->specs[cell->sv]; + cell->summaries = xmalloc (specs->n * sizeof *cell->summaries); + for (size_t i = 0; i < specs->n; i++) + ctables_summary_init (&cell->summaries[i], &specs->specs[i]); + for (enum ctables_domain_type dt = 0; dt < N_CTDTS; dt++) + cell->domains[dt] = ctables_domain_insert (s, cell, dt); + hmap_insert (&s->cells, &cell->node, hash); + return cell; +} + +static bool +is_scale_missing (const struct ctables_summary_spec_set *specs, + const struct ccase *c) +{ + if (!specs->is_scale) + return false; + + if (var_is_num_missing (specs->var, case_num (c, specs->var))) + return true; + + for (size_t i = 0; i < specs->n_listwise_vars; i++) + { + const struct variable *var = specs->listwise_vars[i]; + if (var_is_num_missing (var, case_num (c, var))) + return true; + } + + return false; +} + +static void +ctables_cell_add__ (struct ctables_section *s, const struct ccase *c, + const struct ctables_category *cats[PIVOT_N_AXES][10], + bool is_missing, bool excluded_missing, + double d_weight, double e_weight) +{ + struct ctables_cell *cell = ctables_cell_insert__ (s, c, cats); + const struct ctables_nest *ss = s->nests[s->table->summary_axis]; + + const struct ctables_summary_spec_set *specs = &ss->specs[cell->sv]; + + bool scale_missing = is_scale_missing (specs, c); + for (size_t i = 0; i < specs->n; i++) + ctables_summary_add (&cell->summaries[i], &specs->specs[i], + specs->var, case_data (c, specs->var), specs->is_scale, + scale_missing, is_missing, excluded_missing, + d_weight, e_weight); + for (enum ctables_domain_type dt = 0; dt < N_CTDTS; dt++) + if (!(cell->omit_domains && (1u << dt))) + { + struct ctables_domain *d = cell->domains[dt]; + d->d_total += d_weight; + d->e_total += e_weight; + d->u_total += 1.0; + if (!excluded_missing) + { + d->d_count += d_weight; + d->e_count += e_weight; + d->u_count += 1.0; + } + if (!is_missing) + { + d->d_valid += d_weight; + d->e_valid += e_weight; + d->u_count += 1.0; + + for (size_t i = 0; i < s->table->n_sum_vars; i++) + { + /* XXX listwise_missing??? */ + const struct variable *var = s->table->sum_vars[i]; + double addend = case_num (c, var); + if (!var_is_num_missing (var, addend)) + { + struct ctables_sum *sum = &d->sums[i]; + sum->e_sum += addend * e_weight; + sum->u_sum += addend; + } + } + } + } +} + +static void +recurse_totals (struct ctables_section *s, const struct ccase *c, + const struct ctables_category *cats[PIVOT_N_AXES][10], + bool is_missing, bool excluded_missing, + double d_weight, double e_weight, + enum pivot_axis_type start_axis, size_t start_nest) +{ + for (enum pivot_axis_type a = start_axis; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = start_nest; i < nest->n; i++) + { + if (i == nest->scale_idx) + continue; + + const struct variable *var = nest->vars[i]; + + const struct ctables_category *total = ctables_categories_total ( + s->table->categories[var_get_dict_index (var)]); + if (total) + { + const struct ctables_category *save = cats[a][i]; + cats[a][i] = total; + ctables_cell_add__ (s, c, cats, is_missing, excluded_missing, + d_weight, e_weight); + recurse_totals (s, c, cats, is_missing, excluded_missing, + d_weight, e_weight, a, i + 1); + cats[a][i] = save; + } + } + start_nest = 0; + } +} + +static void +recurse_subtotals (struct ctables_section *s, const struct ccase *c, + const struct ctables_category *cats[PIVOT_N_AXES][10], + bool is_missing, bool excluded_missing, + double d_weight, double e_weight, + enum pivot_axis_type start_axis, size_t start_nest) +{ + for (enum pivot_axis_type a = start_axis; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = start_nest; i < nest->n; i++) + { + if (i == nest->scale_idx) + continue; + + const struct ctables_category *save = cats[a][i]; + if (save->subtotal) + { + cats[a][i] = save->subtotal; + ctables_cell_add__ (s, c, cats, is_missing, excluded_missing, + d_weight, e_weight); + recurse_subtotals (s, c, cats, is_missing, excluded_missing, + d_weight, e_weight, a, i + 1); + cats[a][i] = save; + } + } + start_nest = 0; + } +} + +static void +ctables_add_occurrence (const struct variable *var, + const union value *value, + struct hmap *occurrences) +{ + int width = var_get_width (var); + unsigned int hash = value_hash (value, width, 0); + + struct ctables_occurrence *o; + HMAP_FOR_EACH_WITH_HASH (o, struct ctables_occurrence, node, hash, + occurrences) + if (value_equal (value, &o->value, width)) + return; + + o = xmalloc (sizeof *o); + value_clone (&o->value, value, width); + hmap_insert (occurrences, &o->node, hash); +} + +static void +ctables_cell_insert (struct ctables_section *s, + const struct ccase *c, + double d_weight, double e_weight) +{ + const struct ctables_category *cats[PIVOT_N_AXES][10]; /* XXX */ + + /* Does at least one categorical variable have a missing value in an included + or excluded category? */ + bool is_missing = false; + + /* Does at least one categorical variable have a missing value in an excluded + category? */ + bool excluded_missing = false; + + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n; i++) + { + if (i == nest->scale_idx) + continue; + + const struct variable *var = nest->vars[i]; + const union value *value = case_data (c, var); + + bool var_missing = var_is_value_missing (var, value) != 0; + if (var_missing) + is_missing = true; + + cats[a][i] = ctables_categories_match ( + s->table->categories[var_get_dict_index (var)], value, var); + if (!cats[a][i]) + { + if (!var_missing) + return; + + static const struct ctables_category cct_excluded_missing = { + .type = CCT_EXCLUDED_MISSING, + .hide = true, + }; + cats[a][i] = &cct_excluded_missing; + excluded_missing = true; + } + } + } + + if (!excluded_missing) + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n; i++) + if (i != nest->scale_idx) + { + const struct variable *var = nest->vars[i]; + const union value *value = case_data (c, var); + ctables_add_occurrence (var, value, &s->occurrences[a][i]); + } + } + + ctables_cell_add__ (s, c, cats, is_missing, excluded_missing, + d_weight, e_weight); + + //if (!excluded_missing) + { + recurse_totals (s, c, cats, is_missing, excluded_missing, + d_weight, e_weight, 0, 0); + recurse_subtotals (s, c, cats, is_missing, excluded_missing, + d_weight, e_weight, 0, 0); + } +} + +struct merge_item + { + const struct ctables_summary_spec_set *set; + size_t ofs; + }; + +static int +merge_item_compare_3way (const struct merge_item *a, const struct merge_item *b) +{ + const struct ctables_summary_spec *as = &a->set->specs[a->ofs]; + const struct ctables_summary_spec *bs = &b->set->specs[b->ofs]; + if (as->function != bs->function) + return as->function > bs->function ? 1 : -1; + else if (as->percentile != bs->percentile) + return as->percentile < bs->percentile ? 1 : -1; + + const char *as_label = as->label ? as->label : ""; + const char *bs_label = bs->label ? bs->label : ""; + return strcmp (as_label, bs_label); +} + +static struct pivot_value * +ctables_category_create_label__ (const struct ctables_category *cat, + const struct variable *var, + const union value *value) +{ + return (cat->type == CCT_TOTAL || cat->type == CCT_SUBTOTAL + ? pivot_value_new_user_text (cat->total_label, SIZE_MAX) + : pivot_value_new_var_value (var, value)); +} + +static struct pivot_value * +ctables_postcompute_label (const struct ctables_categories *cats, + const struct ctables_category *cat, + const struct variable *var, + const union value *value) +{ + struct substring in = ss_cstr (cat->pc->label); + struct substring target = ss_cstr (")LABEL["); + + struct string out = DS_EMPTY_INITIALIZER; + for (;;) + { + size_t chunk = ss_find_substring (in, target); + if (chunk == SIZE_MAX) + { + if (ds_is_empty (&out)) + return pivot_value_new_user_text (in.string, in.length); + else + { + ds_put_substring (&out, in); + return pivot_value_new_user_text_nocopy (ds_steal_cstr (&out)); + } + } + + ds_put_substring (&out, ss_head (in, chunk)); + ss_advance (&in, chunk + target.length); + + struct substring idx_s; + if (!ss_get_until (&in, ']', &idx_s)) + goto error; + char *tail; + long int idx = strtol (idx_s.string, &tail, 10); + if (idx < 1 || idx > cats->n_cats || tail != ss_end (idx_s)) + goto error; + + struct ctables_category *cat2 = &cats->cats[idx - 1]; + struct pivot_value *label2 + = ctables_category_create_label__ (cat2, var, value); + char *label2_s = pivot_value_to_string_defaults (label2); + ds_put_cstr (&out, label2_s); + free (label2_s); + pivot_value_destroy (label2); + } + +error: + ds_destroy (&out); + return pivot_value_new_user_text (cat->pc->label, SIZE_MAX); +} + +static struct pivot_value * +ctables_category_create_label (const struct ctables_categories *cats, + const struct ctables_category *cat, + const struct variable *var, + const union value *value) +{ + return (cat->type == CCT_POSTCOMPUTE && cat->pc->label + ? ctables_postcompute_label (cats, cat, var, value) + : ctables_category_create_label__ (cat, var, value)); +} + +static struct ctables_value * +ctables_value_find__ (struct ctables_table *t, const union value *value, + int width, unsigned int hash) +{ + struct ctables_value *clv; + HMAP_FOR_EACH_WITH_HASH (clv, struct ctables_value, node, + hash, &t->clabels_values_map) + if (value_equal (value, &clv->value, width)) + return clv; + return NULL; +} + +static void +ctables_value_insert (struct ctables_table *t, const union value *value, + int width) +{ + unsigned int hash = value_hash (value, width, 0); + struct ctables_value *clv = ctables_value_find__ (t, value, width, hash); + if (!clv) + { + clv = xmalloc (sizeof *clv); + value_clone (&clv->value, value, width); + hmap_insert (&t->clabels_values_map, &clv->node, hash); + } +} + +static struct ctables_value * +ctables_value_find (struct ctables_table *t, + const union value *value, int width) +{ + return ctables_value_find__ (t, value, width, + value_hash (value, width, 0)); +} + +static void +ctables_table_add_section (struct ctables_table *t, enum pivot_axis_type a, + size_t ix[PIVOT_N_AXES]) +{ + if (a < PIVOT_N_AXES) + { + size_t limit = MAX (t->stacks[a].n, 1); + for (ix[a] = 0; ix[a] < limit; ix[a]++) + ctables_table_add_section (t, a + 1, ix); + } + else + { + struct ctables_section *s = &t->sections[t->n_sections++]; + *s = (struct ctables_section) { + .table = t, + .cells = HMAP_INITIALIZER (s->cells), + }; + for (a = 0; a < PIVOT_N_AXES; a++) + if (t->stacks[a].n) + { + struct ctables_nest *nest = &t->stacks[a].nests[ix[a]]; + s->nests[a] = nest; + s->occurrences[a] = xnmalloc (nest->n, sizeof *s->occurrences[a]); + for (size_t i = 0; i < nest->n; i++) + hmap_init (&s->occurrences[a][i]); + } + for (size_t i = 0; i < N_CTDTS; i++) + hmap_init (&s->domains[i]); + } +} + +static double +ctpo_add (double a, double b) +{ + return a + b; +} + +static double +ctpo_sub (double a, double b) +{ + return a - b; +} + +static double +ctpo_mul (double a, double b) +{ + return a * b; +} + +static double +ctpo_div (double a, double b) +{ + return b ? a / b : SYSMIS; +} + +static double +ctpo_pow (double a, double b) +{ + int save_errno = errno; + errno = 0; + double result = pow (a, b); + if (errno) + result = SYSMIS; + errno = save_errno; + return result; +} + +static double +ctpo_neg (double a, double b UNUSED) +{ + return -a; +} + +struct ctables_pcexpr_evaluate_ctx + { + const struct ctables_cell *cell; + const struct ctables_section *section; + const struct ctables_categories *cats; + enum pivot_axis_type pc_a; + size_t pc_a_idx; + size_t summary_idx; + enum fmt_type parse_format; + }; + +static double ctables_pcexpr_evaluate ( + const struct ctables_pcexpr_evaluate_ctx *, const struct ctables_pcexpr *); + +static double +ctables_pcexpr_evaluate_nonterminal ( + const struct ctables_pcexpr_evaluate_ctx *ctx, + const struct ctables_pcexpr *e, size_t n_args, + double evaluate (double, double)) +{ + double args[2] = { 0, 0 }; + for (size_t i = 0; i < n_args; i++) + { + args[i] = ctables_pcexpr_evaluate (ctx, e->subs[i]); + if (!isfinite (args[i]) || args[i] == SYSMIS) + return SYSMIS; + } + return evaluate (args[0], args[1]); +} + +static double +ctables_pcexpr_evaluate_category (const struct ctables_pcexpr_evaluate_ctx *ctx, + const struct ctables_cell_value *pc_cv) +{ + const struct ctables_section *s = ctx->section; + + size_t hash = 0; + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n; i++) + if (i != nest->scale_idx) + { + const struct ctables_cell_value *cv + = (a == ctx->pc_a && i == ctx->pc_a_idx ? pc_cv + : &ctx->cell->axes[a].cvs[i]); + hash = hash_pointer (cv->category, hash); + if (cv->category->type != CCT_TOTAL + && cv->category->type != CCT_SUBTOTAL + && cv->category->type != CCT_POSTCOMPUTE) + hash = value_hash (&cv->value, + var_get_width (nest->vars[i]), hash); + } + } + + struct ctables_cell *tc; + HMAP_FOR_EACH_WITH_HASH (tc, struct ctables_cell, node, hash, &s->cells) + { + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n; i++) + if (i != nest->scale_idx) + { + const struct ctables_cell_value *p_cv + = (a == ctx->pc_a && i == ctx->pc_a_idx ? pc_cv + : &ctx->cell->axes[a].cvs[i]); + const struct ctables_cell_value *t_cv = &tc->axes[a].cvs[i]; + if (p_cv->category != t_cv->category + || (p_cv->category->type != CCT_TOTAL + && p_cv->category->type != CCT_SUBTOTAL + && p_cv->category->type != CCT_POSTCOMPUTE + && !value_equal (&p_cv->value, + &t_cv->value, + var_get_width (nest->vars[i])))) + goto not_equal; + } + } + + goto found; + + not_equal: ; + } + return 0; + +found: ; + const struct ctables_table *t = s->table; + const struct ctables_nest *specs_nest = s->nests[t->summary_axis]; + const struct ctables_summary_spec_set *specs = &specs_nest->specs[tc->sv]; + return ctables_summary_value (tc, &tc->summaries[ctx->summary_idx], + &specs->specs[ctx->summary_idx]); +} + +static double +ctables_pcexpr_evaluate (const struct ctables_pcexpr_evaluate_ctx *ctx, + const struct ctables_pcexpr *e) +{ + switch (e->op) + { + case CTPO_CONSTANT: + return e->number; + + case CTPO_CAT_NRANGE: + case CTPO_CAT_SRANGE: + { + struct ctables_cell_value cv = { + .category = ctables_find_category_for_postcompute (ctx->section->table->ctables->dict, ctx->cats, ctx->parse_format, e) + }; + assert (cv.category != NULL); + + struct hmap *occurrences = &ctx->section->occurrences[ctx->pc_a][ctx->pc_a_idx]; + const struct ctables_occurrence *o; + + double sum = 0.0; + const struct variable *var = ctx->section->nests[ctx->pc_a]->vars[ctx->pc_a_idx]; + HMAP_FOR_EACH (o, struct ctables_occurrence, node, occurrences) + if (ctables_categories_match (ctx->cats, &o->value, var) == cv.category) + { + cv.value = o->value; + sum += ctables_pcexpr_evaluate_category (ctx, &cv); + } + return sum; + } + + case CTPO_CAT_NUMBER: + case CTPO_CAT_MISSING: + case CTPO_CAT_OTHERNM: + case CTPO_CAT_SUBTOTAL: + case CTPO_CAT_TOTAL: + { + struct ctables_cell_value cv = { + .category = ctables_find_category_for_postcompute (ctx->section->table->ctables->dict, ctx->cats, ctx->parse_format, e), + .value = { .f = e->number }, + }; + assert (cv.category != NULL); + return ctables_pcexpr_evaluate_category (ctx, &cv); + } + + case CTPO_CAT_STRING: + { + int width = var_get_width (ctx->section->nests[ctx->pc_a]->vars[ctx->pc_a_idx]); + char *s = NULL; + if (width > e->string.length) + { + s = xmalloc (width); + buf_copy_rpad (s, width, e->string.string, e->string.length, ' '); + } + struct ctables_cell_value cv = { + .category = ctables_find_category_for_postcompute (ctx->section->table->ctables->dict, ctx->cats, ctx->parse_format, e), + .value = { .s = CHAR_CAST (uint8_t *, s ? s : e->string.string) }, + }; + assert (cv.category != NULL); + double retval = ctables_pcexpr_evaluate_category (ctx, &cv); + free (s); + return retval; + } + + case CTPO_ADD: + return ctables_pcexpr_evaluate_nonterminal (ctx, e, 2, ctpo_add); + + case CTPO_SUB: + return ctables_pcexpr_evaluate_nonterminal (ctx, e, 2, ctpo_sub); + + case CTPO_MUL: + return ctables_pcexpr_evaluate_nonterminal (ctx, e, 2, ctpo_mul); + + case CTPO_DIV: + return ctables_pcexpr_evaluate_nonterminal (ctx, e, 2, ctpo_div); + + case CTPO_POW: + return ctables_pcexpr_evaluate_nonterminal (ctx, e, 2, ctpo_pow); + + case CTPO_NEG: + return ctables_pcexpr_evaluate_nonterminal (ctx, e, 1, ctpo_neg); + } + + NOT_REACHED (); +} + +static const struct ctables_category * +ctables_cell_postcompute (const struct ctables_section *s, + const struct ctables_cell *cell, + enum pivot_axis_type *pc_a_p, + size_t *pc_a_idx_p) +{ + assert (cell->postcompute); + const struct ctables_category *pc_cat = NULL; + for (enum pivot_axis_type pc_a = 0; pc_a < PIVOT_N_AXES; pc_a++) + for (size_t pc_a_idx = 0; pc_a_idx < s->nests[pc_a]->n; pc_a_idx++) + { + const struct ctables_cell_value *cv = &cell->axes[pc_a].cvs[pc_a_idx]; + if (cv->category->type == CCT_POSTCOMPUTE) + { + if (pc_cat) + { + /* Multiple postcomputes cross each other. The value is + undefined. */ + return NULL; + } + + pc_cat = cv->category; + if (pc_a_p) + *pc_a_p = pc_a; + if (pc_a_idx_p) + *pc_a_idx_p = pc_a_idx; + } + } + + assert (pc_cat != NULL); + return pc_cat; +} + +static double +ctables_cell_calculate_postcompute (const struct ctables_section *s, + const struct ctables_cell *cell, + const struct ctables_summary_spec *ss, + struct fmt_spec *format, + bool *is_ctables_format, + size_t summary_idx) +{ + enum pivot_axis_type pc_a = 0; + size_t pc_a_idx = 0; + const struct ctables_category *pc_cat = ctables_cell_postcompute ( + s, cell, &pc_a, &pc_a_idx); + if (!pc_cat) + return SYSMIS; + + const struct ctables_postcompute *pc = pc_cat->pc; + if (pc->specs) + { + for (size_t i = 0; i < pc->specs->n; i++) + { + const struct ctables_summary_spec *ss2 = &pc->specs->specs[i]; + if (ss->function == ss2->function + && ss->percentile == ss2->percentile) + { + *format = ss2->format; + *is_ctables_format = ss2->is_ctables_format; + break; + } + } + } + + const struct variable *var = s->nests[pc_a]->vars[pc_a_idx]; + const struct ctables_categories *cats = s->table->categories[ + var_get_dict_index (var)]; + struct ctables_pcexpr_evaluate_ctx ctx = { + .cell = cell, + .section = s, + .cats = cats, + .pc_a = pc_a, + .pc_a_idx = pc_a_idx, + .summary_idx = summary_idx, + .parse_format = pc_cat->parse_format, + }; + return ctables_pcexpr_evaluate (&ctx, pc->expr); +} + +static char * +ctables_format (double d, const struct fmt_spec *format, + const struct fmt_settings *settings) +{ + const union value v = { .f = d }; + char *s = data_out_stretchy (&v, "UTF-8", format, settings, NULL); + + /* The custom-currency specifications for NEQUAL, PAREN, and PCTPAREN don't + produce the results we want for negative numbers, putting the negative + sign in the wrong spot, before the prefix instead of after it. We can't, + in fact, produce the desired results using a custom-currency + specification. Instead, we postprocess the output, moving the negative + sign into place: + + NEQUAL: "-N=3" => "N=-3" + PAREN: "-(3)" => "(-3)" + PCTPAREN: "-(3%)" => "(-3%)" + + This transformation doesn't affect NEGPAREN. */ + char *minus_src = strchr (s, '-'); + if (minus_src && (minus_src == s || minus_src[-1] != 'E')) + { + char *n_equals = strstr (s, "N="); + char *lparen = strchr (s, '('); + char *minus_dst = n_equals ? n_equals + 1 : lparen; + if (minus_dst) + move_element (s, minus_dst - s + 1, 1, minus_src - s, minus_dst - s); + } + return s; +} + +static void +ctables_table_output (struct ctables *ct, struct ctables_table *t) +{ + struct pivot_table *pt = pivot_table_create__ ( + (t->title + ? pivot_value_new_user_text (t->title, SIZE_MAX) + : pivot_value_new_text (N_("Custom Tables"))), + "Custom Tables"); + if (t->caption) + pivot_table_set_caption ( + pt, pivot_value_new_user_text (t->caption, SIZE_MAX)); + if (t->corner) + pivot_table_set_corner_text ( + pt, pivot_value_new_user_text (t->corner, SIZE_MAX)); + + bool summary_dimension = (t->summary_axis != t->slabels_axis + || (!t->slabels_visible + && t->summary_specs.n > 1)); + if (summary_dimension) + { + struct pivot_dimension *d = pivot_dimension_create ( + pt, t->slabels_axis, N_("Statistics")); + const struct ctables_summary_spec_set *specs = &t->summary_specs; + if (!t->slabels_visible) + d->hide_all_labels = true; + for (size_t i = 0; i < specs->n; i++) + pivot_category_create_leaf ( + d->root, ctables_summary_label (&specs->specs[i], t->cilevel)); + } + + bool categories_dimension = t->clabels_example != NULL; + if (categories_dimension) + { + struct pivot_dimension *d = pivot_dimension_create ( + pt, t->label_axis[t->clabels_from_axis], + t->clabels_from_axis == PIVOT_AXIS_ROW + ? N_("Row Categories") + : N_("Column Categories")); + const struct variable *var = t->clabels_example; + const struct ctables_categories *c = t->categories[var_get_dict_index (var)]; + for (size_t i = 0; i < t->n_clabels_values; i++) + { + const struct ctables_value *value = t->clabels_values[i]; + const struct ctables_category *cat = ctables_categories_match (c, &value->value, var); + assert (cat != NULL); + pivot_category_create_leaf (d->root, ctables_category_create_label ( + c, cat, t->clabels_example, + &value->value)); + } + } + + pivot_table_set_look (pt, ct->look); + struct pivot_dimension *d[PIVOT_N_AXES]; + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + static const char *names[] = { + [PIVOT_AXIS_ROW] = N_("Rows"), + [PIVOT_AXIS_COLUMN] = N_("Columns"), + [PIVOT_AXIS_LAYER] = N_("Layers"), + }; + d[a] = (t->axes[a] || a == t->summary_axis + ? pivot_dimension_create (pt, a, names[a]) + : NULL); + if (!d[a]) + continue; + + assert (t->axes[a]); + + for (size_t i = 0; i < t->stacks[a].n; i++) + { + struct ctables_nest *nest = &t->stacks[a].nests[i]; + struct ctables_section **sections = xnmalloc (t->n_sections, + sizeof *sections); + size_t n_sections = 0; + + size_t n_total_cells = 0; + size_t max_depth = 0; + for (size_t j = 0; j < t->n_sections; j++) + if (t->sections[j].nests[a] == nest) + { + struct ctables_section *s = &t->sections[j]; + sections[n_sections++] = s; + n_total_cells += hmap_count (&s->cells); + + size_t depth = s->nests[a]->n; + max_depth = MAX (depth, max_depth); + } + + struct ctables_cell **sorted = xnmalloc (n_total_cells, + sizeof *sorted); + size_t n_sorted = 0; + + for (size_t j = 0; j < n_sections; j++) + { + struct ctables_section *s = sections[j]; + + struct ctables_cell *cell; + HMAP_FOR_EACH (cell, struct ctables_cell, node, &s->cells) + if (!cell->hide) + sorted[n_sorted++] = cell; + assert (n_sorted <= n_total_cells); + } + + struct ctables_cell_sort_aux aux = { .nest = nest, .a = a }; + sort (sorted, n_sorted, sizeof *sorted, ctables_cell_compare_3way, &aux); + +#if 0 + if (a == PIVOT_AXIS_ROW) + { + size_t ids[N_CTDTS]; + memset (ids, 0, sizeof ids); + for (size_t j = 0; j < n_sorted; j++) + { + struct ctables_cell *cell = sorted[j]; + for (enum ctables_domain_type dt = 0; dt < N_CTDTS; dt++) + { + struct ctables_domain *domain = cell->domains[dt]; + if (!domain->sequence) + domain->sequence = ++ids[dt]; + } + } + } +#endif + +#if 0 + for (size_t j = 0; j < n_sorted; j++) + { + printf ("%s (%s): %f/%f = %.1f%%\n", sorted[j]->name, sorted[j]->contributes_to_domains ? "y" : "n", sorted[j]->summaries[0].count, sorted[j]->domains[CTDT_COL]->e_count, sorted[j]->summaries[0].count / sorted[j]->domains[CTDT_COL]->e_count * 100.0); + } + printf ("\n"); +#endif + + struct ctables_level + { + enum ctables_level_type + { + CTL_VAR, /* Variable label for nest->vars[var_idx]. */ + CTL_CATEGORY, /* Category for nest->vars[var_idx]. */ + CTL_SUMMARY, /* Summary functions. */ + } + type; + + enum settings_value_show vlabel; /* CTL_VAR only. */ + size_t var_idx; + }; + struct ctables_level *levels = xnmalloc (1 + 2 * max_depth, sizeof *levels); + size_t n_levels = 0; + for (size_t k = 0; k < nest->n; k++) + { + enum ctables_vlabel vlabel = ct->vlabels[var_get_dict_index (nest->vars[k])]; + if (vlabel != CTVL_NONE) + { + levels[n_levels++] = (struct ctables_level) { + .type = CTL_VAR, + .vlabel = (enum settings_value_show) vlabel, + .var_idx = k, + }; + } + + if (nest->scale_idx != k + && (k != nest->n - 1 || t->label_axis[a] == a)) + { + levels[n_levels++] = (struct ctables_level) { + .type = CTL_CATEGORY, + .var_idx = k, + }; + } + } + + if (!summary_dimension && a == t->slabels_axis) + { + levels[n_levels++] = (struct ctables_level) { + .type = CTL_SUMMARY, + .var_idx = SIZE_MAX, + }; + } + + /* Pivot categories: + + - variable label for nest->vars[0], if vlabel != CTVL_NONE + - category for nest->vars[0], if nest->scale_idx != 0 + - variable label for nest->vars[1], if vlabel != CTVL_NONE + - category for nest->vars[1], if nest->scale_idx != 1 + ... + - variable label for nest->vars[n - 1], if vlabel != CTVL_NONE + - category for nest->vars[n - 1], if t->label_axis[a] == a && nest->scale_idx != n - 1. + - summary function, if 'a == t->slabels_axis && a == + t->summary_axis'. + + Additional dimensions: + + - If 'a == t->slabels_axis && a != t->summary_axis', add a summary + dimension. + - If 't->label_axis[b] == a' for some 'b != a', add a category + dimension to 'a'. + */ + + + struct pivot_category **groups = xnmalloc (1 + 2 * max_depth, sizeof *groups); + int prev_leaf = 0; + for (size_t j = 0; j < n_sorted; j++) + { + struct ctables_cell *cell = sorted[j]; + struct ctables_cell *prev = j > 0 ? sorted[j - 1] : NULL; + + size_t n_common = 0; + if (j > 0) + { + for (; n_common < n_levels; n_common++) + { + const struct ctables_level *level = &levels[n_common]; + if (level->type == CTL_CATEGORY) + { + size_t var_idx = level->var_idx; + const struct ctables_category *c = cell->axes[a].cvs[var_idx].category; + if (prev->axes[a].cvs[var_idx].category != c) + break; + else if (c->type != CCT_SUBTOTAL + && c->type != CCT_TOTAL + && c->type != CCT_POSTCOMPUTE + && !value_equal (&prev->axes[a].cvs[var_idx].value, + &cell->axes[a].cvs[var_idx].value, + var_get_type (nest->vars[var_idx]))) + break; + } + } + } + + for (size_t k = n_common; k < n_levels; k++) + { + const struct ctables_level *level = &levels[k]; + struct pivot_category *parent = k ? groups[k - 1] : d[a]->root; + if (level->type == CTL_SUMMARY) + { + assert (k == n_levels - 1); + + const struct ctables_summary_spec_set *specs = &t->summary_specs; + for (size_t m = 0; m < specs->n; m++) + { + int leaf = pivot_category_create_leaf ( + parent, ctables_summary_label (&specs->specs[m], + t->cilevel)); + if (!m) + prev_leaf = leaf; + } + } + else + { + const struct variable *var = nest->vars[level->var_idx]; + struct pivot_value *label; + if (level->type == CTL_VAR) + { + label = pivot_value_new_variable (var); + label->variable.show = level->vlabel; + } + else if (level->type == CTL_CATEGORY) + { + const struct ctables_cell_value *cv = &cell->axes[a].cvs[level->var_idx]; + label = ctables_category_create_label ( + t->categories[var_get_dict_index (var)], + cv->category, var, &cv->value); + } + else + NOT_REACHED (); + + if (k == n_levels - 1) + prev_leaf = pivot_category_create_leaf (parent, label); + else + groups[k] = pivot_category_create_group__ (parent, label); + } + } + + cell->axes[a].leaf = prev_leaf; + } + free (sorted); + free (groups); + free (levels); + free (sections); + } + } + + { + size_t n_total_cells = 0; + for (size_t j = 0; j < t->n_sections; j++) + n_total_cells += hmap_count (&t->sections[j].cells); + + struct ctables_cell **sorted = xnmalloc (n_total_cells, sizeof *sorted); + size_t n_sorted = 0; + for (size_t j = 0; j < t->n_sections; j++) + { + const struct ctables_section *s = &t->sections[j]; + struct ctables_cell *cell; + HMAP_FOR_EACH (cell, struct ctables_cell, node, &s->cells) + if (!cell->hide) + sorted[n_sorted++] = cell; + } + assert (n_sorted <= n_total_cells); + sort (sorted, n_sorted, sizeof *sorted, ctables_cell_compare_leaf_3way, + NULL); + size_t ids[N_CTDTS]; + memset (ids, 0, sizeof ids); + for (size_t j = 0; j < n_sorted; j++) + { + struct ctables_cell *cell = sorted[j]; + for (enum ctables_domain_type dt = 0; dt < N_CTDTS; dt++) + { + struct ctables_domain *domain = cell->domains[dt]; + if (!domain->sequence) + domain->sequence = ++ids[dt]; + } + } + + free (sorted); + } + + for (size_t i = 0; i < t->n_sections; i++) + { + struct ctables_section *s = &t->sections[i]; + + struct ctables_cell *cell; + HMAP_FOR_EACH (cell, struct ctables_cell, node, &s->cells) + { + if (cell->hide) + continue; + + const struct ctables_nest *specs_nest = s->nests[t->summary_axis]; + const struct ctables_summary_spec_set *specs = &specs_nest->specs[cell->sv]; + for (size_t j = 0; j < specs->n; j++) + { + size_t dindexes[5]; + size_t n_dindexes = 0; + + if (summary_dimension) + dindexes[n_dindexes++] = specs->specs[j].axis_idx; + + if (categories_dimension) + { + const struct ctables_nest *clabels_nest = s->nests[t->clabels_from_axis]; + const struct variable *var = clabels_nest->vars[clabels_nest->n - 1]; + const union value *value = &cell->axes[t->clabels_from_axis].cvs[clabels_nest->n - 1].value; + const struct ctables_value *ctv = ctables_value_find (t, value, var_get_width (var)); + if (!ctv) + continue; + dindexes[n_dindexes++] = ctv->leaf; + } + + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + if (d[a]) + { + int leaf = cell->axes[a].leaf; + if (a == t->summary_axis && !summary_dimension) + leaf += j; + dindexes[n_dindexes++] = leaf; + } + + const struct ctables_summary_spec *ss = &specs->specs[j]; + + struct fmt_spec format = specs->specs[j].format; + bool is_ctables_format = ss->is_ctables_format; + double d = (cell->postcompute + ? ctables_cell_calculate_postcompute ( + s, cell, ss, &format, &is_ctables_format, j) + : ctables_summary_value (cell, &cell->summaries[j], + ss)); + + struct pivot_value *value; + if (ct->hide_threshold != 0 + && d < ct->hide_threshold + && ctables_summary_function_is_count (ss->function)) + { + value = pivot_value_new_user_text_nocopy ( + xasprintf ("<%d", ct->hide_threshold)); + } + else if (d == 0 && ct->zero) + value = pivot_value_new_user_text (ct->zero, SIZE_MAX); + else if (d == SYSMIS && ct->missing) + value = pivot_value_new_user_text (ct->missing, SIZE_MAX); + else if (is_ctables_format) + value = pivot_value_new_user_text_nocopy ( + ctables_format (d, &format, &ct->ctables_formats)); + else + { + value = pivot_value_new_number (d); + value->numeric.format = format; + } + /* XXX should text values be right-justified? */ + pivot_table_put (pt, dindexes, n_dindexes, value); + } + } + } + + pivot_table_submit (pt); +} + +static bool +ctables_check_label_position (struct ctables_table *t, enum pivot_axis_type a) +{ + enum pivot_axis_type label_pos = t->label_axis[a]; + if (label_pos == a) + return true; + + t->clabels_from_axis = a; + + const char *subcommand_name = a == PIVOT_AXIS_ROW ? "ROWLABELS" : "COLLABELS"; + const char *pos_name = label_pos == PIVOT_AXIS_LAYER ? "LAYER" : "OPPOSITE"; + + const struct ctables_stack *stack = &t->stacks[a]; + if (!stack->n) + return true; + + const struct ctables_nest *n0 = &stack->nests[0]; + if (n0->n == 0) + { + assert (stack->n == 1); + return true; + } + + const struct variable *v0 = n0->vars[n0->n - 1]; + struct ctables_categories *c0 = t->categories[var_get_dict_index (v0)]; + t->clabels_example = v0; + + for (size_t i = 0; i < c0->n_cats; i++) + if (c0->cats[i].type == CCT_FUNCTION) + { + msg (SE, _("%s=%s is not allowed with sorting based " + "on a summary function."), + subcommand_name, pos_name); + return false; + } + if (n0->n - 1 == n0->scale_idx) + { + msg (SE, _("%s=%s requires the variables to be moved to be categorical, " + "but %s is a scale variable."), + subcommand_name, pos_name, var_get_name (v0)); + return false; + } + + for (size_t i = 1; i < stack->n; i++) + { + const struct ctables_nest *ni = &stack->nests[i]; + assert (ni->n > 0); + const struct variable *vi = ni->vars[ni->n - 1]; + struct ctables_categories *ci = t->categories[var_get_dict_index (vi)]; + + if (ni->n - 1 == ni->scale_idx) + { + msg (SE, _("%s=%s requires the variables to be moved to be " + "categorical, but %s is a scale variable."), + subcommand_name, pos_name, var_get_name (vi)); + return false; + } + if (var_get_width (v0) != var_get_width (vi)) + { + msg (SE, _("%s=%s requires the variables to be " + "moved to have the same width, but %s has " + "width %d and %s has width %d."), + subcommand_name, pos_name, + var_get_name (v0), var_get_width (v0), + var_get_name (vi), var_get_width (vi)); + return false; + } + if (!val_labs_equal (var_get_value_labels (v0), + var_get_value_labels (vi))) + { + msg (SE, _("%s=%s requires the variables to be " + "moved to have the same value labels, but %s " + "and %s have different value labels."), + subcommand_name, pos_name, + var_get_name (v0), var_get_name (vi)); + return false; + } + if (!ctables_categories_equal (c0, ci)) + { + msg (SE, _("%s=%s requires the variables to be " + "moved to have the same category " + "specifications, but %s and %s have different " + "category specifications."), + subcommand_name, pos_name, + var_get_name (v0), var_get_name (vi)); + return false; + } + } + + return true; +} + +static size_t +add_sum_var (struct variable *var, + struct variable ***sum_vars, size_t *n, size_t *allocated) +{ + for (size_t i = 0; i < *n; i++) + if (var == (*sum_vars)[i]) + return i; + + if (*n >= *allocated) + *sum_vars = x2nrealloc (*sum_vars, allocated, sizeof **sum_vars); + (*sum_vars)[*n] = var; + return (*n)++; +} + +static void +enumerate_sum_vars (const struct ctables_axis *a, + struct variable ***sum_vars, size_t *n, size_t *allocated) +{ + if (!a) + return; + + switch (a->op) + { + case CTAO_VAR: + for (size_t i = 0; i < N_CSVS; i++) + for (size_t j = 0; j < a->specs[i].n; j++) + { + struct ctables_summary_spec *spec = &a->specs[i].specs[j]; + if (ctables_function_is_pctsum (spec->function)) + spec->sum_var_idx = add_sum_var (a->var, sum_vars, n, allocated); + } + break; + + case CTAO_STACK: + case CTAO_NEST: + for (size_t i = 0; i < 2; i++) + enumerate_sum_vars (a->subs[i], sum_vars, n, allocated); + break; + } +} + +static bool +ctables_prepare_table (struct ctables_table *t) +{ + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + if (t->axes[a]) + { + t->stacks[a] = enumerate_fts (a, t->axes[a]); + + for (size_t j = 0; j < t->stacks[a].n; j++) + { + struct ctables_nest *nest = &t->stacks[a].nests[j]; + for (enum ctables_domain_type dt = 0; dt < N_CTDTS; dt++) + { + nest->domains[dt] = xmalloc (nest->n * sizeof *nest->domains[dt]); + nest->n_domains[dt] = 0; + + for (size_t k = 0; k < nest->n; k++) + { + if (k == nest->scale_idx) + continue; + + switch (dt) + { + case CTDT_TABLE: + continue; + + case CTDT_LAYER: + if (a != PIVOT_AXIS_LAYER) + continue; + break; + + case CTDT_SUBTABLE: + case CTDT_ROW: + case CTDT_COL: + if (dt == CTDT_SUBTABLE ? a != PIVOT_AXIS_LAYER + : dt == CTDT_ROW ? a == PIVOT_AXIS_COLUMN + : a == PIVOT_AXIS_ROW) + { + if (k == nest->n - 1 + || (nest->scale_idx == nest->n - 1 + && k == nest->n - 2)) + continue; + } + break; + + case CTDT_LAYERROW: + if (a == PIVOT_AXIS_COLUMN) + continue; + break; + + case CTDT_LAYERCOL: + if (a == PIVOT_AXIS_ROW) + continue; + break; + } + + nest->domains[dt][nest->n_domains[dt]++] = k; + } + } + } + } + else + { + struct ctables_nest *nest = xmalloc (sizeof *nest); + *nest = (struct ctables_nest) { .n = 0 }; + t->stacks[a] = (struct ctables_stack) { .nests = nest, .n = 1 }; + + /* There's no point in moving labels away from an axis that has no + labels, so avoid dealing with the special cases around that. */ + t->label_axis[a] = a; + } + + struct ctables_stack *stack = &t->stacks[t->summary_axis]; + for (size_t i = 0; i < stack->n; i++) + { + struct ctables_nest *nest = &stack->nests[i]; + if (!nest->specs[CSV_CELL].n) + { + struct ctables_summary_spec_set *specs = &nest->specs[CSV_CELL]; + specs->specs = xmalloc (sizeof *specs->specs); + specs->n = 1; + + enum ctables_summary_function function + = specs->is_scale ? CTSF_MEAN : CTSF_COUNT; + + *specs->specs = (struct ctables_summary_spec) { + .function = function, + .format = ctables_summary_default_format (function, specs->var), + }; + if (!specs->var) + specs->var = nest->vars[0]; + + ctables_summary_spec_set_clone (&nest->specs[CSV_TOTAL], + &nest->specs[CSV_CELL]); + } + else if (!nest->specs[CSV_TOTAL].n) + ctables_summary_spec_set_clone (&nest->specs[CSV_TOTAL], + &nest->specs[CSV_CELL]); + + if (t->ctables->smissing_listwise) + { + struct variable **listwise_vars = NULL; + size_t n = 0; + size_t allocated = 0; + + for (size_t j = nest->group_head; j < stack->n; j++) + { + const struct ctables_nest *other_nest = &stack->nests[j]; + if (other_nest->group_head != nest->group_head) + break; + + if (nest != other_nest && other_nest->scale_idx < other_nest->n) + { + if (n >= allocated) + listwise_vars = x2nrealloc (listwise_vars, &allocated, + sizeof *listwise_vars); + listwise_vars[n++] = other_nest->vars[other_nest->scale_idx]; + } + } + for (enum ctables_summary_variant sv = 0; sv < N_CSVS; sv++) + { + if (sv > 0) + listwise_vars = xmemdup (listwise_vars, + n * sizeof *listwise_vars); + nest->specs[sv].listwise_vars = listwise_vars; + nest->specs[sv].n_listwise_vars = n; + } + } + } + + struct ctables_summary_spec_set *merged = &t->summary_specs; + struct merge_item *items = xnmalloc (N_CSVS * stack->n, sizeof *items); + size_t n_left = 0; + for (size_t j = 0; j < stack->n; j++) + { + const struct ctables_nest *nest = &stack->nests[j]; + if (nest->n) + for (enum ctables_summary_variant sv = 0; sv < N_CSVS; sv++) + items[n_left++] = (struct merge_item) { .set = &nest->specs[sv] }; + } + + while (n_left > 0) + { + struct merge_item min = items[0]; + for (size_t j = 1; j < n_left; j++) + if (merge_item_compare_3way (&items[j], &min) < 0) + min = items[j]; + + if (merged->n >= merged->allocated) + merged->specs = x2nrealloc (merged->specs, &merged->allocated, + sizeof *merged->specs); + merged->specs[merged->n++] = min.set->specs[min.ofs]; + + for (size_t j = 0; j < n_left; ) + { + if (merge_item_compare_3way (&items[j], &min) == 0) + { + struct merge_item *item = &items[j]; + item->set->specs[item->ofs].axis_idx = merged->n - 1; + if (++item->ofs >= item->set->n) + { + items[j] = items[--n_left]; + continue; + } + } + j++; + } + } + free (items); + +#if 0 + for (size_t j = 0; j < merged->n; j++) + printf ("%s\n", ctables_summary_function_name (merged->specs[j].function)); + + for (size_t j = 0; j < stack->n; j++) + { + const struct ctables_nest *nest = &stack->nests[j]; + for (enum ctables_summary_variant sv = 0; sv < N_CSVS; sv++) + { + const struct ctables_summary_spec_set *specs = &nest->specs[sv]; + for (size_t k = 0; k < specs->n; k++) + printf ("(%s, %zu) ", ctables_summary_function_name (specs->specs[k].function), + specs->specs[k].axis_idx); + printf ("\n"); + } + } +#endif + + size_t allocated_sum_vars = 0; + enumerate_sum_vars (t->axes[t->summary_axis], + &t->sum_vars, &t->n_sum_vars, &allocated_sum_vars); + + return (ctables_check_label_position (t, PIVOT_AXIS_ROW) + && ctables_check_label_position (t, PIVOT_AXIS_COLUMN)); +} + +static void +ctables_insert_clabels_values (struct ctables_table *t, const struct ccase *c, + enum pivot_axis_type a) +{ + struct ctables_stack *stack = &t->stacks[a]; + for (size_t i = 0; i < stack->n; i++) + { + const struct ctables_nest *nest = &stack->nests[i]; + const struct variable *var = nest->vars[nest->n - 1]; + const union value *value = case_data (c, var); + + if (var_is_numeric (var) && value->f == SYSMIS) + continue; + + if (ctables_categories_match (t->categories [var_get_dict_index (var)], + value, var)) + ctables_value_insert (t, value, var_get_width (var)); + } +} + +static int +compare_clabels_values_3way (const void *a_, const void *b_, const void *width_) +{ + const struct ctables_value *const *ap = a_; + const struct ctables_value *const *bp = b_; + const struct ctables_value *a = *ap; + const struct ctables_value *b = *bp; + const int *width = width_; + return value_compare_3way (&a->value, &b->value, *width); +} + +static void +ctables_sort_clabels_values (struct ctables_table *t) +{ + const struct variable *v0 = t->clabels_example; + int width = var_get_width (v0); + + struct ctables_categories *c0 = t->categories[var_get_dict_index (v0)]; + if (c0->show_empty) + { + const struct val_labs *val_labs = var_get_value_labels (v0); + for (const struct val_lab *vl = val_labs_first (val_labs); vl; + vl = val_labs_next (val_labs, vl)) + if (ctables_categories_match (c0, &vl->value, v0)) + ctables_value_insert (t, &vl->value, width); + } + + size_t n = hmap_count (&t->clabels_values_map); + t->clabels_values = xnmalloc (n, sizeof *t->clabels_values); + + struct ctables_value *clv; + size_t i = 0; + HMAP_FOR_EACH (clv, struct ctables_value, node, &t->clabels_values_map) + t->clabels_values[i++] = clv; + t->n_clabels_values = n; + assert (i == n); + + sort (t->clabels_values, n, sizeof *t->clabels_values, + compare_clabels_values_3way, &width); + + for (size_t i = 0; i < n; i++) + t->clabels_values[i]->leaf = i; +} + +static void +ctables_add_category_occurrences (const struct variable *var, + struct hmap *occurrences, + const struct ctables_categories *cats) +{ + const struct val_labs *val_labs = var_get_value_labels (var); + + for (size_t i = 0; i < cats->n_cats; i++) + { + const struct ctables_category *c = &cats->cats[i]; + switch (c->type) + { + case CCT_NUMBER: + ctables_add_occurrence (var, &(const union value) { .f = c->number }, + occurrences); + break; + + case CCT_STRING: + { + int width = var_get_width (var); + union value value; + value_init (&value, width); + value_copy_buf_rpad (&value, width, + CHAR_CAST (uint8_t *, c->string.string), + c->string.length, ' '); + ctables_add_occurrence (var, &value, occurrences); + value_destroy (&value, width); + } + break; + + case CCT_NRANGE: + assert (var_is_numeric (var)); + for (const struct val_lab *vl = val_labs_first (val_labs); vl; + vl = val_labs_next (val_labs, vl)) + if (vl->value.f >= c->nrange[0] && vl->value.f <= c->nrange[1]) + ctables_add_occurrence (var, &vl->value, occurrences); + break; + + case CCT_SRANGE: + assert (var_is_alpha (var)); + for (const struct val_lab *vl = val_labs_first (val_labs); vl; + vl = val_labs_next (val_labs, vl)) + if (in_string_range (&vl->value, var, c->srange)) + ctables_add_occurrence (var, &vl->value, occurrences); + break; + + case CCT_MISSING: + for (const struct val_lab *vl = val_labs_first (val_labs); vl; + vl = val_labs_next (val_labs, vl)) + if (var_is_value_missing (var, &vl->value)) + ctables_add_occurrence (var, &vl->value, occurrences); + break; + + case CCT_OTHERNM: + for (const struct val_lab *vl = val_labs_first (val_labs); vl; + vl = val_labs_next (val_labs, vl)) + ctables_add_occurrence (var, &vl->value, occurrences); + break; + + case CCT_POSTCOMPUTE: + break; + + case CCT_SUBTOTAL: + case CCT_TOTAL: + break; + + case CCT_VALUE: + case CCT_LABEL: + case CCT_FUNCTION: + for (const struct val_lab *vl = val_labs_first (val_labs); vl; + vl = val_labs_next (val_labs, vl)) + if (c->include_missing || !var_is_value_missing (var, &vl->value)) + ctables_add_occurrence (var, &vl->value, occurrences); + break; + + case CCT_EXCLUDED_MISSING: + break; + } + } +} + +static void +ctables_section_recurse_add_empty_categories ( + struct ctables_section *s, + const struct ctables_category *cats[PIVOT_N_AXES][10], struct ccase *c, + enum pivot_axis_type a, size_t a_idx) +{ + if (a >= PIVOT_N_AXES) + ctables_cell_insert__ (s, c, cats); + else if (!s->nests[a] || a_idx >= s->nests[a]->n) + ctables_section_recurse_add_empty_categories (s, cats, c, a + 1, 0); + else + { + const struct variable *var = s->nests[a]->vars[a_idx]; + const struct ctables_categories *categories = s->table->categories[ + var_get_dict_index (var)]; + int width = var_get_width (var); + const struct hmap *occurrences = &s->occurrences[a][a_idx]; + const struct ctables_occurrence *o; + HMAP_FOR_EACH (o, struct ctables_occurrence, node, occurrences) + { + union value *value = case_data_rw (c, var); + value_destroy (value, width); + value_clone (value, &o->value, width); + cats[a][a_idx] = ctables_categories_match (categories, value, var); + assert (cats[a][a_idx] != NULL); + ctables_section_recurse_add_empty_categories (s, cats, c, a, a_idx + 1); + } + + for (size_t i = 0; i < categories->n_cats; i++) + { + const struct ctables_category *cat = &categories->cats[i]; + if (cat->type == CCT_POSTCOMPUTE) + { + cats[a][a_idx] = cat; + ctables_section_recurse_add_empty_categories (s, cats, c, a, a_idx + 1); + } + } + } +} + +static void +ctables_section_add_empty_categories (struct ctables_section *s) +{ + bool show_empty = false; + for (size_t a = 0; a < PIVOT_N_AXES; a++) + if (s->nests[a]) + for (size_t k = 0; k < s->nests[a]->n; k++) + if (k != s->nests[a]->scale_idx) + { + const struct variable *var = s->nests[a]->vars[k]; + const struct ctables_categories *cats = s->table->categories[ + var_get_dict_index (var)]; + if (cats->show_empty) + { + show_empty = true; + ctables_add_category_occurrences (var, &s->occurrences[a][k], cats); + } + } + if (!show_empty) + return; + + const struct ctables_category *cats[PIVOT_N_AXES][10]; /* XXX */ + struct ccase *c = case_create (dict_get_proto (s->table->ctables->dict)); + ctables_section_recurse_add_empty_categories (s, cats, c, 0, 0); + case_unref (c); +} + +static void +ctables_section_clear (struct ctables_section *s) +{ + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n; i++) + if (i != nest->scale_idx) + { + const struct variable *var = nest->vars[i]; + int width = var_get_width (var); + struct ctables_occurrence *o, *next; + struct hmap *map = &s->occurrences[a][i]; + HMAP_FOR_EACH_SAFE (o, next, struct ctables_occurrence, node, map) + { + value_destroy (&o->value, width); + hmap_delete (map, &o->node); + free (o); + } + hmap_shrink (map); + } + } + + struct ctables_cell *cell, *next_cell; + HMAP_FOR_EACH_SAFE (cell, next_cell, struct ctables_cell, node, &s->cells) + { + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + const struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n; i++) + if (i != nest->scale_idx) + value_destroy (&cell->axes[a].cvs[i].value, + var_get_width (nest->vars[i])); + free (cell->axes[a].cvs); + } + + const struct ctables_nest *ss = s->nests[s->table->summary_axis]; + const struct ctables_summary_spec_set *specs = &ss->specs[cell->sv]; + for (size_t i = 0; i < specs->n; i++) + ctables_summary_uninit (&cell->summaries[i], &specs->specs[i]); + free (cell->summaries); + + hmap_delete (&s->cells, &cell->node); + free (cell); + } + hmap_shrink (&s->cells); + + for (enum ctables_domain_type dt = 0; dt < N_CTDTS; dt++) + { + struct ctables_domain *domain, *next_domain; + HMAP_FOR_EACH_SAFE (domain, next_domain, struct ctables_domain, node, + &s->domains[dt]) + { + free (domain->sums); + hmap_delete (&s->domains[dt], &domain->node); + free (domain); + } + hmap_shrink (&s->domains[dt]); + } +} + +static void +ctables_section_uninit (struct ctables_section *s) +{ + ctables_section_clear (s); + + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + struct ctables_nest *nest = s->nests[a]; + for (size_t i = 0; i < nest->n; i++) + hmap_destroy (&s->occurrences[a][i]); + free (s->occurrences[a]); + } + + hmap_destroy (&s->cells); + for (size_t i = 0; i < N_CTDTS; i++) + hmap_destroy (&s->domains[i]); +} + +static void +ctables_table_clear (struct ctables_table *t) +{ + for (size_t i = 0; i < t->n_sections; i++) + ctables_section_clear (&t->sections[i]); + + if (t->clabels_example) + { + int width = var_get_width (t->clabels_example); + struct ctables_value *value, *next_value; + HMAP_FOR_EACH_SAFE (value, next_value, struct ctables_value, node, + &t->clabels_values_map) + { + value_destroy (&value->value, width); + hmap_delete (&t->clabels_values_map, &value->node); + free (value); + } + hmap_shrink (&t->clabels_values_map); + + free (t->clabels_values); + t->clabels_values = NULL; + t->n_clabels_values = 0; + } +} + +static bool +ctables_execute (struct dataset *ds, struct casereader *input, + struct ctables *ct) +{ + for (size_t i = 0; i < ct->n_tables; i++) + { + struct ctables_table *t = ct->tables[i]; + t->sections = xnmalloc (MAX (1, t->stacks[PIVOT_AXIS_ROW].n) * + MAX (1, t->stacks[PIVOT_AXIS_COLUMN].n) * + MAX (1, t->stacks[PIVOT_AXIS_LAYER].n), + sizeof *t->sections); + size_t ix[PIVOT_N_AXES]; + ctables_table_add_section (t, 0, ix); + } + + struct dictionary *dict = dataset_dict (ds); + struct casegrouper *grouper + = (dict_get_split_type (dict) == SPLIT_SEPARATE + ? casegrouper_create_splits (input, dict) + : casegrouper_create_vars (input, NULL, 0)); + struct casereader *group; + while (casegrouper_get_next_group (grouper, &group)) + { + /* Output SPLIT FILE variables. */ + struct ccase *c = casereader_peek (group, 0); + if (c != NULL) + { + output_split_file_values (ds, c); + case_unref (c); + } + + bool warn_on_invalid = true; + for (c = casereader_read (group); c; + case_unref (c), c = casereader_read (group)) + { + double d_weight = dict_get_case_weight (dict, c, &warn_on_invalid); + double e_weight = (ct->e_weight + ? var_force_valid_weight (ct->e_weight, + case_num (c, ct->e_weight), + &warn_on_invalid) + : d_weight); + + for (size_t i = 0; i < ct->n_tables; i++) + { + struct ctables_table *t = ct->tables[i]; + + for (size_t j = 0; j < t->n_sections; j++) + ctables_cell_insert (&t->sections[j], c, d_weight, e_weight); + + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + if (t->label_axis[a] != a) + ctables_insert_clabels_values (t, c, a); + } + } + casereader_destroy (group); + + for (size_t i = 0; i < ct->n_tables; i++) + { + struct ctables_table *t = ct->tables[i]; + + if (t->clabels_example) + ctables_sort_clabels_values (t); + + for (size_t j = 0; j < t->n_sections; j++) + ctables_section_add_empty_categories (&t->sections[j]); + + ctables_table_output (ct, t); + ctables_table_clear (t); + } + } + return casegrouper_destroy (grouper); +} + +/* Postcomputes. */ + +typedef struct ctables_pcexpr *parse_recursively_func (struct lexer *, + struct dictionary *); + +static void +ctables_pcexpr_destroy (struct ctables_pcexpr *e) +{ + if (e) + { + switch (e->op) + { + case CTPO_CAT_STRING: + ss_dealloc (&e->string); + break; + + case CTPO_CAT_SRANGE: + for (size_t i = 0; i < 2; i++) + ss_dealloc (&e->srange[i]); + break; + + case CTPO_ADD: + case CTPO_SUB: + case CTPO_MUL: + case CTPO_DIV: + case CTPO_POW: + case CTPO_NEG: + for (size_t i = 0; i < 2; i++) + ctables_pcexpr_destroy (e->subs[i]); + break; + + case CTPO_CONSTANT: + case CTPO_CAT_NUMBER: + case CTPO_CAT_NRANGE: + case CTPO_CAT_MISSING: + case CTPO_CAT_OTHERNM: + case CTPO_CAT_SUBTOTAL: + case CTPO_CAT_TOTAL: + break; + } + + msg_location_destroy (e->location); + free (e); + } +} + +static struct ctables_pcexpr * +ctables_pcexpr_allocate_binary (enum ctables_postcompute_op op, + struct ctables_pcexpr *sub0, + struct ctables_pcexpr *sub1) +{ + struct ctables_pcexpr *e = xmalloc (sizeof *e); + *e = (struct ctables_pcexpr) { + .op = op, + .subs = { sub0, sub1 }, + .location = msg_location_merged (sub0->location, sub1->location), + }; + return e; +} + +/* How to parse an operator. */ +struct operator + { + enum token_type token; + enum ctables_postcompute_op op; + }; + +static const struct operator * +ctables_pcexpr_match_operator (struct lexer *lexer, + const struct operator ops[], size_t n_ops) +{ + for (const struct operator *op = ops; op < ops + n_ops; op++) + if (lex_token (lexer) == op->token) + { + if (op->token != T_NEG_NUM) + lex_get (lexer); + + return op; + } + + return NULL; +} + +static struct ctables_pcexpr * +ctables_pcexpr_parse_binary_operators__ ( + struct lexer *lexer, struct dictionary *dict, + const struct operator ops[], size_t n_ops, + parse_recursively_func *parse_next_level, + const char *chain_warning, struct ctables_pcexpr *lhs) +{ + for (int op_count = 0; ; op_count++) + { + const struct operator *op + = ctables_pcexpr_match_operator (lexer, ops, n_ops); + if (!op) + { + if (op_count > 1 && chain_warning) + msg_at (SW, lhs->location, "%s", chain_warning); + + return lhs; + } + + struct ctables_pcexpr *rhs = parse_next_level (lexer, dict); + if (!rhs) + { + ctables_pcexpr_destroy (lhs); + return NULL; + } + + lhs = ctables_pcexpr_allocate_binary (op->op, lhs, rhs); + } +} + +static struct ctables_pcexpr * +ctables_pcexpr_parse_binary_operators ( + struct lexer *lexer, struct dictionary *dict, + const struct operator ops[], size_t n_ops, + parse_recursively_func *parse_next_level, const char *chain_warning) +{ + struct ctables_pcexpr *lhs = parse_next_level (lexer, dict); + if (!lhs) + return NULL; + + return ctables_pcexpr_parse_binary_operators__ (lexer, dict, ops, n_ops, + parse_next_level, + chain_warning, lhs); +} + +static struct ctables_pcexpr *ctables_pcexpr_parse_add (struct lexer *, + struct dictionary *); + +static struct ctables_pcexpr +ctpo_cat_nrange (double low, double high) +{ + return (struct ctables_pcexpr) { + .op = CTPO_CAT_NRANGE, + .nrange = { low, high }, + }; +} + +static struct ctables_pcexpr +ctpo_cat_srange (struct substring low, struct substring high) +{ + return (struct ctables_pcexpr) { + .op = CTPO_CAT_SRANGE, + .srange = { low, high }, + }; +} + +static struct ctables_pcexpr * +ctables_pcexpr_parse_primary (struct lexer *lexer, struct dictionary *dict) +{ + int start_ofs = lex_ofs (lexer); + struct ctables_pcexpr e; + if (lex_is_number (lexer)) + { + e = (struct ctables_pcexpr) { .op = CTPO_CONSTANT, + .number = lex_number (lexer) }; + lex_get (lexer); + } + else if (lex_match_id (lexer, "MISSING")) + e = (struct ctables_pcexpr) { .op = CTPO_CAT_MISSING }; + else if (lex_match_id (lexer, "OTHERNM")) + e = (struct ctables_pcexpr) { .op = CTPO_CAT_OTHERNM }; + else if (lex_match_id (lexer, "TOTAL")) + e = (struct ctables_pcexpr) { .op = CTPO_CAT_TOTAL }; + else if (lex_match_id (lexer, "SUBTOTAL")) + { + size_t subtotal_index = 0; + if (lex_match (lexer, T_LBRACK)) + { + if (!lex_force_int_range (lexer, "SUBTOTAL", 1, LONG_MAX)) + return NULL; + subtotal_index = lex_integer (lexer); + lex_get (lexer); + if (!lex_force_match (lexer, T_RBRACK)) + return NULL; + } + e = (struct ctables_pcexpr) { .op = CTPO_CAT_SUBTOTAL, + .subtotal_index = subtotal_index }; + } + else if (lex_match (lexer, T_LBRACK)) + { + if (lex_match_id (lexer, "LO")) + { + if (!lex_force_match_id (lexer, "THRU")) + return false; + + if (lex_is_string (lexer)) + { + struct substring low = { .string = NULL }; + struct substring high = parse_substring (lexer, dict); + e = ctpo_cat_srange (low, high); + } + else + { + if (!lex_force_num (lexer)) + return false; + e = ctpo_cat_nrange (-DBL_MAX, lex_number (lexer)); + lex_get (lexer); + } + } + else if (lex_is_number (lexer)) + { + double number = lex_number (lexer); + lex_get (lexer); + if (lex_match_id (lexer, "THRU")) + { + if (lex_match_id (lexer, "HI")) + e = ctpo_cat_nrange (number, DBL_MAX); + else + { + if (!lex_force_num (lexer)) + return false; + e = ctpo_cat_nrange (number, lex_number (lexer)); + lex_get (lexer); + } + } + else + e = (struct ctables_pcexpr) { .op = CTPO_CAT_NUMBER, + .number = number }; + } + else if (lex_is_string (lexer)) + { + struct substring s = parse_substring (lexer, dict); + + if (lex_match_id (lexer, "THRU")) + { + struct substring high; + + if (lex_match_id (lexer, "HI")) + high = (struct substring) { .string = NULL }; + else + { + if (!lex_force_string (lexer)) + { + ss_dealloc (&s); + return false; + } + high = parse_substring (lexer, dict); + } + + e = ctpo_cat_srange (s, high); + } + else + e = (struct ctables_pcexpr) { .op = CTPO_CAT_STRING, .string = s }; + } + else + { + lex_error (lexer, NULL); + return NULL; + } + + if (!lex_force_match (lexer, T_RBRACK)) + { + if (e.op == CTPO_CAT_STRING) + ss_dealloc (&e.string); + else if (e.op == CTPO_CAT_SRANGE) + { + ss_dealloc (&e.srange[0]); + ss_dealloc (&e.srange[1]); + } + return NULL; + } + } + else if (lex_match (lexer, T_LPAREN)) + { + struct ctables_pcexpr *ep = ctables_pcexpr_parse_add (lexer, dict); + if (!ep) + return NULL; + if (!lex_force_match (lexer, T_RPAREN)) + { + ctables_pcexpr_destroy (ep); + return NULL; + } + return ep; + } + else + { + lex_error (lexer, NULL); + return NULL; + } + + e.location = lex_ofs_location (lexer, start_ofs, lex_ofs (lexer) - 1); + return xmemdup (&e, sizeof e); +} + +static struct ctables_pcexpr * +ctables_pcexpr_allocate_neg (struct ctables_pcexpr *sub, + struct lexer *lexer, int start_ofs) +{ + struct ctables_pcexpr *e = xmalloc (sizeof *e); + *e = (struct ctables_pcexpr) { + .op = CTPO_NEG, + .subs = { sub }, + .location = lex_ofs_location (lexer, start_ofs, lex_ofs (lexer) - 1), + }; + return e; +} + +static struct ctables_pcexpr * +ctables_pcexpr_parse_exp (struct lexer *lexer, struct dictionary *dict) +{ + static const struct operator op = { T_EXP, CTPO_POW }; + + const char *chain_warning = + _("The exponentiation operator (`**') is left-associative: " + "`a**b**c' equals `(a**b)**c', not `a**(b**c)'. " + "To disable this warning, insert parentheses."); + + if (lex_token (lexer) != T_NEG_NUM || lex_next_token (lexer, 1) != T_EXP) + return ctables_pcexpr_parse_binary_operators (lexer, dict, &op, 1, + ctables_pcexpr_parse_primary, + chain_warning); + + /* Special case for situations like "-5**6", which must be parsed as + -(5**6). */ + + int start_ofs = lex_ofs (lexer); + struct ctables_pcexpr *lhs = xmalloc (sizeof *lhs); + *lhs = (struct ctables_pcexpr) { + .op = CTPO_CONSTANT, + .number = -lex_tokval (lexer), + .location = lex_ofs_location (lexer, start_ofs, lex_ofs (lexer)), + }; + lex_get (lexer); + + struct ctables_pcexpr *node = ctables_pcexpr_parse_binary_operators__ ( + lexer, dict, &op, 1, + ctables_pcexpr_parse_primary, chain_warning, lhs); + if (!node) + return NULL; + + return ctables_pcexpr_allocate_neg (node, lexer, start_ofs); +} + +/* Parses the unary minus level. */ +static struct ctables_pcexpr * +ctables_pcexpr_parse_neg (struct lexer *lexer, struct dictionary *dict) +{ + int start_ofs = lex_ofs (lexer); + if (!lex_match (lexer, T_DASH)) + return ctables_pcexpr_parse_exp (lexer, dict); + + struct ctables_pcexpr *inner = ctables_pcexpr_parse_neg (lexer, dict); + if (!inner) + return NULL; + + return ctables_pcexpr_allocate_neg (inner, lexer, start_ofs); +} + +/* Parses the multiplication and division level. */ +static struct ctables_pcexpr * +ctables_pcexpr_parse_mul (struct lexer *lexer, struct dictionary *dict) +{ + static const struct operator ops[] = + { + { T_ASTERISK, CTPO_MUL }, + { T_SLASH, CTPO_DIV }, + }; + + return ctables_pcexpr_parse_binary_operators (lexer, dict, ops, + sizeof ops / sizeof *ops, + ctables_pcexpr_parse_neg, NULL); +} + +/* Parses the addition and subtraction level. */ +static struct ctables_pcexpr * +ctables_pcexpr_parse_add (struct lexer *lexer, struct dictionary *dict) +{ + static const struct operator ops[] = + { + { T_PLUS, CTPO_ADD }, + { T_DASH, CTPO_SUB }, + { T_NEG_NUM, CTPO_ADD }, + }; + + return ctables_pcexpr_parse_binary_operators (lexer, dict, + ops, sizeof ops / sizeof *ops, + ctables_pcexpr_parse_mul, NULL); +} + +static struct ctables_postcompute * +ctables_find_postcompute (struct ctables *ct, const char *name) +{ + struct ctables_postcompute *pc; + HMAP_FOR_EACH_WITH_HASH (pc, struct ctables_postcompute, hmap_node, + utf8_hash_case_string (name, 0), &ct->postcomputes) + if (!utf8_strcasecmp (pc->name, name)) + return pc; + return NULL; +} + +static bool +ctables_parse_pcompute (struct lexer *lexer, struct dictionary *dict, + struct ctables *ct) +{ + int pcompute_start = lex_ofs (lexer) - 1; + + if (!lex_match (lexer, T_AND)) + { + lex_error_expecting (lexer, "&"); + return false; + } + if (!lex_force_id (lexer)) + return false; + + char *name = ss_xstrdup (lex_tokss (lexer)); + + lex_get (lexer); + if (!lex_force_match (lexer, T_EQUALS) + || !lex_force_match_id (lexer, "EXPR") + || !lex_force_match (lexer, T_LPAREN)) + { + free (name); + return false; + } + + int expr_start = lex_ofs (lexer); + struct ctables_pcexpr *expr = ctables_pcexpr_parse_add (lexer, dict); + int expr_end = lex_ofs (lexer) - 1; + if (!expr || !lex_force_match (lexer, T_RPAREN)) + { + ctables_pcexpr_destroy (expr); + free (name); + return false; + } + int pcompute_end = lex_ofs (lexer) - 1; + + struct msg_location *location = lex_ofs_location (lexer, pcompute_start, + pcompute_end); + + struct ctables_postcompute *pc = ctables_find_postcompute (ct, name); + if (pc) + { + msg_at (SW, location, _("New definition of &%s will override the " + "previous definition."), + pc->name); + msg_at (SN, pc->location, _("This is the previous definition.")); + + ctables_pcexpr_destroy (pc->expr); + msg_location_destroy (pc->location); + free (name); + } + else + { + pc = xmalloc (sizeof *pc); + *pc = (struct ctables_postcompute) { .name = name }; + hmap_insert (&ct->postcomputes, &pc->hmap_node, + utf8_hash_case_string (pc->name, 0)); + } + pc->expr = expr; + pc->location = location; + if (!pc->label) + pc->label = lex_ofs_representation (lexer, expr_start, expr_end); + return true; +} + +static bool +ctables_parse_pproperties_format (struct lexer *lexer, + struct ctables_summary_spec_set *sss) +{ + *sss = (struct ctables_summary_spec_set) { .n = 0 }; + + while (lex_token (lexer) != T_ENDCMD && lex_token (lexer) != T_SLASH + && !(lex_token (lexer) == T_ID + && (lex_id_match (ss_cstr ("LABEL"), lex_tokss (lexer)) + || lex_id_match (ss_cstr ("HIDESOURCECATS"), + lex_tokss (lexer))))) + { + /* Parse function. */ + enum ctables_summary_function function; + if (!parse_ctables_summary_function (lexer, &function)) + goto error; + + /* Parse percentile. */ + double percentile = 0; + if (function == CTSF_PTILE) + { + if (!lex_force_num_range_closed (lexer, "PTILE", 0, 100)) + goto error; + percentile = lex_number (lexer); + lex_get (lexer); + } + + /* Parse format. */ + struct fmt_spec format; + bool is_ctables_format; + if (!parse_ctables_format_specifier (lexer, &format, &is_ctables_format)) + goto error; + + if (sss->n >= sss->allocated) + sss->specs = x2nrealloc (sss->specs, &sss->allocated, + sizeof *sss->specs); + sss->specs[sss->n++] = (struct ctables_summary_spec) { + .function = function, + .percentile = percentile, + .format = format, + .is_ctables_format = is_ctables_format, + }; + } + return true; + +error: + ctables_summary_spec_set_uninit (sss); + return false; +} + +static bool +ctables_parse_pproperties (struct lexer *lexer, struct ctables *ct) +{ + struct ctables_postcompute **pcs = NULL; + size_t n_pcs = 0; + size_t allocated_pcs = 0; + + while (lex_match (lexer, T_AND)) + { + if (!lex_force_id (lexer)) + goto error; + struct ctables_postcompute *pc + = ctables_find_postcompute (ct, lex_tokcstr (lexer)); + if (!pc) + { + msg (SE, _("Unknown computed category &%s."), lex_tokcstr (lexer)); + goto error; + } + lex_get (lexer); + + if (n_pcs >= allocated_pcs) + pcs = x2nrealloc (pcs, &allocated_pcs, sizeof *pcs); + pcs[n_pcs++] = pc; + } + + while (lex_token (lexer) != T_SLASH && lex_token (lexer) != T_ENDCMD) + { + if (lex_match_id (lexer, "LABEL")) + { + lex_match (lexer, T_EQUALS); + if (!lex_force_string (lexer)) + goto error; + + for (size_t i = 0; i < n_pcs; i++) + { + free (pcs[i]->label); + pcs[i]->label = ss_xstrdup (lex_tokss (lexer)); + } + + lex_get (lexer); + } + else if (lex_match_id (lexer, "FORMAT")) + { + lex_match (lexer, T_EQUALS); + + struct ctables_summary_spec_set sss; + if (!ctables_parse_pproperties_format (lexer, &sss)) + goto error; + + for (size_t i = 0; i < n_pcs; i++) + { + if (pcs[i]->specs) + ctables_summary_spec_set_uninit (pcs[i]->specs); + else + pcs[i]->specs = xmalloc (sizeof *pcs[i]->specs); + ctables_summary_spec_set_clone (pcs[i]->specs, &sss); + } + ctables_summary_spec_set_uninit (&sss); + } + else if (lex_match_id (lexer, "HIDESOURCECATS")) + { + lex_match (lexer, T_EQUALS); + bool hide_source_cats; + if (!parse_bool (lexer, &hide_source_cats)) + goto error; + for (size_t i = 0; i < n_pcs; i++) + pcs[i]->hide_source_cats = hide_source_cats; + } + else + { + lex_error_expecting (lexer, "LABEL", "FORMAT", "HIDESOURCECATS"); + goto error; + } + } + free (pcs); + return true; + +error: + free (pcs); + return false; +} + +static void +put_strftime (struct string *out, time_t now, const char *format) +{ + const struct tm *tm = localtime (&now); + char value[128]; + strftime (value, sizeof value, format, tm); + ds_put_cstr (out, value); +} + +static bool +skip_prefix (struct substring *s, struct substring prefix) +{ + if (ss_starts_with (*s, prefix)) + { + ss_advance (s, prefix.length); + return true; + } + else + return false; +} + +static void +put_table_expression (struct string *out, struct lexer *lexer, + struct dictionary *dict, int expr_start, int expr_end) +{ + size_t nest = 0; + for (int ofs = expr_start; ofs < expr_end; ofs++) + { + const struct token *t = lex_ofs_token (lexer, ofs); + if (t->type == T_LBRACK) + nest++; + else if (t->type == T_RBRACK && nest > 0) + nest--; + else if (nest > 0) + { + /* Nothing. */ + } + else if (t->type == T_ID) + { + const struct variable *var + = dict_lookup_var (dict, t->string.string); + const char *label = var ? var_get_label (var) : NULL; + ds_put_cstr (out, label ? label : t->string.string); + } + else + { + if (ofs != expr_start && t->type != T_RPAREN && ds_last (out) != ' ') + ds_put_byte (out, ' '); + + char *repr = lex_ofs_representation (lexer, ofs, ofs); + ds_put_cstr (out, repr); + free (repr); + + if (ofs + 1 != expr_end && t->type != T_LPAREN) + ds_put_byte (out, ' '); + } + } +} + +static void +put_title_text (struct string *out, struct substring in, time_t now, + struct lexer *lexer, struct dictionary *dict, + int expr_start, int expr_end) +{ + for (;;) + { + size_t chunk = ss_find_byte (in, ')'); + ds_put_substring (out, ss_head (in, chunk)); + ss_advance (&in, chunk); + if (ss_is_empty (in)) + return; + + if (skip_prefix (&in, ss_cstr (")DATE"))) + put_strftime (out, now, "%x"); + else if (skip_prefix (&in, ss_cstr (")TIME"))) + put_strftime (out, now, "%X"); + else if (skip_prefix (&in, ss_cstr (")TABLE"))) + put_table_expression (out, lexer, dict, expr_start, expr_end); + else + { + ds_put_byte (out, ')'); + ss_advance (&in, 1); + } + } +} + +int +cmd_ctables (struct lexer *lexer, struct dataset *ds) +{ + struct casereader *input = NULL; + + struct measure_guesser *mg = measure_guesser_create (ds); + if (mg) + { + input = proc_open (ds); + measure_guesser_run (mg, input); + measure_guesser_destroy (mg); + } + + size_t n_vars = dict_get_n_vars (dataset_dict (ds)); + enum ctables_vlabel *vlabels = xnmalloc (n_vars, sizeof *vlabels); + enum settings_value_show tvars = settings_get_show_variables (); + for (size_t i = 0; i < n_vars; i++) + vlabels[i] = (enum ctables_vlabel) tvars; + + struct pivot_table_look *look = pivot_table_look_unshare ( + pivot_table_look_ref (pivot_table_look_get_default ())); + look->omit_empty = false; + + struct ctables *ct = xmalloc (sizeof *ct); + *ct = (struct ctables) { + .dict = dataset_dict (ds), + .look = look, + .ctables_formats = FMT_SETTINGS_INIT, + .vlabels = vlabels, + .postcomputes = HMAP_INITIALIZER (ct->postcomputes), + }; + + time_t now = time (NULL); + + struct ctf + { + enum fmt_type type; + const char *dot_string; + const char *comma_string; + }; + static const struct ctf ctfs[4] = { + { CTEF_NEGPAREN, "(,,,)", "(...)" }, + { CTEF_NEQUAL, "-,N=,,", "-.N=.." }, + { CTEF_PAREN, "-,(,),", "-.(.)." }, + { CTEF_PCTPAREN, "-,(,%),", "-.(.%)." }, + }; + bool is_dot = settings_get_fmt_settings ()->decimal == '.'; + for (size_t i = 0; i < 4; i++) + { + const char *s = is_dot ? ctfs[i].dot_string : ctfs[i].comma_string; + fmt_settings_set_cc (&ct->ctables_formats, ctfs[i].type, + fmt_number_style_from_string (s)); + } + + if (!lex_force_match (lexer, T_SLASH)) + goto error; + + while (!lex_match_id (lexer, "TABLE")) + { + if (lex_match_id (lexer, "FORMAT")) + { + double widths[2] = { SYSMIS, SYSMIS }; + double units_per_inch = 72.0; + + while (lex_token (lexer) != T_SLASH) + { + if (lex_match_id (lexer, "MINCOLWIDTH")) + { + if (!parse_col_width (lexer, "MINCOLWIDTH", &widths[0])) + goto error; + } + else if (lex_match_id (lexer, "MAXCOLWIDTH")) + { + if (!parse_col_width (lexer, "MAXCOLWIDTH", &widths[1])) + goto error; + } + else if (lex_match_id (lexer, "UNITS")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "POINTS")) + units_per_inch = 72.0; + else if (lex_match_id (lexer, "INCHES")) + units_per_inch = 1.0; + else if (lex_match_id (lexer, "CM")) + units_per_inch = 2.54; + else + { + lex_error_expecting (lexer, "POINTS", "INCHES", "CM"); + goto error; + } + } + else if (lex_match_id (lexer, "EMPTY")) + { + free (ct->zero); + ct->zero = NULL; + + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "ZERO")) + { + /* Nothing to do. */ + } + else if (lex_match_id (lexer, "BLANK")) + ct->zero = xstrdup (""); + else if (lex_force_string (lexer)) + { + ct->zero = ss_xstrdup (lex_tokss (lexer)); + lex_get (lexer); + } + else + goto error; + } + else if (lex_match_id (lexer, "MISSING")) + { + lex_match (lexer, T_EQUALS); + if (!lex_force_string (lexer)) + goto error; + + free (ct->missing); + ct->missing = (strcmp (lex_tokcstr (lexer), ".") + ? ss_xstrdup (lex_tokss (lexer)) + : NULL); + lex_get (lexer); + } + else + { + lex_error_expecting (lexer, "MINCOLWIDTH", "MAXCOLWIDTH", + "UNITS", "EMPTY", "MISSING"); + goto error; + } + } + + if (widths[0] != SYSMIS && widths[1] != SYSMIS + && widths[0] > widths[1]) + { + msg (SE, _("MINCOLWIDTH must not be greater than MAXCOLWIDTH.")); + goto error; + } + + for (size_t i = 0; i < 2; i++) + if (widths[i] != SYSMIS) + { + int *wr = ct->look->width_ranges[TABLE_HORZ]; + wr[i] = widths[i] / units_per_inch * 96.0; + if (wr[0] > wr[1]) + wr[!i] = wr[i]; + } + } + else if (lex_match_id (lexer, "VLABELS")) + { + if (!lex_force_match_id (lexer, "VARIABLES")) + goto error; + lex_match (lexer, T_EQUALS); + + struct variable **vars; + size_t n_vars; + if (!parse_variables (lexer, dataset_dict (ds), &vars, &n_vars, + PV_NO_SCRATCH)) + goto error; + + if (!lex_force_match_id (lexer, "DISPLAY")) + { + free (vars); + goto error; + } + lex_match (lexer, T_EQUALS); + + enum ctables_vlabel vlabel; + if (lex_match_id (lexer, "DEFAULT")) + vlabel = (enum ctables_vlabel) settings_get_show_variables (); + else if (lex_match_id (lexer, "NAME")) + vlabel = CTVL_NAME; + else if (lex_match_id (lexer, "LABEL")) + vlabel = CTVL_LABEL; + else if (lex_match_id (lexer, "BOTH")) + vlabel = CTVL_BOTH; + else if (lex_match_id (lexer, "NONE")) + vlabel = CTVL_NONE; + else + { + lex_error_expecting (lexer, "DEFAULT", "NAME", "LABEL", + "BOTH", "NONE"); + free (vars); + goto error; + } + + for (size_t i = 0; i < n_vars; i++) + ct->vlabels[var_get_dict_index (vars[i])] = vlabel; + free (vars); + } + else if (lex_match_id (lexer, "MRSETS")) + { + if (!lex_force_match_id (lexer, "COUNTDUPLICATES")) + goto error; + lex_match (lexer, T_EQUALS); + if (!parse_bool (lexer, &ct->mrsets_count_duplicates)) + goto error; + } + else if (lex_match_id (lexer, "SMISSING")) + { + if (lex_match_id (lexer, "VARIABLE")) + ct->smissing_listwise = false; + else if (lex_match_id (lexer, "LISTWISE")) + ct->smissing_listwise = true; + else + { + lex_error_expecting (lexer, "VARIABLE", "LISTWISE"); + goto error; + } + } + else if (lex_match_id (lexer, "PCOMPUTE")) + { + if (!ctables_parse_pcompute (lexer, dataset_dict (ds), ct)) + goto error; + } + else if (lex_match_id (lexer, "PPROPERTIES")) + { + if (!ctables_parse_pproperties (lexer, ct)) + goto error; + } + else if (lex_match_id (lexer, "WEIGHT")) + { + if (!lex_force_match_id (lexer, "VARIABLE")) + goto error; + lex_match (lexer, T_EQUALS); + ct->e_weight = parse_variable (lexer, dataset_dict (ds)); + if (!ct->e_weight) + goto error; + } + else if (lex_match_id (lexer, "HIDESMALLCOUNTS")) + { + if (lex_match_id (lexer, "COUNT")) + { + lex_match (lexer, T_EQUALS); + if (!lex_force_int_range (lexer, "HIDESMALLCOUNTS COUNT", + 2, INT_MAX)) + goto error; + ct->hide_threshold = lex_integer (lexer); + lex_get (lexer); + } + else if (ct->hide_threshold == 0) + ct->hide_threshold = 5; + } + else + { + lex_error_expecting (lexer, "FORMAT", "VLABELS", "MRSETS", + "SMISSING", "PCOMPUTE", "PPROPERTIES", + "WEIGHT", "HIDESMALLCOUNTS", "TABLE"); + goto error; + } + + if (!lex_force_match (lexer, T_SLASH)) + goto error; + } + + size_t allocated_tables = 0; + do + { + if (ct->n_tables >= allocated_tables) + ct->tables = x2nrealloc (ct->tables, &allocated_tables, + sizeof *ct->tables); + + struct ctables_category *cat = xmalloc (sizeof *cat); + *cat = (struct ctables_category) { + .type = CCT_VALUE, + .include_missing = false, + .sort_ascending = true, + }; + + struct ctables_categories *c = xmalloc (sizeof *c); + size_t n_vars = dict_get_n_vars (dataset_dict (ds)); + *c = (struct ctables_categories) { + .n_refs = n_vars, + .cats = cat, + .n_cats = 1, + .show_empty = true, + }; + + struct ctables_categories **categories = xnmalloc (n_vars, + sizeof *categories); + for (size_t i = 0; i < n_vars; i++) + categories[i] = c; + + struct ctables_table *t = xmalloc (sizeof *t); + *t = (struct ctables_table) { + .ctables = ct, + .slabels_axis = PIVOT_AXIS_COLUMN, + .slabels_visible = true, + .clabels_values_map = HMAP_INITIALIZER (t->clabels_values_map), + .label_axis = { + [PIVOT_AXIS_ROW] = PIVOT_AXIS_ROW, + [PIVOT_AXIS_COLUMN] = PIVOT_AXIS_COLUMN, + [PIVOT_AXIS_LAYER] = PIVOT_AXIS_LAYER, + }, + .clabels_from_axis = PIVOT_AXIS_LAYER, + .categories = categories, + .n_categories = n_vars, + .cilevel = 95, + }; + ct->tables[ct->n_tables++] = t; + + lex_match (lexer, T_EQUALS); + int expr_start = lex_ofs (lexer); + if (!ctables_axis_parse (lexer, dataset_dict (ds), ct, t, PIVOT_AXIS_ROW)) + goto error; + if (lex_match (lexer, T_BY)) + { + if (!ctables_axis_parse (lexer, dataset_dict (ds), + ct, t, PIVOT_AXIS_COLUMN)) + goto error; + + if (lex_match (lexer, T_BY)) + { + if (!ctables_axis_parse (lexer, dataset_dict (ds), + ct, t, PIVOT_AXIS_LAYER)) + goto error; + } + } + int expr_end = lex_ofs (lexer); + + if (!t->axes[PIVOT_AXIS_ROW] && !t->axes[PIVOT_AXIS_COLUMN] + && !t->axes[PIVOT_AXIS_LAYER]) + { + lex_error (lexer, _("At least one variable must be specified.")); + goto error; + } + + const struct ctables_axis *scales[PIVOT_N_AXES]; + size_t n_scales = 0; + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + scales[a] = find_scale (t->axes[a]); + if (scales[a]) + n_scales++; + } + if (n_scales > 1) + { + msg (SE, _("Scale variables may appear only on one axis.")); + if (scales[PIVOT_AXIS_ROW]) + msg_at (SN, scales[PIVOT_AXIS_ROW]->loc, + _("This scale variable appears on the rows axis.")); + if (scales[PIVOT_AXIS_COLUMN]) + msg_at (SN, scales[PIVOT_AXIS_COLUMN]->loc, + _("This scale variable appears on the columns axis.")); + if (scales[PIVOT_AXIS_LAYER]) + msg_at (SN, scales[PIVOT_AXIS_LAYER]->loc, + _("This scale variable appears on the layer axis.")); + goto error; + } + + const struct ctables_axis *summaries[PIVOT_N_AXES]; + size_t n_summaries = 0; + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + { + summaries[a] = (scales[a] + ? scales[a] + : find_categorical_summary_spec (t->axes[a])); + if (summaries[a]) + n_summaries++; + } + if (n_summaries > 1) + { + msg (SE, _("Summaries may appear only on one axis.")); + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + if (summaries[a]) + { + msg_at (SN, summaries[a]->loc, + a == PIVOT_AXIS_ROW + ? _("This variable on the rows axis has a summary.") + : a == PIVOT_AXIS_COLUMN + ? _("This variable on the columns axis has a summary.") + : _("This variable on the layers axis has a summary.")); + if (scales[a]) + msg_at (SN, summaries[a]->loc, + _("This is a scale variable, so it always has a " + "summary even if the syntax does not explicitly " + "specify one.")); + } + goto error; + } + for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++) + if (n_summaries ? summaries[a] : t->axes[a]) + { + t->summary_axis = a; + break; + } + + if (lex_token (lexer) == T_ENDCMD) + { + if (!ctables_prepare_table (t)) + goto error; + break; + } + if (!lex_force_match (lexer, T_SLASH)) + goto error; + + while (!lex_match_id (lexer, "TABLE") && lex_token (lexer) != T_ENDCMD) + { + if (lex_match_id (lexer, "SLABELS")) + { + while (lex_token (lexer) != T_SLASH && lex_token (lexer) != T_ENDCMD) + { + if (lex_match_id (lexer, "POSITION")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "COLUMN")) + t->slabels_axis = PIVOT_AXIS_COLUMN; + else if (lex_match_id (lexer, "ROW")) + t->slabels_axis = PIVOT_AXIS_ROW; + else if (lex_match_id (lexer, "LAYER")) + t->slabels_axis = PIVOT_AXIS_LAYER; + else + { + lex_error_expecting (lexer, "COLUMN", "ROW", "LAYER"); + goto error; + } + } + else if (lex_match_id (lexer, "VISIBLE")) + { + lex_match (lexer, T_EQUALS); + if (!parse_bool (lexer, &t->slabels_visible)) + goto error; + } + else + { + lex_error_expecting (lexer, "POSITION", "VISIBLE"); + goto error; + } + } + } + else if (lex_match_id (lexer, "CLABELS")) + { + if (lex_match_id (lexer, "AUTO")) + { + t->label_axis[PIVOT_AXIS_ROW] = PIVOT_AXIS_ROW; + t->label_axis[PIVOT_AXIS_COLUMN] = PIVOT_AXIS_COLUMN; + } + else if (lex_match_id (lexer, "ROWLABELS")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "OPPOSITE")) + t->label_axis[PIVOT_AXIS_ROW] = PIVOT_AXIS_COLUMN; + else if (lex_match_id (lexer, "LAYER")) + t->label_axis[PIVOT_AXIS_ROW] = PIVOT_AXIS_LAYER; + else + { + lex_error_expecting (lexer, "OPPOSITE", "LAYER"); + goto error; + } + } + else if (lex_match_id (lexer, "COLLABELS")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "OPPOSITE")) + t->label_axis[PIVOT_AXIS_COLUMN] = PIVOT_AXIS_ROW; + else if (lex_match_id (lexer, "LAYER")) + t->label_axis[PIVOT_AXIS_COLUMN] = PIVOT_AXIS_LAYER; + else + { + lex_error_expecting (lexer, "OPPOSITE", "LAYER"); + goto error; + } + } + else + { + lex_error_expecting (lexer, "AUTO", "ROWLABELS", + "COLLABELS"); + goto error; + } + } + else if (lex_match_id (lexer, "CRITERIA")) + { + if (!lex_force_match_id (lexer, "CILEVEL")) + goto error; + lex_match (lexer, T_EQUALS); + + if (!lex_force_num_range_halfopen (lexer, "CILEVEL", 0, 100)) + goto error; + t->cilevel = lex_number (lexer); + lex_get (lexer); + } + else if (lex_match_id (lexer, "CATEGORIES")) + { + if (!ctables_table_parse_categories (lexer, dataset_dict (ds), + ct, t)) + goto error; + } + else if (lex_match_id (lexer, "TITLES")) + { + do + { + char **textp; + if (lex_match_id (lexer, "CAPTION")) + textp = &t->caption; + else if (lex_match_id (lexer, "CORNER")) + textp = &t->corner; + else if (lex_match_id (lexer, "TITLE")) + textp = &t->title; + else + { + lex_error_expecting (lexer, "CAPTION", "CORNER", "TITLE"); + goto error; + } + lex_match (lexer, T_EQUALS); + + struct string s = DS_EMPTY_INITIALIZER; + while (lex_is_string (lexer)) + { + if (!ds_is_empty (&s)) + ds_put_byte (&s, ' '); + put_title_text (&s, lex_tokss (lexer), now, + lexer, dataset_dict (ds), + expr_start, expr_end); + lex_get (lexer); + } + free (*textp); + *textp = ds_steal_cstr (&s); + } + while (lex_token (lexer) != T_SLASH + && lex_token (lexer) != T_ENDCMD); + } + else if (lex_match_id (lexer, "SIGTEST")) + { + if (!t->chisq) + { + t->chisq = xmalloc (sizeof *t->chisq); + *t->chisq = (struct ctables_chisq) { + .alpha = .05, + .include_mrsets = true, + .all_visible = true, + }; + } + + do + { + if (lex_match_id (lexer, "TYPE")) + { + lex_match (lexer, T_EQUALS); + if (!lex_force_match_id (lexer, "CHISQUARE")) + goto error; + } + else if (lex_match_id (lexer, "ALPHA")) + { + lex_match (lexer, T_EQUALS); + if (!lex_force_num_range_halfopen (lexer, "ALPHA", 0, 1)) + goto error; + t->chisq->alpha = lex_number (lexer); + lex_get (lexer); + } + else if (lex_match_id (lexer, "INCLUDEMRSETS")) + { + lex_match (lexer, T_EQUALS); + if (!parse_bool (lexer, &t->chisq->include_mrsets)) + goto error; + } + else if (lex_match_id (lexer, "CATEGORIES")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "ALLVISIBLE")) + t->chisq->all_visible = true; + else if (lex_match_id (lexer, "SUBTOTALS")) + t->chisq->all_visible = false; + else + { + lex_error_expecting (lexer, + "ALLVISIBLE", "SUBTOTALS"); + goto error; + } + } + else + { + lex_error_expecting (lexer, "TYPE", "ALPHA", + "INCLUDEMRSETS", "CATEGORIES"); + goto error; + } + } + while (lex_token (lexer) != T_SLASH + && lex_token (lexer) != T_ENDCMD); + } + else if (lex_match_id (lexer, "COMPARETEST")) + { + if (!t->pairwise) + { + t->pairwise = xmalloc (sizeof *t->pairwise); + *t->pairwise = (struct ctables_pairwise) { + .type = PROP, + .alpha = { .05, .05 }, + .adjust = BONFERRONI, + .include_mrsets = true, + .meansvariance_allcats = true, + .all_visible = true, + .merge = false, + .apa_style = true, + .show_sig = false, + }; + } + + do + { + if (lex_match_id (lexer, "TYPE")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "PROP")) + t->pairwise->type = PROP; + else if (lex_match_id (lexer, "MEAN")) + t->pairwise->type = MEAN; + else + { + lex_error_expecting (lexer, "PROP", "MEAN"); + goto error; + } + } + else if (lex_match_id (lexer, "ALPHA")) + { + lex_match (lexer, T_EQUALS); + + if (!lex_force_num_range_open (lexer, "ALPHA", 0, 1)) + goto error; + double a0 = lex_number (lexer); + lex_get (lexer); + + lex_match (lexer, T_COMMA); + if (lex_is_number (lexer)) + { + if (!lex_force_num_range_open (lexer, "ALPHA", 0, 1)) + goto error; + double a1 = lex_number (lexer); + lex_get (lexer); + + t->pairwise->alpha[0] = MIN (a0, a1); + t->pairwise->alpha[1] = MAX (a0, a1); + } + else + t->pairwise->alpha[0] = t->pairwise->alpha[1] = a0; + } + else if (lex_match_id (lexer, "ADJUST")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "BONFERRONI")) + t->pairwise->adjust = BONFERRONI; + else if (lex_match_id (lexer, "BH")) + t->pairwise->adjust = BH; + else if (lex_match_id (lexer, "NONE")) + t->pairwise->adjust = 0; + else + { + lex_error_expecting (lexer, "BONFERRONI", "BH", + "NONE"); + goto error; + } + } + else if (lex_match_id (lexer, "INCLUDEMRSETS")) + { + lex_match (lexer, T_EQUALS); + if (!parse_bool (lexer, &t->pairwise->include_mrsets)) + goto error; + } + else if (lex_match_id (lexer, "MEANSVARIANCE")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "ALLCATS")) + t->pairwise->meansvariance_allcats = true; + else if (lex_match_id (lexer, "TESTEDCATS")) + t->pairwise->meansvariance_allcats = false; + else + { + lex_error_expecting (lexer, "ALLCATS", "TESTEDCATS"); + goto error; + } + } + else if (lex_match_id (lexer, "CATEGORIES")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "ALLVISIBLE")) + t->pairwise->all_visible = true; + else if (lex_match_id (lexer, "SUBTOTALS")) + t->pairwise->all_visible = false; + else + { + lex_error_expecting (lexer, "ALLVISIBLE", + "SUBTOTALS"); + goto error; + } + } + else if (lex_match_id (lexer, "MERGE")) + { + lex_match (lexer, T_EQUALS); + if (!parse_bool (lexer, &t->pairwise->merge)) + goto error; + } + else if (lex_match_id (lexer, "STYLE")) + { + lex_match (lexer, T_EQUALS); + if (lex_match_id (lexer, "APA")) + t->pairwise->apa_style = true; + else if (lex_match_id (lexer, "SIMPLE")) + t->pairwise->apa_style = false; + else + { + lex_error_expecting (lexer, "APA", "SIMPLE"); + goto error; + } + } + else if (lex_match_id (lexer, "SHOWSIG")) + { + lex_match (lexer, T_EQUALS); + if (!parse_bool (lexer, &t->pairwise->show_sig)) + goto error; + } + else + { + lex_error_expecting (lexer, "TYPE", "ALPHA", "ADJUST", + "INCLUDEMRSETS", "MEANSVARIANCE", + "CATEGORIES", "MERGE", "STYLE", + "SHOWSIG"); + goto error; + } + } + while (lex_token (lexer) != T_SLASH + && lex_token (lexer) != T_ENDCMD); + } + else + { + lex_error_expecting (lexer, "TABLE", "SLABELS", "CLABELS", + "CRITERIA", "CATEGORIES", "TITLES", + "SIGTEST", "COMPARETEST"); + goto error; + } + + if (!lex_match (lexer, T_SLASH)) + break; + } + + if (t->label_axis[PIVOT_AXIS_ROW] != PIVOT_AXIS_ROW + && t->label_axis[PIVOT_AXIS_COLUMN] != PIVOT_AXIS_COLUMN) + { + msg (SE, _("ROWLABELS and COLLABELS may not both be specified.")); + goto error; + } + + if (!ctables_prepare_table (t)) + goto error; + } + while (lex_token (lexer) != T_ENDCMD); + + if (!input) + input = proc_open (ds); + bool ok = ctables_execute (ds, input, ct); + ok = proc_commit (ds) && ok; + + ctables_destroy (ct); + return ok ? CMD_SUCCESS : CMD_FAILURE; + +error: + if (input) + proc_commit (ds); + ctables_destroy (ct); + return CMD_FAILURE; +} + diff --git a/src/language/stats/ctables.inc b/src/language/stats/ctables.inc new file mode 100644 index 0000000000..e039cfd3ce --- /dev/null +++ b/src/language/stats/ctables.inc @@ -0,0 +1,129 @@ +/* -*- c -*- */ + +/* Summary functions for all variables. */ +S(CTSF_COUNT, "COUNT", N_("Count"), CTF_COUNT, CTFA_ALL) +S(CTSF_ECOUNT, "ECOUNT", N_("Adjusted Count"), CTF_COUNT, CTFA_ALL) +S(CTSF_ROWPCT_COUNT, "ROWPCT.COUNT", N_("Row %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_COLPCT_COUNT, "COLPCT.COUNT", N_("Column %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_TABLEPCT_COUNT, "TABLEPCT.COUNT", N_("Table %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_SUBTABLEPCT_COUNT, "SUBTABLEPCT.COUNT", N_("Subtable %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_LAYERPCT_COUNT, "LAYERPCT.COUNT", N_("Layer %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_LAYERROWPCT_COUNT, "LAYERROWPCT.COUNT", N_("Layer Row %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_LAYERCOLPCT_COUNT, "LAYERCOLPCT.COUNT", N_("Layer Column %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ROWPCT_VALIDN, "ROWPCT.VALIDN", N_("Row Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_COLPCT_VALIDN, "COLPCT.VALIDN", N_("Column Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_TABLEPCT_VALIDN, "TABLEPCT.VALIDN", N_("Table Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_SUBTABLEPCT_VALIDN, "SUBTABLEPCT.VALIDN", N_("Subtable Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_LAYERPCT_VALIDN, "LAYERPCT.VALIDN", N_("Layer Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_LAYERROWPCT_VALIDN, "LAYERROWPCT.VALIDN", N_("Layer Row Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_LAYERCOLPCT_VALIDN, "LAYERCOLPCT.VALIDN", N_("Layer Column Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ROWPCT_TOTALN, "ROWPCT.TOTALN", N_("Row Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_COLPCT_TOTALN, "COLPCT.TOTALN", N_("Column Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_TABLEPCT_TOTALN, "TABLEPCT.TOTALN", N_("Table Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_SUBTABLEPCT_TOTALN, "SUBTABLEPCT.TOTALN", N_("Subtable Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_LAYERPCT_TOTALN, "LAYERPCT.TOTALN", N_("Layer Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_LAYERROWPCT_TOTALN, "LAYERROWPCT.TOTALN", N_("Layer Row Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_LAYERCOLPCT_TOTALN, "LAYERCOLPCT.TOTALN", N_("Layer Column Total N %"), CTF_PERCENT, CTFA_ALL) + +/* All variables (unweighted.) */ +S(CTSF_UCOUNT, "UCOUNT", N_("Unweighted Count"), CTF_COUNT, CTFA_ALL) +S(CTSF_UROWPCT_COUNT, "UROWPCT.COUNT", N_("Unweighted Row %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_UCOLPCT_COUNT, "UCOLPCT.COUNT", N_("Unweighted Column %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_UTABLEPCT_COUNT, "UTABLEPCT.COUNT", N_("Unweighted Table %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_USUBTABLEPCT_COUNT, "USUBTABLEPCT.COUNT", N_("Unweighted Subtable %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ULAYERPCT_COUNT, "ULAYERPCT.COUNT", N_("Unweighted Layer %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ULAYERROWPCT_COUNT, "ULAYERROWPCT.COUNT", N_("Unweighted Layer Row %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ULAYERCOLPCT_COUNT, "ULAYERCOLPCT.COUNT", N_("Unweighted Layer Column %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_UROWPCT_VALIDN, "UROWPCT.VALIDN", N_("Unweighted Row Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_UCOLPCT_VALIDN, "UCOLPCT.VALIDN", N_("Unweighted Column Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_UTABLEPCT_VALIDN, "UTABLEPCT.VALIDN", N_("Unweighted Table Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_USUBTABLEPCT_VALIDN, "USUBTABLEPCT.VALIDN", N_("Unweighted Subtable Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ULAYERPCT_VALIDN, "ULAYERPCT.VALIDN", N_("Unweighted Layer Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ULAYERROWPCT_VALIDN, "ULAYERROWPCT.VALIDN", N_("Unweighted Layer Row Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ULAYERCOLPCT_VALIDN, "ULAYERCOLPCT.VALIDN", N_("Unweighted Layer Column Valid N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_UROWPCT_TOTALN, "UROWPCT.TOTALN", N_("Unweighted Row Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_UCOLPCT_TOTALN, "UCOLPCT.TOTALN", N_("Unweighted Column Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_UTABLEPCT_TOTALN, "UTABLEPCT.TOTALN", N_("Unweighted Table Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_USUBTABLEPCT_TOTALN, "USUBTABLEPCT.TOTALN", N_("Unweighted Subtable Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ULAYERPCT_TOTALN, "ULAYERPCT.TOTALN", N_("Unweighted Layer Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ULAYERROWPCT_TOTALN, "ULAYERROWPCT.TOTALN", N_("Unweighted Layer Row Total N %"), CTF_PERCENT, CTFA_ALL) +S(CTSF_ULAYERCOLPCT_TOTALN, "ULAYERCOLPCT.TOTALN", N_("Unweighted Layer Column Total N %"), CTF_PERCENT, CTFA_ALL) + +/* Scale variables, totals, and subtotals. */ +S(CTSF_MAXIMUM, "MAXIMUM", N_("Maximum"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_MEAN, "MEAN", N_("Mean"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_MEDIAN, "MEDIAN", N_("Median"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_MINIMUM, "MINIMUM", N_("Minimum"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_MISSING, "MISSING", N_("Missing"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_MODE, "MODE", N_("Mode"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_PTILE, "PTILE", N_("Percentile"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_RANGE, "RANGE", N_("Range"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_SEMEAN, "SEMEAN", N_("Std Error of Mean"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_STDDEV, "STDDEV", N_("Std Deviation"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_SUM, "SUM", N_("Sum"), CTF_GENERAL, CTFA_SCALE) +S(CSTF_TOTALN, "TOTALN", N_("Total N"), CTF_COUNT, CTFA_SCALE) +S(CTSF_ETOTALN, "ETOTALN", N_("Adjusted Total N"), CTF_COUNT, CTFA_SCALE) +S(CTSF_VALIDN, "VALIDN", N_("Valid N"), CTF_COUNT, CTFA_SCALE) +S(CTSF_EVALIDN, "EVALIDN", N_("Adjusted Valid N"), CTF_COUNT, CTFA_SCALE) +S(CTSF_VARIANCE, "VARIANCE", N_("Variance"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_ROWPCT_SUM, "ROWPCT.SUM", N_("Row Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_COLPCT_SUM, "COLPCT.SUM", N_("Column Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_TABLEPCT_SUM, "TABLEPCT.SUM", N_("Table Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_SUBTABLEPCT_SUM, "SUBTABLEPCT.SUM", N_("Subtable Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_LAYERPCT_SUM, "LAYERPCT.SUM", N_("Layer Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_LAYERROWPCT_SUM, "LAYERROWPCT.SUM", N_("Layer Row Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_LAYERCOLPCT_SUM, "LAYERCOLPCT.SUM", N_("Layer Column Sum %"), CTF_PERCENT, CTFA_SCALE) + +/* Scale variables, totals, and subtotals (unweighted). */ +S(CTSF_UMEAN, "UMEAN", N_("Unweighted Mean"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_UMEDIAN, "UMEDIAN", N_("Unweighted Median"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_UMISSING, "UMISSING", N_("Unweighted Missing"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_UMODE, "UMODE", N_("Unweighted Mode"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_UPTILE, "UPTILE", N_("Unweighted Percentile"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_USEMEAN, "USEMEAN", N_("Unweighted Std Error of Mean"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_USTDDEV, "USTDDEV", N_("Unweighted Std Deviation"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_USUM, "USUM", N_("Unweighted Sum"), CTF_GENERAL, CTFA_SCALE) +S(CSTF_UTOTALN, "UTOTALN", N_("Unweighted Total N"), CTF_COUNT, CTFA_SCALE) +S(CTSF_UVALIDN, "UVALIDN", N_("Unweighted Valid N"), CTF_COUNT, CTFA_SCALE) +S(CTSF_UVARIANCE, "UVARIANCE", N_("Unweighted Variance"), CTF_GENERAL, CTFA_SCALE) +S(CTSF_UROWPCT_SUM, "UROWPCT.SUM", N_("Unweighted Row Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_UCOLPCT_SUM, "UCOLPCT.SUM", N_("Unweighted Column Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_UTABLEPCT_SUM, "UTABLEPCT.SUM", N_("Unweighted Table Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_USUBTABLEPCT_SUM, "USUBTABLEPCT.SUM", N_("Unweighted Subtable Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_ULAYERPCT_SUM, "ULAYERPCT.SUM", N_("Unweighted Layer Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_ULAYERROWPCT_SUM, "ULAYERROWPCT.SUM", N_("Unweighted Layer Row Sum %"), CTF_PERCENT, CTFA_SCALE) +S(CTSF_ULAYERCOLPCT_SUM, "ULAYERCOLPCT.SUM", N_("Unweighted Layer Column Sum %"), CTF_PERCENT, CTFA_SCALE) + +/* Debugging and troubleshooting. */ +S(CTSF_ROW_ID, "ROW.ID", N_("Row ID"), CTF_COUNT, CTFA_ALL) +S(CTSF_COL_ID, "COL.ID", N_("Column ID"), CTF_COUNT, CTFA_ALL) +S(CTSF_TABLE_ID, "TABLE.ID", N_("Table ID"), CTF_COUNT, CTFA_ALL) +S(CTSF_SUBTABLE_ID, "SUBTABLE.ID", N_("Subtable ID"), CTF_COUNT, CTFA_ALL) +S(CTSF_LAYER_ID, "LAYER.ID", N_("Layer ID"), CTF_COUNT, CTFA_ALL) +S(CTSF_LAYERROW_ID, "LAYERROW.ID", N_("Layer Row ID"), CTF_COUNT, CTFA_ALL) +S(CTSF_LAYERCOL_ID, "LAYERCOL.ID", N_("Layer Column ID"), CTF_COUNT, CTFA_ALL) + +#if 0 /* Multiple response sets not yet implemented. */ +S(CTSF_RESPONSES, "RESPONSES", N_("Responses"), CTF_COUNT, CTFA_MRSETS) +S(CTSF_ROWPCT_RESPONSES, "ROWPCT.RESPONSES", N_("Row Responses %"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_COLPCT_RESPONSES, "COLPCT.RESPONSES", N_("Column Responses %"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_TABLEPCT_RESPONSES, "TABLEPCT.RESPONSES", N_("Table Responses %"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_SUBTABLEPCT_RESPONSES, "SUBTABLEPCT.RESPONSES", N_("Subtable Responses %"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_LAYERPCT_RESPONSES, "LAYERPCT.RESPONSES", N_("Layer Responses %"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_LAYERROWPCT_RESPONSES, "LAYERROWPCT.RESPONSES", N_("Layer Row Responses %"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_LAYERCOLPCT_RESPONSES, "LAYERCOLPCT.RESPONSES", N_("Layer Column Responses %"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_ROWPCT_RESPONSES_COUNT, "ROWPCT.RESPONSES.COUNT", N_("Row Responses % (Base: Count)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_COLPCT_RESPONSES_COUNT, "COLPCT.RESPONSES.COUNT", N_("Column Responses % (Base: Count)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_TABLEPCT_RESPONSES_COUNT, "TABLEPCT.RESPONSES.COUNT", N_("Table Responses % (Base: Count)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_SUBTABLEPCT_RESPONSES_COUNT, "SUBTABLEPCT.RESPONSES.COUNT", N_("Subtable Responses % (Base: Count)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_LAYERPCT_RESPONSES_COUNT, "LAYERPCT.RESPONSES.COUNT", N_("Layer Responses % (Base: Count)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_LAYERROWPCT_RESPONSES_COUNT, "LAYERROWPCT.RESPONSES.COUNT", N_("Layer Row Responses % (Base: Count)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_LAYERCOLPCT_RESPONSES_COUNT, "LAYERCOLPCT.RESPONSES.COUNT", N_("Layer Column Responses % (Base: Count)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_ROWPCT_COUNT_RESPONSES, "ROWPCT.COUNT.RESPONSES", N_("Row Count % (Base: Responses)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_COLPCT_COUNT_RESPONSES, "COLPCT.COUNT.RESPONSES", N_("Column Count % (Base: Responses)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_TABLEPCT_COUNT_RESPONSES, "TABLEPCT.COUNT.RESPONSES", N_("Table Count % (Base: Responses)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_SUBTABLEPCT_COUNT_RESPONSES, "SUBTABLEPCT.COUNT.RESPONSES", N_("Subtable Count % (Base: Responses)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_LAYERPCT_COUNT_RESPONSES, "LAYERPCT.COUNT.RESPONSES", N_("Layer Count % (Base: Responses)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_LAYERROWPCT_COUNT_RESPONSES, "LAYERROWPCT.COUNT.RESPONSES", N_("Layer Row Count % (Base: Responses)"), CTF_PERCENT, CTFA_MRSETS) +S(CTSF_LAYERCOLPCT_COUNT_RESPONSES, "LAYERCOLPCT.RESPONSES.COUNT", N_("Layer Column Count % (Base: Responses)"), CTF_PERCENT, CTFA_MRSETS) +#endif diff --git a/src/libpspp/message.c b/src/libpspp/message.c index 83c7320168..38726d9f5b 100644 --- a/src/libpspp/message.c +++ b/src/libpspp/message.c @@ -174,6 +174,16 @@ msg_location_merge (struct msg_location **dstp, const struct msg_location *src) dst->end = src->end; } +struct msg_location * +msg_location_merged (const struct msg_location *a, + const struct msg_location *b) +{ + struct msg_location *new = msg_location_dup (a); + if (b) + msg_location_merge (&new, b); + return new; +} + struct msg_location * msg_location_dup (const struct msg_location *src) { diff --git a/src/libpspp/message.h b/src/libpspp/message.h index 813febe82a..11e5b9d98e 100644 --- a/src/libpspp/message.h +++ b/src/libpspp/message.h @@ -118,6 +118,8 @@ struct msg_location *msg_location_dup (const struct msg_location *); void msg_location_remove_columns (struct msg_location *); void msg_location_merge (struct msg_location **, const struct msg_location *); +struct msg_location *msg_location_merged (const struct msg_location *, + const struct msg_location *); bool msg_location_is_empty (const struct msg_location *); void msg_location_format (const struct msg_location *, struct string *); diff --git a/src/output/pivot-table.c b/src/output/pivot-table.c index 009e829613..f8f917d9dd 100644 --- a/src/output/pivot-table.c +++ b/src/output/pivot-table.c @@ -2777,7 +2777,7 @@ pivot_value_new_text (const char *text) } /* Same as pivot_value_new_text() but its argument is a printf()-like format - string. */ + string. The format string should generally be enclosed in N_(). */ struct pivot_value * PRINTF_FORMAT (1, 2) pivot_value_new_text_format (const char *format, ...) { diff --git a/src/output/pivot-table.h b/src/output/pivot-table.h index 88edb62031..e374596184 100644 --- a/src/output/pivot-table.h +++ b/src/output/pivot-table.h @@ -177,9 +177,8 @@ enum pivot_axis_type { PIVOT_AXIS_LAYER, PIVOT_AXIS_ROW, - PIVOT_AXIS_COLUMN, - - PIVOT_N_AXES + PIVOT_AXIS_COLUMN +#define PIVOT_N_AXES 3 }; const char *pivot_axis_type_to_string (enum pivot_axis_type); diff --git a/tests/automake.mk b/tests/automake.mk index f9bea8fa51..095ed03579 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -398,6 +398,7 @@ TESTSUITE_AT = \ tests/language/stats/autorecode.at \ tests/language/stats/correlations.at \ tests/language/stats/crosstabs.at \ + tests/language/stats/ctables.at \ tests/language/stats/descriptives.at \ tests/language/stats/examine.at \ tests/language/stats/graph.at \ @@ -487,8 +488,16 @@ $(srcdir)/tests/testsuite.at: tests/testsuite.in tests/automake.mk EXTRA_DIST += tests/testsuite.at +# Generate a TableLook that prints all layers of pivot tables. +check_DATA = tests/all-layers.stt +tests/all-layers.stt: utilities/pspp-output + $(AM_V_GEN)$< get-table-look - $@.tmp + $(AM_V_at)if grep 'printAllLayers="false"' $@.tmp >/dev/null; then :; else \ + echo >&2 "$<: expected printAllLayers=\"false\""; exit 1; fi + $(AM_v_at)sed 's/printAllLayers="false"/printAllLayers="true"/' < $@.tmp > $@ + CHECK_LOCAL += tests_check -tests_check: tests/atconfig tests/atlocal $(TESTSUITE) $(check_PROGRAMS) +tests_check: tests/atconfig tests/atlocal $(TESTSUITE) $(check_PROGRAMS) $(check_DATA) XTERM_LOCALE='' $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH) RUNNER='$(RUNNER)' $(TESTSUITEFLAGS) CLEAN_LOCAL += tests_clean diff --git a/tests/language/stats/ctables.at b/tests/language/stats/ctables.at new file mode 100644 index 0000000000..0b6e769af1 --- /dev/null +++ b/tests/language/stats/ctables.at @@ -0,0 +1,2788 @@ +AT_BANNER([CTABLES]) + +dnl Features not yet tested: +dnl - Preprocessing to distinguish categorical from scale. +dnl - Testing details of missing value handling in summaries. +dnl - Test WEIGHT and adjustment weights. +dnl - Summary functions: +dnl * Separate summary functions for totals and subtotals. +dnl * )CILEVEL in summary label specification +dnl - CATEGORIES: +dnl * Date values +dnl * THRU (numeric ranges) +dnl * OTHERNM +dnl - Date/time variables and values +dnl - Test PCOMPUTE: +dnl * PCOMPUTE for more than one kind of summary (e.g. [COUNT, ROWPCT]). +dnl * MISSING, OTHERNM +dnl * multi-dimensional (multiple CCT_POSTCOMPUTE in one cell) +dnl * dates +dnl - PPROPERTIES: +dnl * )LABEL[N]. +dnl - Summary functions: +dnl * U-prefix for unweighted summaries. +dnl * areaPCT.SUM and UareaPCT.SUM functions. +dnl - SPLIT FILE with SEPARATE splits +dnl - Definition of columns/rows when labels are rotated from one axis to another. +dnl +dnl Not for v1: +dnl - Multiple response sets +dnl - MRSETS subcommand. +dnl - CATEGORIES: Special case for explicit category specifications and multiple dichotomy sets. +dnl - SIGTEST +dnl - COMPARETEST +dnl - Summary functions: +dnl * .LCL and .UCL suffixes. +dnl * .SE suffixes. +dnl - CATEGORIES: +dnl * Data-dependent sorting. + +AT_SETUP([CTABLES parsing]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES + /FORMAT MINCOLWIDTH=10 MAXCOLWIDTH=20 UNITS=POINTS EMPTY=ZERO MISSING="x" + /FORMAT MINCOLWIDTH=DEFAULT MAXCOLWIDTH=DEFAULT UNITS=INCHES EMPTY=BLANK MISSING="." + /FORMAT UNITS=CM EMPTY="(-)" + /VLABELS VARIABLES=qn1 DISPLAY=DEFAULT + /VLABELS VARIABLES=qn17 DISPLAY=NAME + /VLABELS VARIABLES=qns3a DISPLAY=LABEL + /VLABELS VARIABLES=qnd1 DISPLAY=BOTH + /VLABELS VARIABLES=qn20 DISPLAY=NONE + /MRSETS COUNTDUPLICATES=NO + /MRSETS COUNTDUPLICATES=YES + /SMISSING VARIABLE + /SMISSING LISTWISE + /WEIGHT VARIABLE=qns3a + /HIDESMALLCOUNTS + /HIDESMALLCOUNTS COUNT=10 + /TABLE qnsa1 + /SLABELS POSITION=COLUMN VISIBLE=YES + /SLABELS VISIBLE=NO POSITION=ROW + /SLABELS POSITION=LAYER + /CLABELS AUTO + /CLABELS ROWLABELS=OPPOSITE + /CRITERIA CILEVEL=50 + /CATEGORIES VARIABLES=qn1 qn17 + ORDER=A KEY=VALUE MISSING=INCLUDE TOTAL=YES LABEL="xyzzy" + POSITION=BEFORE EMPTY=INCLUDE. +CTABLES /TABLE qnsa1 /CLABELS ROWLABELS=LAYER. +CTABLES /TABLE qnsa1 /CLABELS COLLABELS=OPPOSITE. +CTABLES /TABLE qnsa1 /CLABELS COLLABELS=LAYER. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +Count +╭───────────────────┬────┬────╮ +│ │ RDD│CELL│ +├───────────────────┼────┼────┤ +│Sa1. SAMPLE SOURCE:│5392│1607│ +╰───────────────────┴────┴────╯ + + Custom Tables +RDD +╭───────────────────┬─────╮ +│ │Count│ +├───────────────────┼─────┤ +│Sa1. SAMPLE SOURCE:│ 5392│ +╰───────────────────┴─────╯ + + Custom Tables +╭────────────────────────┬─────╮ +│ │Count│ +├────────────────────────┼─────┤ +│Sa1. SAMPLE SOURCE: RDD │ 5392│ +│ CELL│ 1607│ +╰────────────────────────┴─────╯ + + Custom Tables +╭────────────────────────┬─────╮ +│ │Count│ +├────────────────────────┼─────┤ +│Sa1. SAMPLE SOURCE: RDD │ 5392│ +│ CELL│ 1607│ +╰────────────────────────┴─────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES parsing - negative]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES. +CTABLES /FORMAT MINCOLWIDTH='foo'. +CTABLES /TABLE qn1 [**]. +CTABLES /TABLE qn1 [NOTAFUNCTION]. +CTABLES /TABLE (qn1. +CTABLES /TABLE **. +CTABLES /TABLE NOTAVAR. +STRING string(A8). +CTABLES /TABLE string[S]. +CTABLES /TABLE qn1 [PTILE 101]. +CTABLES /TABLE qn1 [MEAN F0.1]. +CTABLES /TABLE qn1 [MEAN NEGPAREN1.2]. +CTABLES /TABLE qn1 [MEAN NEGPAREN3.4]. +CTABLES /TABLE qn1 [MEAN TOTALS]. +CTABLES /TABLE qn1 [MEAN TOTALS[STDDEV]%]. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 [SUBTOTAL=x]. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 [LO **]. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 [LO THRU x]. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 [1 THRU **]. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 ['x' THRU **]. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 [&**]. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 [&x]. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 KEY=PTILE(qn1, 101). +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 KEY=MEAN(qn1. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 KEY=MEAN. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 MISSING=**. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 TOTAL=**. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 LABEL=**. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 POSITION=**. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 EMPTY=**. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 **. +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 [1,2,3] **. +CTABLES /PCOMPUTE &k=EXPR(SUBTOTAL[0]). +CTABLES /PCOMPUTE &k=EXPR(SUBTOTAL[1**]). +CTABLES /PCOMPUTE &k=EXPR([LO **]). +CTABLES /PCOMPUTE &k=EXPR([LO THRU **]). +CTABLES /PCOMPUTE &k=EXPR([1 THRU **]). +CTABLES /PCOMPUTE &k=EXPR([1**]). +CTABLES /PCOMPUTE &k=EXPR((1x)). +CTABLES /PCOMPUTE **k. +CTABLES /PCOMPUTE &1. +CTABLES /PCOMPUTE &k**. +CTABLES /PCOMPUTE &k=**. +CTABLES /PCOMPUTE &k=EXPR**. +CTABLES /PCOMPUTE &k=EXPR(1x). +CTABLES /PCOMPUTE &k=EXPR(1) /PCOMPUTE &k=EXPR(2). +CTABLES /PCOMPUTE &k=EXPR(1) /PPROPERTIES &k FORMAT=NOTAFUNCTION. +CTABLES /PCOMPUTE &k=EXPR(1) /PPROPERTIES &k FORMAT=PTILE **. +CTABLES /PCOMPUTE &k=EXPR(1) /PPROPERTIES &k LABEL=**. +CTABLES /PCOMPUTE &k=EXPR(1) /PPROPERTIES &k HIDESOURCECATS=**. +CTABLES /PCOMPUTE &k=EXPR(1) /PPROPERTIES &k **. +CTABLES /FORMAT EMPTY=**. +CTABLES /FORMAT MISSING=**. +CTABLES /FORMAT **. +CTABLES /FORMAT MINCOLWIDTH=20 MAXCOLWIDTH=10/. +CTABLES /VLABELS **. +CTABLES /VLABELS VARIABLES=NOTAVAR. +CTABLES /VLABELS VARIABLES=qn1 **. +CTABLES /VLABELS VARIABLES=qn1 DISPLAY=**. +CTABLES /MRSETS **. +CTABLES /MRSETS COUNTDUPLICATES=**. +CTABLES /SMISSING **. +CTABLES /WEIGHT **. +CTABLES /WEIGHT VARIABLE=NOTAVAR. +CTABLES /HIDESMALLCOUNTS COUNT=1. +CTABLES /QUUX. +CTABLES /HIDESMALLCOUNTS COUNT=2. +CTABLES /TABLE qn1**. +CTABLES /TABLE qn1 /SLABELS POSITION=**. +CTABLES /TABLE qn1 /SLABELS VISIBLE=**. +CTABLES /TABLE qn1 /SLABELS **. +CTABLES /TABLE qn1 /CLABELS ROWLABELS=**. +CTABLES /TABLE qn1 /CLABELS COLLABELS=**. +CTABLES /TABLE qn1 /CLABELS **. +CTABLES /TABLE qn1 /CRITERIA **. +CTABLES /TABLE qn1 /CRITERIA CILEVEL=101. +CTABLES /TABLE qn1 /TITLES **. +CTABLES /TABLE qn1 /SIGTEST TYPE=**. +CTABLES /TABLE qn1 /SIGTEST ALPHA=**. +CTABLES /TABLE qn1 /SIGTEST INCLUDEMRSETS=**. +CTABLES /TABLE qn1 /SIGTEST CATEGORIES=**. +CTABLES /TABLE qn1 /SIGTEST **. +CTABLES /TABLE qn1 /COMPARETEST TYPE=**. +CTABLES /TABLE qn1 /COMPARETEST ALPHA=**. +CTABLES /TABLE qn1 /COMPARETEST ALPHA=0,5. +CTABLES /TABLE qn1 /COMPARETEST ADJUST=**. +CTABLES /TABLE qn1 /COMPARETEST INCLUDEMRSETS=**. +CTABLES /TABLE qn1 /COMPARETEST MEANSVARIANCE=**. +CTABLES /TABLE qn1 /COMPARETEST CATEGORIES=**. +CTABLES /TABLE qn1 /COMPARETEST MERGE=**. +CTABLES /TABLE qn1 /COMPARETEST STYLE=**. +CTABLES /TABLE qn1 /COMPARETEST SHOWSIG=**. +CTABLES /TABLE qn1 /COMPARETEST **. +CTABLES /TABLE qn1 / **. +CTABLES /TABLE qn1 /CLABELS ROWLABELS=OPPOSITE /CLABELS COLLABELS=OPPOSITE. +CTABLES /TABLE qn20 > qnd1. +CTABLES /TABLE qn1 [ROWPCT] > qnsa1. +NUMERIC datetime (DATETIME17.0). +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=datetime ['123']. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [1], +[[ctables.sps:2.8: error: CTABLES: Syntax error at end of command: expecting `/'. + +ctables.sps:3.29-3.33: error: CTABLES: Syntax error at `'foo'': Expected non- +negative number for MINCOLWIDTH. + +ctables.sps:4.21-4.22: error: CTABLES: Syntax error at `**': expecting +identifier. + +ctables.sps:5.21-5.32: error: CTABLES: Syntax error at `NOTAFUNCTION': Expecting +summary function name. + +ctables.sps:6.20: error: CTABLES: Syntax error at end of command: expecting `@:}@'. + +ctables.sps:7.16-7.17: error: CTABLES: Syntax error at `**': expecting +identifier. + +ctables.sps:8: error: CTABLES: NOTAVAR is not a variable name. + +ctables.sps:10.16-10.24: error: CTABLES: Cannot use string variable string as a +scale variable. + 10 | CTABLES /TABLE string[S]. + | ^~~~~~~~~ + +ctables.sps:11.27-11.29: error: CTABLES: Syntax error at `101': Expected number +between 0 and 100 for PTILE. + +ctables.sps:12: error: CTABLES: Output format F0.1 specifies width 0, but F +requires a width between 1 and 40. + +ctables.sps:13.26-13.36: error: CTABLES: Syntax error at `NEGPAREN1.2': Output +format NEGPAREN requires width 2 or greater. + +ctables.sps:14.26-14.36: error: CTABLES: Syntax error at `NEGPAREN3.4': Output +format NEGPAREN requires width greater than decimals. + +ctables.sps:15.21-15.24: error: CTABLES: Summary function MEAN applies only to +scale variables. + 15 | CTABLES /TABLE qn1 [MEAN TOTALS]. + | ^~~~ + +ctables.sps:15.16-15.18: note: CTABLES: 'QN1' is not a scale variable. + 15 | CTABLES /TABLE qn1 [MEAN TOTALS]. + | ^~~ + +ctables.sps:15.32: error: CTABLES: Syntax error at `@:>@': expecting `@<:@'. + +ctables.sps:16.21-16.24: error: CTABLES: Summary function MEAN applies only to +scale variables. + 16 | CTABLES /TABLE qn1 [MEAN TOTALS[STDDEV]%]. + | ^~~~ + +ctables.sps:16.16-16.18: note: CTABLES: 'QN1' is not a scale variable. + 16 | CTABLES /TABLE qn1 [MEAN TOTALS[STDDEV]%]. + | ^~~ + +ctables.sps:16.40: error: CTABLES: Syntax error at `%': expecting `@:>@'. + +ctables.sps:17.56: error: CTABLES: Syntax error at `x': expecting string. + +ctables.sps:18.50-18.51: error: CTABLES: Syntax error at `**': expecting THRU. + +ctables.sps:19.55: error: CTABLES: Syntax error at `x': expecting number. + +ctables.sps:20.54-20.55: error: CTABLES: Syntax error at `**': expecting number. + +ctables.sps:21.56-21.57: error: CTABLES: Syntax error at `**': expecting string. + +ctables.sps:22.48-22.49: error: CTABLES: Syntax error at `**': expecting +identifier. + +ctables.sps:23.47-23.48: error: CTABLES: Unknown postcompute &x. + 23 | CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 [&x]. + | ^~ + +ctables.sps:24.61-24.63: error: CTABLES: Syntax error at `101': Expected number +between 0 and 100 for PTILE. + +ctables.sps:25.58: error: CTABLES: Syntax error at end of command: expecting +`@:}@'. + +ctables.sps:26.54: error: CTABLES: Syntax error at end of command: expecting +`@{:@'. + +ctables.sps:27.54-27.55: error: CTABLES: Syntax error at `**': expecting INCLUDE +or EXCLUDE. + +ctables.sps:28.52-28.53: error: CTABLES: Syntax error at `**': expecting YES or +NO. + +ctables.sps:29.52-29.53: error: CTABLES: Syntax error at `**': expecting string. + +ctables.sps:30.55-30.56: error: CTABLES: Syntax error at `**': expecting BEFORE +or AFTER. + +ctables.sps:31.52-31.53: error: CTABLES: Syntax error at `**': expecting INCLUDE +or EXCLUDE. + +ctables.sps:32.46-32.47: error: CTABLES: Syntax error at `**': expecting ORDER, +KEY, MISSING, TOTAL, LABEL, POSITION, or EMPTY. + +ctables.sps:33.54-33.55: error: CTABLES: Syntax error at `**': expecting TOTAL, +LABEL, POSITION, or EMPTY. + +ctables.sps:34.36: error: CTABLES: Syntax error at `0': Expected positive +integer for SUBTOTAL. + +ctables.sps:35.37-35.38: error: CTABLES: Syntax error at `**': expecting `@:>@'. + +ctables.sps:36.31-36.32: error: CTABLES: Syntax error at `**': expecting THRU. + +ctables.sps:37.36-37.37: error: CTABLES: Syntax error at `**': expecting number. + +ctables.sps:38.35-38.36: error: CTABLES: Syntax error at `**': expecting number. + +ctables.sps:39.29-39.30: error: CTABLES: Syntax error at `**': expecting `@:>@'. + +ctables.sps:40.29: error: CTABLES: Syntax error at `x': expecting `@:}@'. + +ctables.sps:41.19-41.20: error: CTABLES: Syntax error at `**': expecting &. + +ctables.sps:42.20: error: CTABLES: Syntax error at `1': expecting identifier. + +ctables.sps:43.21-43.22: error: CTABLES: Syntax error at `**': expecting `='. + +ctables.sps:44.22-44.23: error: CTABLES: Syntax error at `**': expecting EXPR. + +ctables.sps:45.26-45.27: error: CTABLES: Syntax error at `**': expecting `('. + +ctables.sps:46.28: error: CTABLES: Syntax error at `x': expecting `)'. + +ctables.sps:47.31-47.49: warning: CTABLES: New definition of &k will override +the previous definition. + 47 | CTABLES /PCOMPUTE &k=EXPR(1) /PCOMPUTE &k=EXPR(2). + | ^~~~~~~~~~~~~~~~~~~ + +ctables.sps:47.10-47.28: note: CTABLES: This is the previous definition. + 47 | CTABLES /PCOMPUTE &k=EXPR(1) /PCOMPUTE &k=EXPR(2). + | ^~~~~~~~~~~~~~~~~~~ + +ctables.sps:47.50: error: CTABLES: Syntax error at end of command: expecting +`/'. + +ctables.sps:48.53-48.64: error: CTABLES: Syntax error at `NOTAFUNCTION': +Expecting summary function name. + +ctables.sps:49.59-49.60: error: CTABLES: Syntax error at `**': Expected number +between 0 and 100 for PTILE. + +ctables.sps:50.52-50.53: error: CTABLES: Syntax error at `**': expecting string. + +ctables.sps:51.61-51.62: error: CTABLES: Syntax error at `**': expecting YES or +NO. + +ctables.sps:52.46-52.47: error: CTABLES: Syntax error at `**': expecting LABEL, +FORMAT, or HIDESOURCECATS. + +ctables.sps:53.23-53.24: error: CTABLES: Syntax error at `**': expecting string. + +ctables.sps:54.25-54.26: error: CTABLES: Syntax error at `**': expecting string. + +ctables.sps:55.17-55.18: error: CTABLES: Syntax error at `**': expecting +MINCOLWIDTH, MAXCOLWIDTH, UNITS, EMPTY, or MISSING. + +ctables.sps:56: error: CTABLES: MINCOLWIDTH must not be greater than +MAXCOLWIDTH. + +ctables.sps:57.18-57.19: error: CTABLES: Syntax error at `**': expecting +VARIABLES. + +ctables.sps:58: error: CTABLES: NOTAVAR is not a variable name. + +ctables.sps:59.32-59.33: error: CTABLES: Syntax error at `**': expecting +DISPLAY. + +ctables.sps:60.40-60.41: error: CTABLES: Syntax error at `**': expecting +DEFAULT, NAME, LABEL, BOTH, or NONE. + +ctables.sps:61.17-61.18: error: CTABLES: Syntax error at `**': expecting +COUNTDUPLICATES. + +ctables.sps:62.33-62.34: error: CTABLES: Syntax error at `**': expecting YES or +NO. + +ctables.sps:63.19-63.20: error: CTABLES: Syntax error at `**': expecting +VARIABLE or LISTWISE. + +ctables.sps:64.17-64.18: error: CTABLES: Syntax error at `**': expecting +VARIABLE. + +ctables.sps:65: error: CTABLES: NOTAVAR is not a variable name. + +ctables.sps:66.32: error: CTABLES: Syntax error at `1': Expected integer 2 or +greater for HIDESMALLCOUNTS COUNT. + +ctables.sps:67.10-67.13: error: CTABLES: Syntax error at `QUUX': expecting +FORMAT, VLABELS, MRSETS, SMISSING, PCOMPUTE, PPROPERTIES, WEIGHT, +HIDESMALLCOUNTS, or TABLE. + +ctables.sps:68.33: error: CTABLES: Syntax error at end of command: expecting +`/'. + +ctables.sps:69.19-69.20: error: CTABLES: Syntax error at `**': expecting `/'. + +ctables.sps:70.38-70.39: error: CTABLES: Syntax error at `**': expecting COLUMN, +ROW, or LAYER. + +ctables.sps:71.37-71.38: error: CTABLES: Syntax error at `**': expecting YES or +NO. + +ctables.sps:72.29-72.30: error: CTABLES: Syntax error at `**': expecting +POSITION or VISIBLE. + +ctables.sps:73.39-73.40: error: CTABLES: Syntax error at `**': expecting +OPPOSITE or LAYER. + +ctables.sps:74.39-74.40: error: CTABLES: Syntax error at `**': expecting +OPPOSITE or LAYER. + +ctables.sps:75.29-75.30: error: CTABLES: Syntax error at `**': expecting AUTO, +ROWLABELS, or COLLABELS. + +ctables.sps:76.30-76.31: error: CTABLES: Syntax error at `**': expecting +CILEVEL. + +ctables.sps:77.38-77.40: error: CTABLES: Syntax error at `101': Expected number +in @<:@0,100@:}@ for CILEVEL. + +ctables.sps:78.28-78.29: error: CTABLES: Syntax error at `**': expecting +CAPTION, CORNER, or TITLE. + +ctables.sps:79.34-79.35: error: CTABLES: Syntax error at `**': expecting +CHISQUARE. + +ctables.sps:80.35-80.36: error: CTABLES: Syntax error at `**': Expected number +in @<:@0,1@:}@ for ALPHA. + +ctables.sps:81.43-81.44: error: CTABLES: Syntax error at `**': expecting YES or +NO. + +ctables.sps:82.40-82.41: error: CTABLES: Syntax error at `**': expecting +ALLVISIBLE or SUBTOTALS. + +ctables.sps:83.29-83.30: error: CTABLES: Syntax error at `**': expecting TYPE, +ALPHA, INCLUDEMRSETS, or CATEGORIES. + +ctables.sps:84.38-84.39: error: CTABLES: Syntax error at `**': expecting PROP or +MEAN. + +ctables.sps:85.39-85.40: error: CTABLES: Syntax error at `**': Expected number +in (0,1) for ALPHA. + +ctables.sps:86.39: error: CTABLES: Syntax error at `0': Expected number in (0,1) +for ALPHA. + +ctables.sps:87.40-87.41: error: CTABLES: Syntax error at `**': expecting +BONFERRONI, BH, or NONE. + +ctables.sps:88.47-88.48: error: CTABLES: Syntax error at `**': expecting YES or +NO. + +ctables.sps:89.47-89.48: error: CTABLES: Syntax error at `**': expecting ALLCATS +or TESTEDCATS. + +ctables.sps:90.44-90.45: error: CTABLES: Syntax error at `**': expecting +ALLVISIBLE or SUBTOTALS. + +ctables.sps:91.39-91.40: error: CTABLES: Syntax error at `**': expecting YES or +NO. + +ctables.sps:92.39-92.40: error: CTABLES: Syntax error at `**': expecting APA or +SIMPLE. + +ctables.sps:93.41-93.42: error: CTABLES: Syntax error at `**': expecting YES or +NO. + +ctables.sps:94.33-94.34: error: CTABLES: Syntax error at `**': expecting TYPE, +ALPHA, ADJUST, INCLUDEMRSETS, MEANSVARIANCE, CATEGORIES, MERGE, STYLE, or +SHOWSIG. + +ctables.sps:95.22-95.23: error: CTABLES: Syntax error at `**': expecting TABLE, +SLABELS, CLABELS, CRITERIA, CATEGORIES, TITLES, SIGTEST, or COMPARETEST. + +ctables.sps:96: error: CTABLES: ROWLABELS and COLLABELS may not both be +specified. + +ctables.sps:97.16-97.26: error: CTABLES: Cannot nest scale variables. + 97 | CTABLES /TABLE qn20 > qnd1. + | ^~~~~~~~~~~ + +ctables.sps:97.16-97.19: note: CTABLES: This is an outer scale variable. + 97 | CTABLES /TABLE qn20 > qnd1. + | ^~~~ + +ctables.sps:97.23-97.26: note: CTABLES: This is an inner scale variable. + 97 | CTABLES /TABLE qn20 > qnd1. + | ^~~~ + +ctables.sps:98.16-98.35: error: CTABLES: Summaries may only be requested for +categorical variables at the innermost nesting level. + 98 | CTABLES /TABLE qn1 [ROWPCT] > qnsa1. + | ^~~~~~~~~~~~~~~~~~~~ + +ctables.sps:98.16-98.18: note: CTABLES: This outer categorical variable has a +summary. + 98 | CTABLES /TABLE qn1 [ROWPCT] > qnsa1. + | ^~~ + +ctables.sps:100.52-100.56: error: CTABLES: Failed to parse category +specification as format DATETIME: Day (123) must be between 1 and 31.. + 100 | CTABLES /TABLE qn1 /CATEGORIES VARIABLES=datetime ['123']. + | ^~~~~ +]]) +AT_CLEANUP + +AT_SETUP([CTABLES parsing - more negative]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /PCOMPUTE &pc=EXPR(SUBTOTAL) /TABLE qn1 /CATEGORIES VARIABLES=qn1 [&pc]. +CTABLES /PCOMPUTE &pc=EXPR(TOTAL) /TABLE qn1 /CATEGORIES VARIABLES=qn1 [&pc]. +CTABLES /PCOMPUTE &pc=EXPR(SUBTOTAL) /TABLE qn1 /CATEGORIES VARIABLES=qn1 [&pc, SUBTOTAL, SUBTOTAL]. + +STRING string(A8). +CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 ['string']. +CTABLES /TABLE string /CATEGORIES VARIABLES=string [1]. + +CTABLES /TABLE qn1 /CLABELS ROWLABELS=OPPOSITE /CATEGORIES VARIABLES=qn1 KEY=MEAN(qn1). + +CTABLES /TABLE qnd1 /CLABELS ROWLABELS=OPPOSITE. +CTABLES /TABLE qn1 + string /CLABELS ROWLABELS=OPPOSITE. +CTABLES /TABLE qn1 + qnsa1 /CLABELS ROWLABELS=OPPOSITE. +CTABLES /TABLE qn105ba + qn105bb /CLABELS ROWLABELS=OPPOSITE /CATEGORIES VARIABLES=qn105ba [1,2,3]. + +CTABLES /PCOMPUTE &x=EXPR(1**2**3). +CTABLES /PCOMPUTE &x=EXPR([**]). +CTABLES /PCOMPUTE &x=EXPR(**). + +CTABLES /TABLE. + +CTABLES /TABLE qn113 [COUNT] BY qn114 [COUNT] BY qn116 [COUNT]. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [1], +[[ctables.sps:2.76-2.78: error: CTABLES: Computed category &pc references a +category not included in the category list. + 2 | CTABLES /PCOMPUTE &pc=EXPR(SUBTOTAL) /TABLE qn1 /CATEGORIES +VARIABLES=qn1 [&pc]. + | +^~~ + +ctables.sps:2.28-2.35: note: CTABLES: This is the missing category. + 2 | CTABLES /PCOMPUTE &pc=EXPR(SUBTOTAL) /TABLE qn1 /CATEGORIES +VARIABLES=qn1 [&pc]. + | ^~~~~~~~ + +ctables.sps:2.76-2.79: note: CTABLES: To fix the problem, add subtotals to the +list of categories here. + 2 | CTABLES /PCOMPUTE &pc=EXPR(SUBTOTAL) /TABLE qn1 /CATEGORIES +VARIABLES=qn1 [&pc]. + | +^~~~ + +ctables.sps:3.73-3.75: error: CTABLES: Computed category &pc references a +category not included in the category list. + 3 | CTABLES /PCOMPUTE &pc=EXPR(TOTAL) /TABLE qn1 /CATEGORIES VARIABLES=qn1 +[&pc]. + | +^~~ + +ctables.sps:3.28-3.32: note: CTABLES: This is the missing category. + 3 | CTABLES /PCOMPUTE &pc=EXPR(TOTAL) /TABLE qn1 /CATEGORIES VARIABLES=qn1 +[&pc]. + | ^~~~~ + +ctables.sps:3: note: CTABLES: To fix the problem, add TOTAL=YES to the +variable's CATEGORIES specification. + +ctables.sps:4.76-4.99: error: CTABLES: These categories include 2 instances of +SUBTOTAL or HSUBTOTAL, so references from computed categories must refer to +subtotals by position, e.g. SUBTOTAL[1]. + 4 | CTABLES /PCOMPUTE &pc=EXPR(SUBTOTAL) /TABLE qn1 /CATEGORIES +VARIABLES=qn1 [&pc, SUBTOTAL, SUBTOTAL]. + | +^~~~~~~~~~~~~~~~~~~~~~~~ + +ctables.sps:4.28-4.35: note: CTABLES: This is the reference that lacks a +position. + 4 | CTABLES /PCOMPUTE &pc=EXPR(SUBTOTAL) /TABLE qn1 /CATEGORIES +VARIABLES=qn1 [&pc, SUBTOTAL, SUBTOTAL]. + | ^~~~~~~~ + +ctables.sps:7.47-7.54: error: CTABLES: This category specification may be +applied only to string variables, but this subcommand tries to apply it to +numeric variable QN1. + 7 | CTABLES /TABLE qn1 /CATEGORIES VARIABLES=qn1 ['string']. + | ^~~~~~~~ + +ctables.sps:8.53: error: CTABLES: This category specification may be applied +only to numeric variables, but this subcommand tries to apply it to string +variable string. + 8 | CTABLES /TABLE string /CATEGORIES VARIABLES=string [1]. + | ^ + +ctables.sps:10: error: CTABLES: ROWLABELS=OPPOSITE is not allowed with sorting +based on a summary function. + +ctables.sps:12: error: CTABLES: ROWLABELS=OPPOSITE requires the variables to be +moved to be categorical, but qnd1 is a scale variable. + +ctables.sps:13: error: CTABLES: ROWLABELS=OPPOSITE requires the variables to be +moved to have the same width, but QN1 has width 0 and string has width 8. + +ctables.sps:14: error: CTABLES: ROWLABELS=OPPOSITE requires the variables to be +moved to have the same value labels, but QN1 and QNSA1 have different value +labels. + +ctables.sps:15: error: CTABLES: ROWLABELS=OPPOSITE requires the variables to be +moved to have the same category specifications, but QN105BA and QN105BB have +different category specifications. + +ctables.sps:17.27-17.33: warning: CTABLES: The exponentiation operator (`**') is +left-associative: `a**b**c' equals `(a**b)**c', not `a**(b**c)'. To disable +this warning, insert parentheses. + 17 | CTABLES /PCOMPUTE &x=EXPR(1**2**3). + | ^~~~~~~ + +ctables.sps:17.35: error: CTABLES: Syntax error at end of command: expecting +`/'. + +ctables.sps:18.28-18.29: error: CTABLES: Syntax error at `**'. + +ctables.sps:19.27-19.28: error: CTABLES: Syntax error at `**'. + +ctables.sps:21.15: error: CTABLES: Syntax error at end of command: At least one +variable must be specified. + +ctables.sps:23: error: CTABLES: Summaries may appear only on one axis. + +ctables.sps:23.50-23.54: note: CTABLES: This variable on the layers axis has a +summary. + 23 | CTABLES /TABLE qn113 [COUNT] BY qn114 [COUNT] BY qn116 [COUNT]. + | ^~~~~ + +ctables.sps:23.16-23.20: note: CTABLES: This variable on the rows axis has a +summary. + 23 | CTABLES /TABLE qn113 [COUNT] BY qn114 [COUNT] BY qn116 [COUNT]. + | ^~~~~ + +ctables.sps:23.33-23.37: note: CTABLES: This variable on the columns axis has a +summary. + 23 | CTABLES /TABLE qn113 [COUNT] BY qn114 [COUNT] BY qn116 [COUNT]. + | ^~~~~ + +ctables.sps:23.33-23.37: note: CTABLES: This is a scale variable, so it always +has a summary even if the syntax does not explicitly specify one. + 23 | CTABLES /TABLE qn113 [COUNT] BY qn114 [COUNT] BY qn116 [COUNT]. + | ^~~~~ +]]) +AT_CLEANUP + +AT_SETUP([CTABLES one categorical variable]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /TABLE qn1. +CTABLES /TABLE BY qn1. +CTABLES /TABLE BY BY qn1. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +╭────────────────────────────────────────────────────────────────────────┬─────╮ +│ │Count│ +├────────────────────────────────────────────────────────────────────────┼─────┤ +│ 1. How often do you usually drive a car or other Every day │ 4667│ +│motor vehicle? Several days a week │ 1274│ +│ Once a week or less │ 361│ +│ Only certain times a │ 130│ +│ year │ │ +│ Never │ 540│ +╰────────────────────────────────────────────────────────────────────────┴─────╯ + + Custom Tables +╭──────────────────────────────────────────────────────────────────────────────╮ +│ 1. How often do you usually drive a car or other motor vehicle? │ +├─────────┬──────────────────┬──────────────────┬────────────────────────┬─────┤ +│ │ Several days a │ Once a week or │ Only certain times a │ │ +│Every day│ week │ less │ year │Never│ +├─────────┼──────────────────┼──────────────────┼────────────────────────┼─────┤ +│ Count │ Count │ Count │ Count │Count│ +├─────────┼──────────────────┼──────────────────┼────────────────────────┼─────┤ +│ 4667│ 1274│ 361│ 130│ 540│ +╰─────────┴──────────────────┴──────────────────┴────────────────────────┴─────╯ + +Custom Tables +Every day +╭─────╮ +│Count│ +├─────┤ +│ 4667│ +╰─────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES one string variable]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +STRING licensed(A8). +MISSING VALUES licensed('DontKnow', 'Refused'). +RECODE qnd7a(1='Yes')(2='No')(3='DontKnow')(4='Refused') INTO licensed. +CTABLES /TABLE licensed. +CTABLES /TABLE licensed [COUNT, TOTALS[COUNT, VALIDN]] /CATEGORIES VARIABLES=ALL TOTAL=YES MISSING=INCLUDE. +CTABLES /TABLE licensed /CATEGORIES VARIABLES=licensed ['Yes', 'No'] TOTAL=YES. +* Notice that the string matching is case-sensitive. +CTABLES /TABLE licensed /CATEGORIES VARIABLES=licensed ['Yes', 'no'] TOTAL=YES. +CTABLES /TABLE licensed /CATEGORIES VARIABLES=licensed ['No' THRU 'yes'] TOTAL=YES. +CTABLES + /PCOMPUTE ¬yes=EXPR(['No']+['DontKnow']+['Refused']) + /PPROPERTIES ¬yes LABEL='Not Yes' HIDESOURCECATS=YES + /TABLE licensed + /CATEGORIES VARIABLES=licensed ['Yes', ¬yes, 'No', 'DontKnow', 'Refused']. +CTABLES + /PCOMPUTE ¬yes=EXPR(['DontKnow' THRU 'No'] + ['Refused']) + /PPROPERTIES ¬yes LABEL='Not Yes' HIDESOURCECATS=YES + /TABLE licensed + /CATEGORIES VARIABLES=licensed ['Yes', ¬yes, 'DontKnow' THRU 'No', 'Refused']. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +╭────────────┬─────╮ +│ │Count│ +├────────────┼─────┤ +│licensed No │ 572│ +│ Yes│ 6379│ +╰────────────┴─────╯ + + Custom Tables +╭─────────────────┬─────┬───────╮ +│ │Count│Valid N│ +├─────────────────┼─────┼───────┤ +│licensed DontKnow│ 4│ │ +│ No │ 572│ │ +│ Refused │ 44│ │ +│ Yes │ 6379│ │ +│ Total │ 6999│ 6951│ +╰─────────────────┴─────┴───────╯ + + Custom Tables +╭──────────────┬─────╮ +│ │Count│ +├──────────────┼─────┤ +│licensed Yes │ 6379│ +│ No │ 572│ +│ Total│ 6951│ +╰──────────────┴─────╯ + + Custom Tables +╭──────────────┬─────╮ +│ │Count│ +├──────────────┼─────┤ +│licensed Yes │ 6379│ +│ no │ 0│ +│ Total│ 6379│ +╰──────────────┴─────╯ + + Custom Tables +╭────────────────┬─────╮ +│ │Count│ +├────────────────┼─────┤ +│licensed No │ 572│ +│ Refused│ 44│ +│ Yes │ 6379│ +│ Total │ 6995│ +╰────────────────┴─────╯ + + Custom Tables +╭────────────────┬─────╮ +│ │Count│ +├────────────────┼─────┤ +│licensed Yes │ 6379│ +│ Not Yes│ 620│ +╰────────────────┴─────╯ + + Custom Tables +╭────────────────┬─────╮ +│ │Count│ +├────────────────┼─────┤ +│licensed Yes │ 6379│ +│ Not Yes│ 620│ +╰────────────────┴─────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES one scale variable]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /TABLE qnd1[COUNT, VALIDN, TOTALN, MEAN, STDDEV, MINIMUM, MAXIMUM]. +CTABLES /TABLE BY qnd1. +CTABLES /TABLE BY BY qnd1. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +╭──────────────────────┬─────┬───────┬───────┬────┬────────────┬───────┬───────╮ +│ │ │ │ │ │ Std │ │ │ +│ │Count│Valid N│Total N│Mean│ Deviation │Minimum│Maximum│ +├──────────────────────┼─────┼───────┼───────┼────┼────────────┼───────┼───────┤ +│D1. AGE: What is your │ 6999│ 6930│ 6999│ 48│ 19│ 16│ 86│ +│age? │ │ │ │ │ │ │ │ +╰──────────────────────┴─────┴───────┴───────┴────┴────────────┴───────┴───────╯ + + Custom Tables +╭──────────────────────────╮ +│D1. AGE: What is your age?│ +├──────────────────────────┤ +│ Mean │ +├──────────────────────────┤ +│ 48│ +╰──────────────────────────╯ + +Custom Tables +D1. AGE: What is your age? +╭────╮ +│Mean│ +├────┤ +│ 48│ +╰────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES simple stacking]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /TABLE qn105ba + qn105bb + qn105bc + qn105bd BY qns3a [COLPCT PCT8.0]. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +╭───────────────────────────────────────────────────────────────┬──────────────╮ +│ │ S3a. GENDER: │ +│ ├──────┬───────┤ +│ │ Male │ Female│ +│ ├──────┼───────┤ +│ │Column│ Column│ +│ │ % │ % │ +├───────────────────────────────────────────────────────────────┼──────┼───────┤ +│105b. How likely is it that drivers who have had Almost │ 10%│ 11%│ +│too much to drink to drive safely will A. Get certain │ │ │ +│stopped by the police? Very likely │ 21%│ 22%│ +│ Somewhat │ 38%│ 42%│ +│ likely │ │ │ +│ Somewhat │ 21%│ 18%│ +│ unlikely │ │ │ +│ Very │ 10%│ 8%│ +│ unlikely │ │ │ +├───────────────────────────────────────────────────────────────┼──────┼───────┤ +│105b. How likely is it that drivers who have had Almost │ 14%│ 18%│ +│too much to drink to drive safely will B. Have an certain │ │ │ +│accident? Very likely │ 36%│ 45%│ +│ Somewhat │ 39%│ 32%│ +│ likely │ │ │ +│ Somewhat │ 9%│ 4%│ +│ unlikely │ │ │ +│ Very │ 3%│ 2%│ +│ unlikely │ │ │ +├───────────────────────────────────────────────────────────────┼──────┼───────┤ +│105b. How likely is it that drivers who have had Almost │ 18%│ 16%│ +│too much to drink to drive safely will C. Be certain │ │ │ +│convicted for drunk driving? Very likely │ 32%│ 28%│ +│ Somewhat │ 27%│ 32%│ +│ likely │ │ │ +│ Somewhat │ 15%│ 15%│ +│ unlikely │ │ │ +│ Very │ 9%│ 9%│ +│ unlikely │ │ │ +├───────────────────────────────────────────────────────────────┼──────┼───────┤ +│105b. How likely is it that drivers who have had Almost │ 16%│ 16%│ +│too much to drink to drive safely will D. Be certain │ │ │ +│arrested for drunk driving? Very likely │ 26%│ 27%│ +│ Somewhat │ 32%│ 35%│ +│ likely │ │ │ +│ Somewhat │ 17%│ 15%│ +│ unlikely │ │ │ +│ Very │ 9%│ 7%│ +│ unlikely │ │ │ +╰───────────────────────────────────────────────────────────────┴──────┴───────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES show or hide empty categories]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +IF (qn105ba = 2) qn105ba = 1. +IF (qns3a = 1) qns3a = 2. +CTABLES /TABLE qn105ba BY qns3a [COLPCT PCT8.0]. +CTABLES /TABLE qn105ba BY qns3a [COLPCT PCT8.0] + /CATEGORIES VAR=qn105ba EMPTY=EXCLUDE. +CTABLES /TABLE qn105ba BY qns3a [COLPCT PCT8.0] + /CATEGORIES VAR=qns3a EMPTY=EXCLUDE. +CTABLES /TABLE qn105ba BY qns3a [COLPCT PCT8.0] + /CATEGORIES VAR=ALL EMPTY=EXCLUDE. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +╭──────────────────────────────────────────────────────────────┬───────────────╮ +│ │ S3a. GENDER: │ +│ ├───────┬───────┤ +│ │ Male │ Female│ +│ ├───────┼───────┤ +│ │ Column│ Column│ +│ │ % │ % │ +├──────────────────────────────────────────────────────────────┼───────┼───────┤ +│105b. How likely is it that drivers who have had Almost │ .│ 32%│ +│too much to drink to drive safely will A. Get certain │ │ │ +│stopped by the police? Very likely│ .│ 0%│ +│ Somewhat │ .│ 40%│ +│ likely │ │ │ +│ Somewhat │ .│ 19%│ +│ unlikely │ │ │ +│ Very │ .│ 9%│ +│ unlikely │ │ │ +╰──────────────────────────────────────────────────────────────┴───────┴───────╯ + + Custom Tables +╭──────────────────────────────────────────────────────────────┬───────────────╮ +│ │ S3a. GENDER: │ +│ ├───────┬───────┤ +│ │ Male │ Female│ +│ ├───────┼───────┤ +│ │ Column│ Column│ +│ │ % │ % │ +├──────────────────────────────────────────────────────────────┼───────┼───────┤ +│105b. How likely is it that drivers who have had Almost │ .│ 32%│ +│too much to drink to drive safely will A. Get certain │ │ │ +│stopped by the police? Somewhat │ .│ 40%│ +│ likely │ │ │ +│ Somewhat │ .│ 19%│ +│ unlikely │ │ │ +│ Very │ .│ 9%│ +│ unlikely │ │ │ +╰──────────────────────────────────────────────────────────────┴───────┴───────╯ + + Custom Tables +╭────────────────────────────────────────────────────────────────────┬─────────╮ +│ │ S3a. │ +│ │ GENDER: │ +│ ├─────────┤ +│ │ Female │ +│ ├─────────┤ +│ │ Column %│ +├────────────────────────────────────────────────────────────────────┼─────────┤ +│105b. How likely is it that drivers who have had too Almost │ 32%│ +│much to drink to drive safely will A. Get stopped by certain │ │ +│the police? Very likely │ 0%│ +│ Somewhat │ 40%│ +│ likely │ │ +│ Somewhat │ 19%│ +│ unlikely │ │ +│ Very │ 9%│ +│ unlikely │ │ +╰────────────────────────────────────────────────────────────────────┴─────────╯ + + Custom Tables +╭────────────────────────────────────────────────────────────────────┬─────────╮ +│ │ S3a. │ +│ │ GENDER: │ +│ ├─────────┤ +│ │ Female │ +│ ├─────────┤ +│ │ Column %│ +├────────────────────────────────────────────────────────────────────┼─────────┤ +│105b. How likely is it that drivers who have had too Almost │ 32%│ +│much to drink to drive safely will A. Get stopped by certain │ │ +│the police? Somewhat │ 40%│ +│ likely │ │ +│ Somewhat │ 19%│ +│ unlikely │ │ +│ Very │ 9%│ +│ unlikely │ │ +╰────────────────────────────────────────────────────────────────────┴─────────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES sorting categories]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +IF (QND5A=6) QND5A=-1. +IF (QND5A=5) QND5A=-2. +CTABLES /TABLE qnd5a /CATEGORIES VARIABLES=qnd5a KEY=VALUE ORDER=A + /TABLE qnd5a /CATEGORIES VARIABLES=qnd5a KEY=VALUE ORDER=D + /TABLE qnd5a /CATEGORIES VARIABLES=qnd5a KEY=LABEL ORDER=A + /TABLE qnd5a /CATEGORIES VARIABLES=qnd5a KEY=LABEL ORDER=D. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +╭────────────────────────────────────────────────────────────────────────┬─────╮ +│ │Count│ +├────────────────────────────────────────────────────────────────────────┼─────┤ +│D5a. What would you say is your primary ethnic -2.00 │ 52│ +│background? -1.00 │ 78│ +│ Cuban │ 20│ +│ Mexican │ 311│ +│ Spanish │ 48│ +│ South American │ 34│ +│ Central American │ 0│ +│ Puerto Rican, OR │ 0│ +│ Something else │ 68│ +│ Multiple - cannot choose│ 7│ +│ one │ │ +╰────────────────────────────────────────────────────────────────────────┴─────╯ + + Custom Tables +╭────────────────────────────────────────────────────────────────────────┬─────╮ +│ │Count│ +├────────────────────────────────────────────────────────────────────────┼─────┤ +│D5a. What would you say is your primary ethnic Multiple - cannot choose│ 7│ +│background? one │ │ +│ Something else │ 68│ +│ Puerto Rican, OR │ 0│ +│ Central American │ 0│ +│ South American │ 34│ +│ Spanish │ 48│ +│ Mexican │ 311│ +│ Cuban │ 20│ +│ -1.00 │ 78│ +│ -2.00 │ 52│ +╰────────────────────────────────────────────────────────────────────────┴─────╯ + + Custom Tables +╭────────────────────────────────────────────────────────────────────────┬─────╮ +│ │Count│ +├────────────────────────────────────────────────────────────────────────┼─────┤ +│D5a. What would you say is your primary ethnic Central American │ 0│ +│background? Cuban │ 20│ +│ Mexican │ 311│ +│ Multiple - cannot choose│ 7│ +│ one │ │ +│ Puerto Rican, OR │ 0│ +│ Something else │ 68│ +│ South American │ 34│ +│ Spanish │ 48│ +│ -2.00 │ 52│ +│ -1.00 │ 78│ +╰────────────────────────────────────────────────────────────────────────┴─────╯ + + Custom Tables +╭────────────────────────────────────────────────────────────────────────┬─────╮ +│ │Count│ +├────────────────────────────────────────────────────────────────────────┼─────┤ +│D5a. What would you say is your primary ethnic Spanish │ 48│ +│background? South American │ 34│ +│ Something else │ 68│ +│ Puerto Rican, OR │ 0│ +│ Multiple - cannot choose│ 7│ +│ one │ │ +│ Mexican │ 311│ +│ Cuban │ 20│ +│ Central American │ 0│ +│ -1.00 │ 78│ +│ -2.00 │ 52│ +╰────────────────────────────────────────────────────────────────────────┴─────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES simple nesting]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /TABLE (qn105ba + qn105bb + qn105bc + qn105bd) > qns3a [COUNT, TABLEPCT PCT8.0] + /CATEGORIES VARIABLES=qns3a TOTAL=YES. +CTABLES /TABLE qns3a > (qn105ba + qn105bb + qn105bc + qn105bd) [TABLEPCT PCT8.0] + /CATEGORIES VARIABLES=qns3a TOTAL=YES + /CLABELS ROW=OPPOSITE. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +╭─────────────────────────────────────────────────────────────────┬─────┬──────╮ +│ │ │ Table│ +│ │Count│ % │ +├─────────────────────────────────────────────────────────────────┼─────┼──────┤ +│105b. How likely is it that drivers Almost S3a. Male │ 297│ 4%│ +│who have had too much to drink to certain GENDER: Female│ 403│ 6%│ +│drive safely will A. Get stopped by Total │ 700│ 10%│ +│the police? ╶──────────────────────────┼─────┼──────┤ +│ Very S3a. Male │ 660│ 10%│ +│ likely GENDER: Female│ 842│ 12%│ +│ Total │ 1502│ 22%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Somewhat S3a. Male │ 1174│ 17%│ +│ likely GENDER: Female│ 1589│ 23%│ +│ Total │ 2763│ 40%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Somewhat S3a. Male │ 640│ 9%│ +│ unlikely GENDER: Female│ 667│ 10%│ +│ Total │ 1307│ 19%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Very S3a. Male │ 311│ 5%│ +│ unlikely GENDER: Female│ 298│ 4%│ +│ Total │ 609│ 9%│ +├─────────────────────────────────────────────────────────────────┼─────┼──────┤ +│105b. How likely is it that drivers Almost S3a. Male │ 429│ 6%│ +│who have had too much to drink to certain GENDER: Female│ 671│ 10%│ +│drive safely will B. Have an accident? Total │ 1100│ 16%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Very S3a. Male │ 1104│ 16%│ +│ likely GENDER: Female│ 1715│ 25%│ +│ Total │ 2819│ 41%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Somewhat S3a. Male │ 1203│ 17%│ +│ likely GENDER: Female│ 1214│ 18%│ +│ Total │ 2417│ 35%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Somewhat S3a. Male │ 262│ 4%│ +│ unlikely GENDER: Female│ 168│ 2%│ +│ Total │ 430│ 6%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Very S3a. Male │ 81│ 1%│ +│ unlikely GENDER: Female│ 59│ 1%│ +│ Total │ 140│ 2%│ +├─────────────────────────────────────────────────────────────────┼─────┼──────┤ +│105b. How likely is it that drivers Almost S3a. Male │ 539│ 8%│ +│who have had too much to drink to certain GENDER: Female│ 610│ 9%│ +│drive safely will C. Be convicted for Total │ 1149│ 17%│ +│drunk driving? ╶──────────────────────────┼─────┼──────┤ +│ Very S3a. Male │ 988│ 14%│ +│ likely GENDER: Female│ 1049│ 15%│ +│ Total │ 2037│ 30%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Somewhat S3a. Male │ 822│ 12%│ +│ likely GENDER: Female│ 1210│ 18%│ +│ Total │ 2032│ 30%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Somewhat S3a. Male │ 446│ 7%│ +│ unlikely GENDER: Female│ 548│ 8%│ +│ Total │ 994│ 15%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Very S3a. Male │ 268│ 4%│ +│ unlikely GENDER: Female│ 354│ 5%│ +│ Total │ 622│ 9%│ +├─────────────────────────────────────────────────────────────────┼─────┼──────┤ +│105b. How likely is it that drivers Almost S3a. Male │ 498│ 7%│ +│who have had too much to drink to certain GENDER: Female│ 603│ 9%│ +│drive safely will D. Be arrested for Total │ 1101│ 16%│ +│drunk driving? ╶──────────────────────────┼─────┼──────┤ +│ Very S3a. Male │ 805│ 12%│ +│ likely GENDER: Female│ 1029│ 15%│ +│ Total │ 1834│ 27%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Somewhat S3a. Male │ 975│ 14%│ +│ likely GENDER: Female│ 1332│ 19%│ +│ Total │ 2307│ 34%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Somewhat S3a. Male │ 535│ 8%│ +│ unlikely GENDER: Female│ 560│ 8%│ +│ Total │ 1095│ 16%│ +│ ╶──────────────────────────┼─────┼──────┤ +│ Very S3a. Male │ 270│ 4%│ +│ unlikely GENDER: Female│ 279│ 4%│ +│ Total │ 549│ 8%│ +╰─────────────────────────────────────────────────────────────────┴─────┴──────╯ + + Custom Tables +╭─────────────────────────────────┬────────┬──────┬─────────┬─────────┬────────╮ +│ │ Almost │ Very │ Somewhat│ Somewhat│ Very │ +│ │ certain│likely│ likely │ unlikely│unlikely│ +│ ├────────┼──────┼─────────┼─────────┼────────┤ +│ │ │ Table│ │ │ │ +│ │ Table %│ % │ Table % │ Table % │ Table %│ +├─────────────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│S3a. Male 105b. How likely │ 4%│ 10%│ 17%│ 9%│ 5%│ +│GENDER: is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ A. Get stopped by │ │ │ │ │ │ +│ the police? │ │ │ │ │ │ +│ ╶─────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│ Female 105b. How likely │ 6%│ 12%│ 23%│ 10%│ 4%│ +│ is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ A. Get stopped by │ │ │ │ │ │ +│ the police? │ │ │ │ │ │ +│ ╶─────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│ Total 105b. How likely │ 10%│ 22%│ 40%│ 19%│ 9%│ +│ is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ A. Get stopped by │ │ │ │ │ │ +│ the police? │ │ │ │ │ │ +├─────────────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│S3a. Male 105b. How likely │ 6%│ 16%│ 17%│ 4%│ 1%│ +│GENDER: is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ B. Have an │ │ │ │ │ │ +│ accident? │ │ │ │ │ │ +│ ╶─────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│ Female 105b. How likely │ 10%│ 25%│ 18%│ 2%│ 1%│ +│ is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ B. Have an │ │ │ │ │ │ +│ accident? │ │ │ │ │ │ +│ ╶─────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│ Total 105b. How likely │ 16%│ 41%│ 35%│ 6%│ 2%│ +│ is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ B. Have an │ │ │ │ │ │ +│ accident? │ │ │ │ │ │ +├─────────────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│S3a. Male 105b. How likely │ 8%│ 14%│ 12%│ 7%│ 4%│ +│GENDER: is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ C. Be convicted │ │ │ │ │ │ +│ for drunk driving?│ │ │ │ │ │ +│ ╶─────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│ Female 105b. How likely │ 9%│ 15%│ 18%│ 8%│ 5%│ +│ is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ C. Be convicted │ │ │ │ │ │ +│ for drunk driving?│ │ │ │ │ │ +│ ╶─────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│ Total 105b. How likely │ 17%│ 30%│ 30%│ 15%│ 9%│ +│ is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ C. Be convicted │ │ │ │ │ │ +│ for drunk driving?│ │ │ │ │ │ +├─────────────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│S3a. Male 105b. How likely │ 7%│ 12%│ 14%│ 8%│ 4%│ +│GENDER: is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ D. Be arrested for│ │ │ │ │ │ +│ drunk driving? │ │ │ │ │ │ +│ ╶─────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│ Female 105b. How likely │ 9%│ 15%│ 19%│ 8%│ 4%│ +│ is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ D. Be arrested for│ │ │ │ │ │ +│ drunk driving? │ │ │ │ │ │ +│ ╶─────────────────────────┼────────┼──────┼─────────┼─────────┼────────┤ +│ Total 105b. How likely │ 16%│ 27%│ 34%│ 16%│ 8%│ +│ is it that drivers│ │ │ │ │ │ +│ who have had too │ │ │ │ │ │ +│ much to drink to │ │ │ │ │ │ +│ drive safely will │ │ │ │ │ │ +│ D. Be arrested for│ │ │ │ │ │ +│ drunk driving? │ │ │ │ │ │ +╰─────────────────────────────────┴────────┴──────┴─────────┴─────────┴────────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES nesting and scale variables]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /TABLE=qnd1 > qn1 BY qns3a. +CTABLES /TABLE=qnd1 [MINIMUM, MAXIMUM, MEAN] > qns3a > (qn26 + qn27). +CTABLES /TABLE=qnsa1 > qn105ba [COLPCT] BY qns1 + /CATEGORIES VAR=qnsa1 EMPTY=EXCLUDE. +CTABLES /TABLE=AgeGroup > qn20 [MEAN F8.1, STDDEV F8.1]. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +╭─────────────────────────────────────────────────────────────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │ Mean│ Mean │ +├─────────────────────────────────────────────────────────────────┼─────┼──────┤ +│D1. AGE: What 1. How often do you usually drive Every day │ 46│ 46│ +│is your age? a car or other motor vehicle? Several days a │ 51│ 59│ +│ week │ │ │ +│ Once a week or │ 44│ 54│ +│ less │ │ │ +│ Only certain │ 34│ 41│ +│ times a year │ │ │ +│ Never │ 39│ 55│ +╰─────────────────────────────────────────────────────────────────┴─────┴──────╯ + + Custom Tables +╭─────────────────────────────────────────────────────────┬───────┬───────┬────╮ +│ │Minimum│Maximum│Mean│ +├─────────────────────────────────────────────────────────┼───────┼───────┼────┤ +│D1. AGE: S3a. Male 26. During the last 12 Yes│ 16│ 86│ 42│ +│What is GENDER: months, has there been a │ │ │ │ +│your time when you felt you │ │ │ │ +│age? should cut down on your No │ 16│ 86│ 46│ +│ drinking? │ │ │ │ +│ ╶───────────────────────────────────────┼───────┼───────┼────┤ +│ Female 26. During the last 12 Yes│ 16│ 86│ 43│ +│ months, has there been a │ │ │ │ +│ time when you felt you │ │ │ │ +│ should cut down on your No │ 16│ 86│ 48│ +│ drinking? │ │ │ │ +├─────────────────────────────────────────────────────────┼───────┼───────┼────┤ +│D1. AGE: S3a. Male 27. During the last 12 Yes│ 16│ 86│ 38│ +│What is GENDER: months, has there been a │ │ │ │ +│your time when people criticized No │ 16│ 86│ 46│ +│age? your drinking? │ │ │ │ +│ ╶───────────────────────────────────────┼───────┼───────┼────┤ +│ Female 27. During the last 12 Yes│ 17│ 69│ 37│ +│ months, has there been a │ │ │ │ +│ time when people criticized No │ 16│ 86│ 48│ +│ your drinking? │ │ │ │ +╰─────────────────────────────────────────────────────────┴───────┴───────┴────╯ + + Custom Tables +╭─────────────────────────────┬────────────────────────────────────────────────╮ +│ │S1. Including yourself, how many members of this│ +│ │ household are age 16 or older? │ +│ ├──────┬──────┬──────┬──────┬──────┬──────┬──────┤ +│ │ │ │ │ │ │ │ 6 or │ +│ │ None │ 1 │ 2 │ 3 │ 4 │ 5 │ more │ +│ ├──────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│ │Column│Column│Column│Column│Column│Column│Column│ +│ │ % │ % │ % │ % │ % │ % │ % │ +├─────────────────────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│Sa1. RDD 105b. Almost │ .│ 9.5%│ 8.2%│ 12.4%│ 9.9%│ 20.0%│ 23.8%│ +│SAMPLE How certain │ │ │ │ │ │ │ │ +│SOURCE: likely │ │ │ │ │ │ │ │ +│ is it Very │ .│ 24.9%│ 18.5%│ 24.0%│ 26.6%│ 25.5%│ 33.3%│ +│ that likely │ │ │ │ │ │ │ │ +│ drivers │ │ │ │ │ │ │ │ +│ who have │ │ │ │ │ │ │ │ +│ had too Somewhat│ .│ 38.3%│ 41.9%│ 38.6%│ 37.5%│ 36.4%│ 23.8%│ +│ much to likely │ │ │ │ │ │ │ │ +│ drink to │ │ │ │ │ │ │ │ +│ drive │ │ │ │ │ │ │ │ +│ safely Somewhat│ .│ 18.1%│ 21.7%│ 16.8%│ 16.7%│ 10.9%│ 9.5%│ +│ will A. unlikely│ │ │ │ │ │ │ │ +│ Get │ │ │ │ │ │ │ │ +│ stopped Very │ .│ 9.2%│ 9.7%│ 8.2%│ 9.4%│ 7.3%│ 9.5%│ +│ by the unlikely│ │ │ │ │ │ │ │ +│ police? │ │ │ │ │ │ │ │ +╰─────────────────────────────┴──────┴──────┴──────┴──────┴──────┴──────┴──────╯ + + Custom Tables +╭──────────────────────────────────────────────────────────────┬────┬──────────╮ +│ │ │ Std │ +│ │Mean│ Deviation│ +├──────────────────────────────────────────────────────────────┼────┼──────────┤ +│Age 16 to 25 20. On how many of the thirty days in this │ 5.2│ 6.0│ +│group typical month did you have one or more │ │ │ +│ alcoholic beverages to drink? │ │ │ +│ ╶───────────────────────────────────────────────────────┼────┼──────────┤ +│ 26 to 35 20. On how many of the thirty days in this │ 4.7│ 5.9│ +│ typical month did you have one or more │ │ │ +│ alcoholic beverages to drink? │ │ │ +│ ╶───────────────────────────────────────────────────────┼────┼──────────┤ +│ 36 to 45 20. On how many of the thirty days in this │ 5.5│ 6.8│ +│ typical month did you have one or more │ │ │ +│ alcoholic beverages to drink? │ │ │ +│ ╶───────────────────────────────────────────────────────┼────┼──────────┤ +│ 46 to 55 20. On how many of the thirty days in this │ 5.8│ 7.7│ +│ typical month did you have one or more │ │ │ +│ alcoholic beverages to drink? │ │ │ +│ ╶───────────────────────────────────────────────────────┼────┼──────────┤ +│ 56 to 65 20. On how many of the thirty days in this │ 6.3│ 8.2│ +│ typical month did you have one or more │ │ │ +│ alcoholic beverages to drink? │ │ │ +│ ╶───────────────────────────────────────────────────────┼────┼──────────┤ +│ 66 or 20. On how many of the thirty days in this │ 7.1│ 9.2│ +│ older typical month did you have one or more │ │ │ +│ alcoholic beverages to drink? │ │ │ +╰──────────────────────────────────────────────────────────────┴────┴──────────╯ +]) +AT_CLEANUP + + +AT_SETUP([CTABLES SLABELS]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /TABLE qn1 [COUNT COLPCT]. +CTABLES /TABLE qn1 [COUNT COLPCT] + /SLABELS POSITION=ROW. +CTABLES /TABLE qn1 [COUNT COLPCT] + /SLABELS POSITION=ROW VISIBLE=NO. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +╭────────────────────────────────────────────────────────────────┬─────┬───────╮ +│ │ │ Column│ +│ │Count│ % │ +├────────────────────────────────────────────────────────────────┼─────┼───────┤ +│ 1. How often do you usually drive a car or Every day │ 4667│ 66.9%│ +│other motor vehicle? Several days a week│ 1274│ 18.3%│ +│ Once a week or less│ 361│ 5.2%│ +│ Only certain times │ 130│ 1.9%│ +│ a year │ │ │ +│ Never │ 540│ 7.7%│ +╰────────────────────────────────────────────────────────────────┴─────┴───────╯ + + Custom Tables +╭────────────────────────────────────────────────────────────────────────┬─────╮ +│ 1. How often do you usually drive a car or Every day Count │ 4667│ +│other motor vehicle? Column │66.9%│ +│ % │ │ +│ ╶───────────────────────────┼─────┤ +│ Several days a week Count │ 1274│ +│ Column │18.3%│ +│ % │ │ +│ ╶───────────────────────────┼─────┤ +│ Once a week or less Count │ 361│ +│ Column │ 5.2%│ +│ % │ │ +│ ╶───────────────────────────┼─────┤ +│ Only certain times Count │ 130│ +│ a year Column │ 1.9%│ +│ % │ │ +│ ╶───────────────────────────┼─────┤ +│ Never Count │ 540│ +│ Column │ 7.7%│ +│ % │ │ +╰────────────────────────────────────────────────────────────────────────┴─────╯ + + Custom Tables +╭────────────────────────────────────────────────────────────────────────┬─────╮ +│ 1. How often do you usually drive a car or other Every day │ 4667│ +│motor vehicle? │66.9%│ +│ Several days a week │ 1274│ +│ │18.3%│ +│ Once a week or less │ 361│ +│ │ 5.2%│ +│ Only certain times a │ 130│ +│ year │ 1.9%│ +│ Never │ 540│ +│ │ 7.7%│ +╰────────────────────────────────────────────────────────────────────────┴─────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES simple totals]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /TABLE=qn17 + /CATEGORIES VARIABLES=qn17 TOTAL=YES LABEL='Number responding'. +DESCRIPTIVES qn18/STATISTICS=MEAN. +CTABLES /TABLE=region > qn18 [MEAN, COUNT, VALIDN, TOTALN] + /CATEGORIES VARIABLES=region TOTAL=YES LABEL='All regions'. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl + Custom Tables +╭────────────────────────────────────────────────────────────────────────┬─────╮ +│ │Count│ +├────────────────────────────────────────────────────────────────────────┼─────┤ +│17. When you drink alcoholic beverages, which ONE of OR, something else│ 2│ +│the following beverages do you drink MOST OFTEN? Beer │ 1073│ +│ Light beer │ 620│ +│ Wine │ 1418│ +│ Wine coolers │ 137│ +│ Hard liquor or │ 888│ +│ mixed drinks │ │ +│ Flavored malt │ 83│ +│ drinks │ │ +│ Number responding │ 4221│ +╰────────────────────────────────────────────────────────────────────────┴─────╯ + + Descriptive Statistics +╭────────────────────────────────────────────────────────────────────┬────┬────╮ +│ │ N │Mean│ +├────────────────────────────────────────────────────────────────────┼────┼────┤ +│18. When you drink ANSWERFROM(QN17R1), about how many │4218│4.62│ +│ANSWERFROM(QN17R2) do you usually drink per sitting? │ │ │ +│Valid N (listwise) │6999│ │ +│Missing N (listwise) │2781│ │ +╰────────────────────────────────────────────────────────────────────┴────┴────╯ + + Custom Tables +╭──────────────────────────────────────────────────────┬────┬─────┬──────┬─────╮ +│ │ │ │ Valid│Total│ +│ │Mean│Count│ N │ N │ +├──────────────────────────────────────────────────────┼────┼─────┼──────┼─────┤ +│Region NE 18. When you drink ANSWERFROM(QN17R1),│4.36│ 1409│ 949│ 1409│ +│ about how many ANSWERFROM(QN17R2) do │ │ │ │ │ +│ you usually drink per sitting? │ │ │ │ │ +│ ╶───────────────────────────────────────────────┼────┼─────┼──────┼─────┤ +│ MW 18. When you drink ANSWERFROM(QN17R1),│4.67│ 1654│ 1027│ 1654│ +│ about how many ANSWERFROM(QN17R2) do │ │ │ │ │ +│ you usually drink per sitting? │ │ │ │ │ +│ ╶───────────────────────────────────────────────┼────┼─────┼──────┼─────┤ +│ S 18. When you drink ANSWERFROM(QN17R1),│4.71│ 2390│ 1287│ 2390│ +│ about how many ANSWERFROM(QN17R2) do │ │ │ │ │ +│ you usually drink per sitting? │ │ │ │ │ +│ ╶───────────────────────────────────────────────┼────┼─────┼──────┼─────┤ +│ W 18. When you drink ANSWERFROM(QN17R1),│4.69│ 1546│ 955│ 1546│ +│ about how many ANSWERFROM(QN17R2) do │ │ │ │ │ +│ you usually drink per sitting? │ │ │ │ │ +│ ╶───────────────────────────────────────────────┼────┼─────┼──────┼─────┤ +│ All 18. When you drink ANSWERFROM(QN17R1),│4.62│ 6999│ 4218│ 6999│ +│ regions about how many ANSWERFROM(QN17R2) do │ │ │ │ │ +│ you usually drink per sitting? │ │ │ │ │ +╰──────────────────────────────────────────────────────┴────┴─────┴──────┴─────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES subtotals]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /TABLE=qn105ba BY qns1 + /CATEGORIES VARIABLES=qns1 [1, 2, SUBTOTAL, 3, 4, 5, SUBTOTAL]. +CTABLES /TABLE=qn105ba [COLPCT] BY qns1 + /CATEGORIES VARIABLES=qn105ba [1, 2, 3, SUBTOTAL, 4, 5, SUBTOTAL]. +CTABLES /TABLE=qn105ba BY qns1 + /CATEGORIES VARIABLES=qn105ba [1, 2, 3, SUBTOTAL, 4, 5, SUBTOTAL] + /CATEGORIES VARIABLES=qns1 [1, 2, SUBTOTAL, 3, 4, 5, SUBTOTAL]. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=120], [0], [dnl + Custom Tables +╭─────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────╮ +│ │ S1. Including yourself, how many members of this household │ +│ │ are age 16 or older? │ +│ ├───────┬───────┬─────────┬───────┬────────┬──────┬──────────┤ +│ │ 1 │ 2 │ Subtotal│ 3 │ 4 │ 5 │ Subtotal │ +│ ├───────┼───────┼─────────┼───────┼────────┼──────┼──────────┤ +│ │ Count │ Count │ Count │ Count │ Count │ Count│ Count │ +├─────────────────────────────────────────────────────────┼───────┼───────┼─────────┼───────┼────────┼──────┼──────────┤ +│105b. How likely is it that drivers who have Almost │ 147│ 246│ 393│ 62│ 19│ 11│ 92│ +│had too much to drink to drive safely will A. certain │ │ │ │ │ │ │ │ +│Get stopped by the police? Very likely│ 384│ 552│ 936│ 120│ 51│ 14│ 185│ +│ Somewhat │ 590│ 1249│ 1839│ 193│ 72│ 20│ 285│ +│ likely │ │ │ │ │ │ │ │ +│ Somewhat │ 278│ 647│ 925│ 84│ 32│ 6│ 122│ +│ unlikely │ │ │ │ │ │ │ │ +│ Very │ 141│ 290│ 431│ 41│ 18│ 4│ 63│ +│ unlikely │ │ │ │ │ │ │ │ +╰─────────────────────────────────────────────────────────┴───────┴───────┴─────────┴───────┴────────┴──────┴──────────╯ + + Custom Tables +╭────────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────────╮ +│ │ S1. Including yourself, how many members of this household │ +│ │ are age 16 or older? │ +│ ├────────┬────────┬────────┬────────┬───────┬────────┬────────┤ +│ │ │ │ │ │ │ │ 6 or │ +│ │ None │ 1 │ 2 │ 3 │ 4 │ 5 │ more │ +│ ├────────┼────────┼────────┼────────┼───────┼────────┼────────┤ +│ │ │ │ │ │ Column│ │ │ +│ │Column %│Column %│Column %│Column %│ % │Column %│Column %│ +├────────────────────────────────────────────────────────┼────────┼────────┼────────┼────────┼───────┼────────┼────────┤ +│105b. How likely is it that drivers who have Almost │ .│ 9.5%│ 8.2%│ 12.4%│ 9.9%│ 20.0%│ 23.8%│ +│had too much to drink to drive safely will certain │ │ │ │ │ │ │ │ +│A. Get stopped by the police? Very likely│ .│ 24.9%│ 18.5%│ 24.0%│ 26.6%│ 25.5%│ 33.3%│ +│ Somewhat │ .│ 38.3%│ 41.9%│ 38.6%│ 37.5%│ 36.4%│ 23.8%│ +│ likely │ │ │ │ │ │ │ │ +│ Subtotal │ │ 72.8%│ 68.6%│ 75.0%│ 74.0%│ 81.8%│ 81.0%│ +│ Somewhat │ .│ 18.1%│ 21.7%│ 16.8%│ 16.7%│ 10.9%│ 9.5%│ +│ unlikely │ │ │ │ │ │ │ │ +│ Very │ .│ 9.2%│ 9.7%│ 8.2%│ 9.4%│ 7.3%│ 9.5%│ +│ unlikely │ │ │ │ │ │ │ │ +│ Subtotal │ │ 27.2%│ 31.4%│ 25.0%│ 26.0%│ 18.2%│ 19.0%│ +╰────────────────────────────────────────────────────────┴────────┴────────┴────────┴────────┴───────┴────────┴────────╯ + + Custom Tables +╭─────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────╮ +│ │ S1. Including yourself, how many members of this household │ +│ │ are age 16 or older? │ +│ ├───────┬───────┬─────────┬───────┬────────┬──────┬──────────┤ +│ │ 1 │ 2 │ Subtotal│ 3 │ 4 │ 5 │ Subtotal │ +│ ├───────┼───────┼─────────┼───────┼────────┼──────┼──────────┤ +│ │ Count │ Count │ Count │ Count │ Count │ Count│ Count │ +├─────────────────────────────────────────────────────────┼───────┼───────┼─────────┼───────┼────────┼──────┼──────────┤ +│105b. How likely is it that drivers who have Almost │ 147│ 246│ 393│ 62│ 19│ 11│ 92│ +│had too much to drink to drive safely will A. certain │ │ │ │ │ │ │ │ +│Get stopped by the police? Very likely│ 384│ 552│ 936│ 120│ 51│ 14│ 185│ +│ Somewhat │ 590│ 1249│ 1839│ 193│ 72│ 20│ 285│ +│ likely │ │ │ │ │ │ │ │ +│ Subtotal │ 1121│ 2047│ 3168│ 375│ 142│ 45│ 562│ +│ Somewhat │ 278│ 647│ 925│ 84│ 32│ 6│ 122│ +│ unlikely │ │ │ │ │ │ │ │ +│ Very │ 141│ 290│ 431│ 41│ 18│ 4│ 63│ +│ unlikely │ │ │ │ │ │ │ │ +│ Subtotal │ 419│ 937│ 1356│ 125│ 50│ 10│ 185│ +╰─────────────────────────────────────────────────────────┴───────┴───────┴─────────┴───────┴────────┴──────┴──────────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES PCOMPUTE]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES + /PCOMPUTE &x=EXPR([3] + [4]) + /PCOMPUTE &y=EXPR([4] + [5]) + /PPROPERTIES &x LABEL='3+4' HIDESOURCECATS=YES FORMAT=COUNT F8.2 + /PPROPERTIES &y LABEL='4+5' + /TABLE=qn105ba BY qns1 + /CATEGORIES VARIABLES=qns1 [1, 2, SUBTOTAL, 3, 4, 5, &x, &y, SUBTOTAL] +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=120], [0], [dnl + Custom Tables +╭────────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────────╮ +│ │ S1. Including yourself, how many members of this household │ +│ │ are age 16 or older? │ +│ ├───────┬───────┬──────────┬───────┬────────┬──────┬──────────┤ +│ │ 1 │ 2 │ Subtotal │ 5 │ 3+4 │ 4+5 │ Subtotal │ +│ ├───────┼───────┼──────────┼───────┼────────┼──────┼──────────┤ +│ │ Count │ Count │ Count │ Count │ Count │ Count│ Count │ +├────────────────────────────────────────────────────────┼───────┼───────┼──────────┼───────┼────────┼──────┼──────────┤ +│105b. How likely is it that drivers who have Almost │ 147│ 246│ 393│ 11│ 81.00│ 30│ 92│ +│had too much to drink to drive safely will certain │ │ │ │ │ │ │ │ +│A. Get stopped by the police? Very likely│ 384│ 552│ 936│ 14│ 171.00│ 65│ 185│ +│ Somewhat │ 590│ 1249│ 1839│ 20│ 265.00│ 92│ 285│ +│ likely │ │ │ │ │ │ │ │ +│ Somewhat │ 278│ 647│ 925│ 6│ 116.00│ 38│ 122│ +│ unlikely │ │ │ │ │ │ │ │ +│ Very │ 141│ 290│ 431│ 4│ 59.00│ 22│ 63│ +│ unlikely │ │ │ │ │ │ │ │ +╰────────────────────────────────────────────────────────┴───────┴───────┴──────────┴───────┴────────┴──────┴──────────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES CLABELS]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /TABLE AgeGroup BY qns3a. +CTABLES /TABLE AgeGroup BY qns3a /CLABELS ROWLABELS=OPPOSITE. +CTABLES /TABLE AgeGroup BY qns3a /CLABELS COLLABELS=OPPOSITE. +CTABLES /TABLE AgeGroup BY qns3a /CLABELS ROWLABELS=LAYER. +CTABLES /TABLE AgeGroup BY qns3a /CLABELS COLLABELS=LAYER. +]]) +pwd +AT_CHECK([pspp ctables.sps --table-look="$builddir"/all-layers.stt -O box=unicode -O width=120], [0], [dnl + Custom Tables +╭───────────────────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├───────────────────────┼─────┼──────┤ +│Age group 15 or younger│ 0│ 0│ +│ 16 to 25 │ 594│ 505│ +│ 26 to 35 │ 476│ 491│ +│ 36 to 45 │ 489│ 548│ +│ 46 to 55 │ 526│ 649│ +│ 56 to 65 │ 516│ 731│ +│ 66 or older │ 531│ 943│ +╰───────────────────────┴─────┴──────╯ + + Custom Tables +╭───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ +│ │ S3a. GENDER: │ +│ ├──────────────────────────────────────────────────────┬───────────────────────────────────────────────────────┤ +│ │ Male │ Female │ +│ ├─────────┬───────┬──────┬──────┬──────┬───────┬───────┼──────────┬──────┬───────┬──────┬──────┬──────┬────────┤ +│ │ 15 or │ 16 to │ 26 to│ 36 to│ 46 to│ 56 to │ 66 or │ 15 or │ 16 to│ 26 to │ 36 to│ 46 to│ 56 to│ 66 or │ +│ │ younger │ 25 │ 35 │ 45 │ 55 │ 65 │ older │ younger │ 25 │ 35 │ 45 │ 55 │ 65 │ older │ +│ ├─────────┼───────┼──────┼──────┼──────┼───────┼───────┼──────────┼──────┼───────┼──────┼──────┼──────┼────────┤ +│ │ Count │ Count │ Count│ Count│ Count│ Count │ Count │ Count │ Count│ Count │ Count│ Count│ Count│ Count │ +├───────┼─────────┼───────┼──────┼──────┼──────┼───────┼───────┼──────────┼──────┼───────┼──────┼──────┼──────┼────────┤ +│Age │ 0│ 594│ 476│ 489│ 526│ 516│ 531│ 0│ 505│ 491│ 548│ 649│ 731│ 943│ +│group │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +╰───────┴─────────┴───────┴──────┴──────┴──────┴───────┴───────┴──────────┴──────┴───────┴──────┴──────┴──────┴────────╯ + + Custom Tables +╭──────────────────────────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├────────────┤ +│ │ Count │ +├──────────────────────────────┼────────────┤ +│Age group 15 or younger Male │ 0│ +│ Female│ 0│ +│ ╶────────────────────┼────────────┤ +│ 16 to 25 Male │ 594│ +│ Female│ 505│ +│ ╶────────────────────┼────────────┤ +│ 26 to 35 Male │ 476│ +│ Female│ 491│ +│ ╶────────────────────┼────────────┤ +│ 36 to 45 Male │ 489│ +│ Female│ 548│ +│ ╶────────────────────┼────────────┤ +│ 46 to 55 Male │ 526│ +│ Female│ 649│ +│ ╶────────────────────┼────────────┤ +│ 56 to 65 Male │ 516│ +│ Female│ 731│ +│ ╶────────────────────┼────────────┤ +│ 66 or older Male │ 531│ +│ Female│ 943│ +╰──────────────────────────────┴────────────╯ + + Custom Tables +15 or younger +╭─────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├─────────┼─────┼──────┤ +│Age group│ 0│ 0│ +╰─────────┴─────┴──────╯ + + Custom Tables +16 to 25 +╭─────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├─────────┼─────┼──────┤ +│Age group│ 594│ 505│ +╰─────────┴─────┴──────╯ + + Custom Tables +26 to 35 +╭─────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├─────────┼─────┼──────┤ +│Age group│ 476│ 491│ +╰─────────┴─────┴──────╯ + + Custom Tables +36 to 45 +╭─────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├─────────┼─────┼──────┤ +│Age group│ 489│ 548│ +╰─────────┴─────┴──────╯ + + Custom Tables +46 to 55 +╭─────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├─────────┼─────┼──────┤ +│Age group│ 526│ 649│ +╰─────────┴─────┴──────╯ + + Custom Tables +56 to 65 +╭─────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├─────────┼─────┼──────┤ +│Age group│ 516│ 731│ +╰─────────┴─────┴──────╯ + + Custom Tables +66 or older +╭─────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├─────────┼─────┼──────┤ +│Age group│ 531│ 943│ +╰─────────┴─────┴──────╯ + + Custom Tables +Male +╭───────────────────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├────────────┤ +│ │ Count │ +├───────────────────────┼────────────┤ +│Age group 15 or younger│ 0│ +│ 16 to 25 │ 594│ +│ 26 to 35 │ 476│ +│ 36 to 45 │ 489│ +│ 46 to 55 │ 526│ +│ 56 to 65 │ 516│ +│ 66 or older │ 531│ +╰───────────────────────┴────────────╯ + + Custom Tables +Female +╭───────────────────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├────────────┤ +│ │ Count │ +├───────────────────────┼────────────┤ +│Age group 15 or younger│ 0│ +│ 16 to 25 │ 505│ +│ 26 to 35 │ 491│ +│ 36 to 45 │ 548│ +│ 46 to 55 │ 649│ +│ 56 to 65 │ 731│ +│ 66 or older │ 943│ +╰───────────────────────┴────────────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES missing values]) +AT_DATA([ctables.sps], +[[DATA LIST LIST NOTABLE/x y. +BEGIN DATA. +1 1 +1 2 +1 3 +1 4 +1 5 +1 . +2 1 +2 2 +2 3 +2 4 +2 5 +2 . +3 1 +3 2 +3 3 +3 4 +3 5 +3 . +4 1 +4 2 +4 3 +4 4 +4 5 +4 . +5 1 +5 2 +5 3 +5 4 +5 5 +5 . +. 1 +. 2 +. 3 +. 4 +. 5 +. . +END DATA. +MISSING VALUES x (1, 2) y (2, 3). +VARIABLE LEVEL ALL (NOMINAL). + +CTABLES /TABLE x[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, + TOTALS[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, VALIDN, TOTALN]] + /CATEGORIES VARIABLES=ALL TOTAL=YES. +CTABLES /TABLE x[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, + TOTALS[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, VALIDN, TOTALN]] + /CATEGORIES VARIABLES=ALL TOTAL=YES MISSING=INCLUDE. +CTABLES /TABLE x BY y[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, ROWPCT, ROWPCT.VALIDN, ROWPCT.TOTALN, + TOTALS[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, ROWPCT, ROWPCT.VALIDN, ROWPCT.TOTALN, VALIDN, TOTALN]] + /CATEGORIES VARIABLES=ALL TOTAL=YES + /SLABELS POSITION=ROW. +CTABLES /TABLE x BY y[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, ROWPCT, ROWPCT.VALIDN, ROWPCT.TOTALN, + TOTALS[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, ROWPCT, ROWPCT.VALIDN, ROWPCT.TOTALN, VALIDN, TOTALN]] + /CATEGORIES VARIABLES=ALL TOTAL=YES MISSING=INCLUDE + /SLABELS POSITION=ROW. +CTABLES /TABLE x BY y[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, ROWPCT, ROWPCT.VALIDN, ROWPCT.TOTALN, + TOTALS[COUNT, COLPCT, COLPCT.VALIDN, COLPCT.TOTALN, ROWPCT, ROWPCT.VALIDN, ROWPCT.TOTALN, VALIDN, TOTALN]] + /CATEGORIES VARIABLES=x [1, 2, 3, 4] TOTAL=YES + /CATEGORIES VARIABLES=y [1, 3, 4, 5] TOTAL=YES + /SLABELS POSITION=ROW. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=120], [0], [dnl + Custom Tables +╭───────┬─────┬────────┬────────────────┬────────────────┬───────┬───────╮ +│ │Count│Column %│Column Valid N %│Column Total N %│Valid N│Total N│ +├───────┼─────┼────────┼────────────────┼────────────────┼───────┼───────┤ +│x 3.00 │ 6│ 33.3%│ 33.3%│ 16.7%│ │ │ +│ 4.00 │ 6│ 33.3%│ 33.3%│ 16.7%│ │ │ +│ 5.00 │ 6│ 33.3%│ 33.3%│ 16.7%│ │ │ +│ Total│ 18│ 100.0%│ 100.0%│ 100.0%│ 18│ 36│ +╰───────┴─────┴────────┴────────────────┴────────────────┴───────┴───────╯ +dnl Note that Column Total N % doesn't add up to 100 because missing +dnl values are included in the total but not shown as a category and this +dnl is expected behavior. + + Custom Tables +╭───────┬─────┬────────┬────────────────┬────────────────┬───────┬───────╮ +│ │Count│Column %│Column Valid N %│Column Total N %│Valid N│Total N│ +├───────┼─────┼────────┼────────────────┼────────────────┼───────┼───────┤ +│x 1.00 │ 6│ 20.0%│ .0%│ 16.7%│ │ │ +│ 2.00 │ 6│ 20.0%│ .0%│ 16.7%│ │ │ +│ 3.00 │ 6│ 20.0%│ 33.3%│ 16.7%│ │ │ +│ 4.00 │ 6│ 20.0%│ 33.3%│ 16.7%│ │ │ +│ 5.00 │ 6│ 20.0%│ 33.3%│ 16.7%│ │ │ +│ Total│ 30│ 100.0%│ 100.0%│ 100.0%│ 18│ 36│ +╰───────┴─────┴────────┴────────────────┴────────────────┴───────┴───────╯ +dnl Note that Column Total N % doesn't add up to 100 because system-missing +dnl values are included in the total but not shown as a category and this +dnl is expected behavior. + + Custom Tables +╭────────────────────────┬───────────────────────────╮ +│ │ y │ +│ ├──────┬──────┬──────┬──────┤ +│ │ 1.00 │ 4.00 │ 5.00 │ Total│ +├────────────────────────┼──────┼──────┼──────┼──────┤ +│x 3.00 Count │ 1│ 1│ 1│ 3│ +│ Column % │ 33.3%│ 33.3%│ 33.3%│ .│ +│ Column Valid N %│ 33.3%│ 33.3%│ 33.3%│ .│ +│ Column Total N %│ 16.7%│ 16.7%│ 16.7%│ .│ +│ Row % │ 33.3%│ 33.3%│ 33.3%│100.0%│ +│ Row Valid N % │ 33.3%│ 33.3%│ 33.3%│100.0%│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ 3│ +│ Total N │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┤ +│ 4.00 Count │ 1│ 1│ 1│ 3│ +│ Column % │ 33.3%│ 33.3%│ 33.3%│ .│ +│ Column Valid N %│ 33.3%│ 33.3%│ 33.3%│ .│ +│ Column Total N %│ 16.7%│ 16.7%│ 16.7%│ .│ +│ Row % │ 33.3%│ 33.3%│ 33.3%│100.0%│ +│ Row Valid N % │ 33.3%│ 33.3%│ 33.3%│100.0%│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ 3│ +│ Total N │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┤ +│ 5.00 Count │ 1│ 1│ 1│ 3│ +│ Column % │ 33.3%│ 33.3%│ 33.3%│ .│ +│ Column Valid N %│ 33.3%│ 33.3%│ 33.3%│ .│ +│ Column Total N %│ 16.7%│ 16.7%│ 16.7%│ .│ +│ Row % │ 33.3%│ 33.3%│ 33.3%│100.0%│ +│ Row Valid N % │ 33.3%│ 33.3%│ 33.3%│100.0%│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ 3│ +│ Total N │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┤ +│ Total Count │ 3│ 3│ 3│ 9│ +│ Column % │100.0%│100.0%│100.0%│ .│ +│ Column Valid N %│100.0%│100.0%│100.0%│ .│ +│ Column Total N %│100.0%│100.0%│100.0%│ .│ +│ Row % │ .│ .│ .│ .│ +│ Row Valid N % │ .│ .│ .│ .│ +│ Row Total N % │ .│ .│ .│ .│ +│ Valid N │ 3│ 3│ 3│ 9│ +│ Total N │ 6│ 6│ 6│ 36│ +╰────────────────────────┴──────┴──────┴──────┴──────╯ + + Custom Tables +╭────────────────────────┬─────────────────────────────────────────╮ +│ │ y │ +│ ├──────┬──────┬──────┬──────┬──────┬──────┤ +│ │ 1.00 │ 2.00 │ 3.00 │ 4.00 │ 5.00 │ Total│ +├────────────────────────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│x 1.00 Count │ 1│ 1│ 1│ 1│ 1│ 5│ +│ Column % │ 20.0%│ 20.0%│ 20.0%│ 20.0%│ 20.0%│ .│ +│ Column Valid N %│ .0%│ .│ .│ .0%│ .0%│ .│ +│ Column Total N %│ 16.7%│ 16.7%│ 16.7%│ 16.7%│ 16.7%│ .│ +│ Row % │ 20.0%│ 20.0%│ 20.0%│ 20.0%│ 20.0%│100.0%│ +│ Row Valid N % │ .│ .│ .│ .│ .│ .│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ │ │ 0│ +│ Total N │ │ │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│ 2.00 Count │ 1│ 1│ 1│ 1│ 1│ 5│ +│ Column % │ 20.0%│ 20.0%│ 20.0%│ 20.0%│ 20.0%│ .│ +│ Column Valid N %│ .0%│ .│ .│ .0%│ .0%│ .│ +│ Column Total N %│ 16.7%│ 16.7%│ 16.7%│ 16.7%│ 16.7%│ .│ +│ Row % │ 20.0%│ 20.0%│ 20.0%│ 20.0%│ 20.0%│100.0%│ +│ Row Valid N % │ .│ .│ .│ .│ .│ .│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ │ │ 0│ +│ Total N │ │ │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│ 3.00 Count │ 1│ 1│ 1│ 1│ 1│ 5│ +│ Column % │ 20.0%│ 20.0%│ 20.0%│ 20.0%│ 20.0%│ .│ +│ Column Valid N %│ 33.3%│ .│ .│ 33.3%│ 33.3%│ .│ +│ Column Total N %│ 16.7%│ 16.7%│ 16.7%│ 16.7%│ 16.7%│ .│ +│ Row % │ 20.0%│ 20.0%│ 20.0%│ 20.0%│ 20.0%│100.0%│ +│ Row Valid N % │ 33.3%│ .0%│ .0%│ 33.3%│ 33.3%│100.0%│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ │ │ 3│ +│ Total N │ │ │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│ 4.00 Count │ 1│ 1│ 1│ 1│ 1│ 5│ +│ Column % │ 20.0%│ 20.0%│ 20.0%│ 20.0%│ 20.0%│ .│ +│ Column Valid N %│ 33.3%│ .│ .│ 33.3%│ 33.3%│ .│ +│ Column Total N %│ 16.7%│ 16.7%│ 16.7%│ 16.7%│ 16.7%│ .│ +│ Row % │ 20.0%│ 20.0%│ 20.0%│ 20.0%│ 20.0%│100.0%│ +│ Row Valid N % │ 33.3%│ .0%│ .0%│ 33.3%│ 33.3%│100.0%│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ │ │ 3│ +│ Total N │ │ │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│ 5.00 Count │ 1│ 1│ 1│ 1│ 1│ 5│ +│ Column % │ 20.0%│ 20.0%│ 20.0%│ 20.0%│ 20.0%│ .│ +│ Column Valid N %│ 33.3%│ .│ .│ 33.3%│ 33.3%│ .│ +│ Column Total N %│ 16.7%│ 16.7%│ 16.7%│ 16.7%│ 16.7%│ .│ +│ Row % │ 20.0%│ 20.0%│ 20.0%│ 20.0%│ 20.0%│100.0%│ +│ Row Valid N % │ 33.3%│ .0%│ .0%│ 33.3%│ 33.3%│100.0%│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ │ │ 3│ +│ Total N │ │ │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┼──────┼──────┤ +│ Total Count │ 5│ 5│ 5│ 5│ 5│ 25│ +│ Column % │100.0%│100.0%│100.0%│100.0%│100.0%│ .│ +│ Column Valid N %│100.0%│ .│ .│100.0%│100.0%│ .│ +│ Column Total N %│100.0%│100.0%│100.0%│100.0%│100.0%│ .│ +│ Row % │ .│ .│ .│ .│ .│ .│ +│ Row Valid N % │ .│ .│ .│ .│ .│ .│ +│ Row Total N % │ .│ .│ .│ .│ .│ .│ +│ Valid N │ 3│ 0│ 0│ 3│ 3│ 9│ +│ Total N │ 6│ 6│ 6│ 6│ 6│ 36│ +╰────────────────────────┴──────┴──────┴──────┴──────┴──────┴──────╯ + + Custom Tables +╭────────────────────────┬──────────────────────────────────╮ +│ │ y │ +│ ├──────┬──────┬──────┬──────┬──────┤ +│ │ 1.00 │ 3.00 │ 4.00 │ 5.00 │ Total│ +├────────────────────────┼──────┼──────┼──────┼──────┼──────┤ +│x 1.00 Count │ 1│ 1│ 1│ 1│ 4│ +│ Column % │ 25.0%│ 25.0%│ 25.0%│ 25.0%│ .│ +│ Column Valid N %│ .0%│ .│ .0%│ .0%│ .│ +│ Column Total N %│ 20.0%│ 20.0%│ 20.0%│ 20.0%│ .│ +│ Row % │ 25.0%│ 25.0%│ 25.0%│ 25.0%│100.0%│ +│ Row Valid N % │ .│ .│ .│ .│ .│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ │ 0│ +│ Total N │ │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┼──────┤ +│ 2.00 Count │ 1│ 1│ 1│ 1│ 4│ +│ Column % │ 25.0%│ 25.0%│ 25.0%│ 25.0%│ .│ +│ Column Valid N %│ .0%│ .│ .0%│ .0%│ .│ +│ Column Total N %│ 20.0%│ 20.0%│ 20.0%│ 20.0%│ .│ +│ Row % │ 25.0%│ 25.0%│ 25.0%│ 25.0%│100.0%│ +│ Row Valid N % │ .│ .│ .│ .│ .│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ │ 0│ +│ Total N │ │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┼──────┤ +│ 3.00 Count │ 1│ 1│ 1│ 1│ 4│ +│ Column % │ 25.0%│ 25.0%│ 25.0%│ 25.0%│ .│ +│ Column Valid N %│ 50.0%│ .│ 50.0%│ 50.0%│ .│ +│ Column Total N %│ 20.0%│ 20.0%│ 20.0%│ 20.0%│ .│ +│ Row % │ 25.0%│ 25.0%│ 25.0%│ 25.0%│100.0%│ +│ Row Valid N % │ 33.3%│ .0%│ 33.3%│ 33.3%│100.0%│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ │ 3│ +│ Total N │ │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┼──────┤ +│ 4.00 Count │ 1│ 1│ 1│ 1│ 4│ +│ Column % │ 25.0%│ 25.0%│ 25.0%│ 25.0%│ .│ +│ Column Valid N %│ 50.0%│ .│ 50.0%│ 50.0%│ .│ +│ Column Total N %│ 20.0%│ 20.0%│ 20.0%│ 20.0%│ .│ +│ Row % │ 25.0%│ 25.0%│ 25.0%│ 25.0%│100.0%│ +│ Row Valid N % │ 33.3%│ .0%│ 33.3%│ 33.3%│100.0%│ +│ Row Total N % │ 16.7%│ 16.7%│ 16.7%│ 16.7%│100.0%│ +│ Valid N │ │ │ │ │ 3│ +│ Total N │ │ │ │ │ 6│ +│ ╶──────────────────────┼──────┼──────┼──────┼──────┼──────┤ +│ Total Count │ 4│ 4│ 4│ 4│ 16│ +│ Column % │100.0%│100.0%│100.0%│100.0%│ .│ +│ Column Valid N %│100.0%│ .│100.0%│100.0%│ .│ +│ Column Total N %│100.0%│100.0%│100.0%│100.0%│ .│ +│ Row % │ .│ .│ .│ .│ .│ +│ Row Valid N % │ .│ .│ .│ .│ .│ +│ Row Total N % │ .│ .│ .│ .│ .│ +│ Valid N │ 2│ 0│ 2│ 2│ 6│ +│ Total N │ 5│ 5│ 5│ 5│ 30│ +╰────────────────────────┴──────┴──────┴──────┴──────┴──────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES SMISSING=LISTWISE]) +AT_KEYWORDS([SMISSING LISTWISE]) +AT_DATA([ctables.sps], +[[DATA LIST LIST NOTABLE/x y z. +BEGIN DATA. +1 . 40 +1 10 50 +1 20 60 +1 . . +1 30 . +END DATA. +VARIABLE LEVEL x (NOMINAL). + +CTABLES /TABLE (y + z) > x. +CTABLES /SMISSING LISTWISE /TABLE (y + z) > x. + +* The following doesn't come out as listwise because the tables are +separate, not linked by an > operator. +CTABLES /SMISSING LISTWISE /TABLE (y > x) + (z > x). +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=120], [0], [dnl + Custom Tables +╭────────┬─────╮ +│ │ Mean│ +├────────┼─────┤ +│y x 1.00│20.00│ +├────────┼─────┤ +│z x 1.00│50.00│ +╰────────┴─────╯ + + Custom Tables +╭────────┬─────╮ +│ │ Mean│ +├────────┼─────┤ +│y x 1.00│15.00│ +├────────┼─────┤ +│z x 1.00│55.00│ +╰────────┴─────╯ + + Custom Tables +╭────────┬─────╮ +│ │ Mean│ +├────────┼─────┤ +│y x 1.00│20.00│ +├────────┼─────┤ +│z x 1.00│50.00│ +╰────────┴─────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES VLABELS]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /VLABELS VARIABLES=qns3a qnd5a DISPLAY=DEFAULT /TABLE qnd5a BY qns3a. +CTABLES /VLABELS VARIABLES=qns3a qnd5a DISPLAY=NAME /TABLE qnd5a BY qns3a. +CTABLES /VLABELS VARIABLES=qns3a qnd5a DISPLAY=LABEL /TABLE qnd5a BY qns3a. +CTABLES /VLABELS VARIABLES=qns3a qnd5a DISPLAY=BOTH /TABLE qnd5a BY qns3a. +CTABLES /VLABELS VARIABLES=qns3a qnd5a DISPLAY=NONE /TABLE qnd5a BY qns3a. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode], [0], [dnl + Custom Tables +╭────────────────────────────────────────────────────────────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├────────────────────────────────────────────────────────────────┼─────┼──────┤ +│D5a. What would you say is your primary Cuban │ 13│ 7│ +│ethnic background? Mexican │ 175│ 136│ +│ Spanish │ 20│ 28│ +│ South American │ 21│ 13│ +│ Central American │ 27│ 25│ +│ Puerto Rican, OR │ 37│ 41│ +│ Something else │ 35│ 33│ +│ Multiple - cannot │ 2│ 5│ +│ choose one │ │ │ +╰────────────────────────────────────────────────────────────────┴─────┴──────╯ + + Custom Tables +╭──────────────────────────────────┬────────────╮ +│ │ QNS3A │ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├──────────────────────────────────┼─────┼──────┤ +│QND5A Cuban │ 13│ 7│ +│ Mexican │ 175│ 136│ +│ Spanish │ 20│ 28│ +│ South American │ 21│ 13│ +│ Central American │ 27│ 25│ +│ Puerto Rican, OR │ 37│ 41│ +│ Something else │ 35│ 33│ +│ Multiple - cannot choose one│ 2│ 5│ +╰──────────────────────────────────┴─────┴──────╯ + + Custom Tables +╭────────────────────────────────────────────────────────────────┬────────────╮ +│ │S3a. GENDER:│ +│ ├─────┬──────┤ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├────────────────────────────────────────────────────────────────┼─────┼──────┤ +│D5a. What would you say is your primary Cuban │ 13│ 7│ +│ethnic background? Mexican │ 175│ 136│ +│ Spanish │ 20│ 28│ +│ South American │ 21│ 13│ +│ Central American │ 27│ 25│ +│ Puerto Rican, OR │ 37│ 41│ +│ Something else │ 35│ 33│ +│ Multiple - cannot │ 2│ 5│ +│ choose one │ │ │ +╰────────────────────────────────────────────────────────────────┴─────┴──────╯ + + Custom Tables +╭────────────────────────────────────────────────────────────┬────────────────╮ +│ │ QNS3A S3a. │ +│ │ GENDER: │ +│ ├───────┬────────┤ +│ │ Male │ Female │ +│ ├───────┼────────┤ +│ │ Count │ Count │ +├────────────────────────────────────────────────────────────┼───────┼────────┤ +│QND5A D5a. What would you say is your Cuban │ 13│ 7│ +│primary ethnic background? Mexican │ 175│ 136│ +│ Spanish │ 20│ 28│ +│ South American │ 21│ 13│ +│ Central American │ 27│ 25│ +│ Puerto Rican, OR │ 37│ 41│ +│ Something else │ 35│ 33│ +│ Multiple - cannot │ 2│ 5│ +│ choose one │ │ │ +╰────────────────────────────────────────────────────────────┴───────┴────────╯ + + Custom Tables +╭────────────────────────────┬─────┬──────╮ +│ │ Male│Female│ +│ ├─────┼──────┤ +│ │Count│ Count│ +├────────────────────────────┼─────┼──────┤ +│Cuban │ 13│ 7│ +│Mexican │ 175│ 136│ +│Spanish │ 20│ 28│ +│South American │ 21│ 13│ +│Central American │ 27│ 25│ +│Puerto Rican, OR │ 37│ 41│ +│Something else │ 35│ 33│ +│Multiple - cannot choose one│ 2│ 5│ +╰────────────────────────────┴─────┴──────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES FORMAT EMPTY]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /FORMAT EMPTY=ZERO /TABLE qnd5a BY qnd5. +CTABLES /FORMAT EMPTY=BLANK /TABLE qnd5a BY qnd5. +CTABLES /FORMAT EMPTY='n/a' /TABLE qnd5a BY qnd5. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode], [0], [dnl + Custom Tables +╭─────────────────────────────────────────────┬───────────────────────────────╮ +│ │ D5. ETHNICITY: Are you of │ +│ │ Hispanic or Latino origin or │ +│ │ descent? │ +│ ├───────────────┬───────────────┤ +│ │ Yes │ No │ +│ ├───────────────┼───────────────┤ +│ │ Count │ Count │ +├─────────────────────────────────────────────┼───────────────┼───────────────┤ +│D5a. What would you say is Cuban │ 20│ 0│ +│your primary ethnic Mexican │ 311│ 0│ +│background? Spanish │ 48│ 0│ +│ South American │ 34│ 0│ +│ Central American│ 52│ 0│ +│ Puerto Rican, OR│ 78│ 0│ +│ Something else │ 68│ 0│ +│ Multiple - │ 7│ 0│ +│ cannot choose │ │ │ +│ one │ │ │ +╰─────────────────────────────────────────────┴───────────────┴───────────────╯ + + Custom Tables +╭─────────────────────────────────────────────┬───────────────────────────────╮ +│ │ D5. ETHNICITY: Are you of │ +│ │ Hispanic or Latino origin or │ +│ │ descent? │ +│ ├───────────────┬───────────────┤ +│ │ Yes │ No │ +│ ├───────────────┼───────────────┤ +│ │ Count │ Count │ +├─────────────────────────────────────────────┼───────────────┼───────────────┤ +│D5a. What would you say is Cuban │ 20│ │ +│your primary ethnic Mexican │ 311│ │ +│background? Spanish │ 48│ │ +│ South American │ 34│ │ +│ Central American│ 52│ │ +│ Puerto Rican, OR│ 78│ │ +│ Something else │ 68│ │ +│ Multiple - │ 7│ │ +│ cannot choose │ │ │ +│ one │ │ │ +╰─────────────────────────────────────────────┴───────────────┴───────────────╯ + + Custom Tables +╭─────────────────────────────────────────────┬───────────────────────────────╮ +│ │ D5. ETHNICITY: Are you of │ +│ │ Hispanic or Latino origin or │ +│ │ descent? │ +│ ├───────────────┬───────────────┤ +│ │ Yes │ No │ +│ ├───────────────┼───────────────┤ +│ │ Count │ Count │ +├─────────────────────────────────────────────┼───────────────┼───────────────┤ +│D5a. What would you say is Cuban │ 20│n/a │ +│your primary ethnic Mexican │ 311│n/a │ +│background? Spanish │ 48│n/a │ +│ South American │ 34│n/a │ +│ Central American│ 52│n/a │ +│ Puerto Rican, OR│ 78│n/a │ +│ Something else │ 68│n/a │ +│ Multiple - │ 7│n/a │ +│ cannot choose │ │ │ +│ one │ │ │ +╰─────────────────────────────────────────────┴───────────────┴───────────────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES FORMAT MISSING]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /FORMAT MISSING='(no data)' /TABLE qnd5a[COLPCT] BY qnd5. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode], [0], [dnl + Custom Tables +╭─────────────────────────────────────────────┬───────────────────────────────╮ +│ │ D5. ETHNICITY: Are you of │ +│ │ Hispanic or Latino origin or │ +│ │ descent? │ +│ ├───────────────┬───────────────┤ +│ │ Yes │ No │ +│ ├───────────────┼───────────────┤ +│ │ Column % │ Column % │ +├─────────────────────────────────────────────┼───────────────┼───────────────┤ +│D5a. What would you say is Cuban │ 3.2%│(no data) │ +│your primary ethnic Mexican │ 50.3%│(no data) │ +│background? Spanish │ 7.8%│(no data) │ +│ South American │ 5.5%│(no data) │ +│ Central American│ 8.4%│(no data) │ +│ Puerto Rican, OR│ 12.6%│(no data) │ +│ Something else │ 11.0%│(no data) │ +│ Multiple - │ 1.1%│(no data) │ +│ cannot choose │ │ │ +│ one │ │ │ +╰─────────────────────────────────────────────┴───────────────┴───────────────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES HIDESMALLCOUNTS]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /TABLE qn38[c][COUNT, COLPCT]. +CTABLES /HIDESMALLCOUNTS /TABLE qn38[c][COUNT, COLPCT]. +CTABLES /HIDESMALLCOUNTS COUNT=10 /TABLE qn38[c][COUNT, COLPCT]. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode], [0], [dnl + Custom Tables +╭──────────────────────────────────────────────────────────────┬─────┬────────╮ +│ │Count│Column %│ +├──────────────────────────────────────────────────────────────┼─────┼────────┤ +│38. How many drinks did you have on that Less than one│ 7│ .5%│ +│occasion? 1 │ 491│ 34.9%│ +│ 2 │ 462│ 32.9%│ +│ 3 │ 229│ 16.3%│ +│ 4 │ 82│ 5.8%│ +│ 5 │ 56│ 4.0%│ +│ 6 │ 32│ 2.3%│ +│ 7 │ 9│ .6%│ +│ 8 │ 8│ .6%│ +│ 9 │ 4│ .3%│ +│ 10 │ 6│ .4%│ +│ 11 │ 2│ .1%│ +│ 12 │ 5│ .4%│ +│ 14 │ 1│ .1%│ +│ 15 │ 1│ .1%│ +│ 18 │ 1│ .1%│ +│ 20 │ 4│ .3%│ +│ 25 │ 1│ .1%│ +│ 30 │ 3│ .2%│ +│ 60 │ 1│ .1%│ +│ 99+ │ 0│ .0%│ +╰──────────────────────────────────────────────────────────────┴─────┴────────╯ + + Custom Tables +╭──────────────────────────────────────────────────────────────┬─────┬────────╮ +│ │Count│Column %│ +├──────────────────────────────────────────────────────────────┼─────┼────────┤ +│38. How many drinks did you have on that Less than one│ 7│ .5%│ +│occasion? 1 │ 491│ 34.9%│ +│ 2 │ 462│ 32.9%│ +│ 3 │ 229│ 16.3%│ +│ 4 │ 82│ 5.8%│ +│ 5 │ 56│ 4.0%│ +│ 6 │ 32│ 2.3%│ +│ 7 │ 9│ .6%│ +│ 8 │ 8│ .6%│ +│ 9 │<5 │ .3%│ +│ 10 │ 6│ .4%│ +│ 11 │<5 │ .1%│ +│ 12 │ 5│ .4%│ +│ 14 │<5 │ .1%│ +│ 15 │<5 │ .1%│ +│ 18 │<5 │ .1%│ +│ 20 │<5 │ .3%│ +│ 25 │<5 │ .1%│ +│ 30 │<5 │ .2%│ +│ 60 │<5 │ .1%│ +│ 99+ │<5 │ .0%│ +╰──────────────────────────────────────────────────────────────┴─────┴────────╯ + + Custom Tables +╭──────────────────────────────────────────────────────────────┬─────┬────────╮ +│ │Count│Column %│ +├──────────────────────────────────────────────────────────────┼─────┼────────┤ +│38. How many drinks did you have on that Less than one│<10 │ .5%│ +│occasion? 1 │ 491│ 34.9%│ +│ 2 │ 462│ 32.9%│ +│ 3 │ 229│ 16.3%│ +│ 4 │ 82│ 5.8%│ +│ 5 │ 56│ 4.0%│ +│ 6 │ 32│ 2.3%│ +│ 7 │<10 │ .6%│ +│ 8 │<10 │ .6%│ +│ 9 │<10 │ .3%│ +│ 10 │<10 │ .4%│ +│ 11 │<10 │ .1%│ +│ 12 │<10 │ .4%│ +│ 14 │<10 │ .1%│ +│ 15 │<10 │ .1%│ +│ 18 │<10 │ .1%│ +│ 20 │<10 │ .3%│ +│ 25 │<10 │ .1%│ +│ 30 │<10 │ .2%│ +│ 60 │<10 │ .1%│ +│ 99+ │<10 │ .0%│ +╰──────────────────────────────────────────────────────────────┴─────┴────────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES FORMAT MINCOLWIDTH MAXCOLWIDTH]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES /FORMAT MINCOLWIDTH=1 MAXCOLWIDTH=2 UNITS=INCHES /TABLE BY qns3a. +]]) +AT_CHECK([pspp ctables.sps -o - -O box=unicode -o pspp.spv], [0], [dnl + Custom Tables +╭────────────╮ +│S3a. GENDER:│ +├─────┬──────┤ +│ Male│Female│ +├─────┼──────┤ +│Count│ Count│ +├─────┼──────┤ +│ 3132│ 3867│ +╰─────┴──────╯ +]) +AT_CHECK([pspp-output get-table-look pspp.spv pspp.stt]) +AT_CHECK([sed 's/ /\n/g' pspp.stt | grep ColumnWidth | sort], [0], [dnl +maximumColumnWidth="192" +minimumColumnWidth="96" +]) +AT_CLEANUP + +AT_SETUP([CTABLES special formats]) +AT_KEYWORDS([NEGPAREN NEQUAL PAREN PCTPAREN]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +COMPUTE x = qnd3 - 4. +CTABLES /TABLE x[MINIMUM NEGPAREN8.1, MINIMUM NEQUAL8.1, MINIMUM PAREN8.1, MINIMUM PCTPAREN8.1, MAXIMUM NEGPAREN8.1, MAXIMUM NEQUAL8.1, MAXIMUM PAREN8.1, MAXIMUM PCTPAREN8.1]. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode], [0], [dnl + Custom Tables +╭─┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────╮ +│ │Minimum│Minimum│Minimum│Minimum│Maximum│Maximum│Maximum│Maximum│ +├─┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ +│x│(3.0) │N=-3.0 │(-3.0) │(-3.0%)│8.0 │N=8.0 │(8.0) │(8.0%) │ +╰─┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES TITLES]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES + /VLABELS VARIABLES=qn1 DISPLAY=NONE + /TABLE ((qn1[c][COUNT])) BY qns3a[c] > qnd5 + /TITLES TITLE='How often do you drive?' + CAPTION='Generated )TIME on )DATE' + CORNER=')TABLE'. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode | sed 's/..:..:../HH:MM:SS/ +s&../../..&MM/DD/YY&'], [0], [dnl + How often do you drive? +╭───────────────────────────────────┬─────────────────────────────────────────╮ +│ │ S3a. GENDER: │ +│ ├────────────────────┬────────────────────┤ +│ │ Male │ Female │ +│ ├────────────────────┼────────────────────┤ +│ │ D5. ETHNICITY: Are │ D5. ETHNICITY: Are │ +│ │ you of Hispanic or │ you of Hispanic or │ +│ │ Latino origin or │ Latino origin or │ +│( ( 1. How often do you usually │ descent? │ descent? │ +│drive a car or other motor ├─────────┬──────────┼─────────┬──────────┤ +│vehicle?) ) BY S3a. GENDER: > D5. │ Yes │ No │ Yes │ No │ +│ETHNICITY: Are you of Hispanic or ├─────────┼──────────┼─────────┼──────────┤ +│Latino origin or descent? │ Count │ Count │ Count │ Count │ +├───────────────────────────────────┼─────────┼──────────┼─────────┼──────────┤ +│Every day │ 218│ 2066│ 166│ 2175│ +│Several days a week │ 44│ 391│ 45│ 782│ +│Once a week or less │ 16│ 109│ 12│ 223│ +│Only certain times a year │ 15│ 41│ 11│ 61│ +│Never │ 39│ 150│ 56│ 278│ +╰───────────────────────────────────┴─────────┴──────────┴─────────┴──────────╯ +Generated HH:MM:SS on MM/DD/YY +]) +AT_CLEANUP + +AT_SETUP([CTABLES area definitions]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES + /VLABELS VARIABLES=ALL DISPLAY=NAME + /TABLE qn61 > qn57 BY qnd7a > qn86 + qn64b BY qns3a[TABLE.ID, LAYER.ID, SUBTABLE.ID] + /SLABELS POSITION=ROW + /TABLE qn61 > qn57 BY qnd7a > qn86 + qn64b BY qns3a[ROW.ID, LAYERROW.ID] + /SLABELS POSITION=ROW + /TABLE qn61 > qn57 BY qnd7a > qn86 + qn64b BY qns3a[COL.ID, LAYERCOL.ID] + /SLABELS POSITION=ROW. +]]) +AT_CHECK([pspp ctables.sps --table-look="$builddir"/all-layers.stt -O box=unicode -O width=80], [0], [dnl + Custom Tables +Male +╭─────────────────────────────┬─────────────┬──────╮ +│ │ QND7A │ QN64B│ +│ ├──────┬──────┼───┬──┤ +│ │ Yes │ No │ │ │ +│ ├──────┼──────┤ │ │ +│ │ QN86 │ QN86 │ │ │ +│ ├───┬──┼───┬──┤ │ │ +│ │Yes│No│Yes│No│Yes│No│ +├─────────────────────────────┼───┼──┼───┼──┼───┼──┤ +│QN61 Yes QN57 Yes Table ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Layer ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Subtable ID│ 1│ 1│ 2│ 2│ 3│ 3│ +│ ╶───────────────┼───┼──┼───┼──┼───┼──┤ +│ No Table ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Layer ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Subtable ID│ 1│ 1│ 2│ 2│ 3│ 3│ +│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┤ +│ No QN57 Yes Table ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Layer ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Subtable ID│ 4│ 4│ 5│ 5│ 6│ 6│ +│ ╶───────────────┼───┼──┼───┼──┼───┼──┤ +│ No Table ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Layer ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Subtable ID│ 4│ 4│ 5│ 5│ 6│ 6│ +╰─────────────────────────────┴───┴──┴───┴──┴───┴──╯ + + Custom Tables +Female +╭─────────────────────────────┬─────────────┬──────╮ +│ │ QND7A │ QN64B│ +│ ├──────┬──────┼───┬──┤ +│ │ Yes │ No │ │ │ +│ ├──────┼──────┤ │ │ +│ │ QN86 │ QN86 │ │ │ +│ ├───┬──┼───┬──┤ │ │ +│ │Yes│No│Yes│No│Yes│No│ +├─────────────────────────────┼───┼──┼───┼──┼───┼──┤ +│QN61 Yes QN57 Yes Table ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Layer ID │ 3│ 3│ 3│ 3│ 4│ 4│ +│ Subtable ID│ 7│ 7│ 8│ 8│ 9│ 9│ +│ ╶───────────────┼───┼──┼───┼──┼───┼──┤ +│ No Table ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Layer ID │ 3│ 3│ 3│ 3│ 4│ 4│ +│ Subtable ID│ 7│ 7│ 8│ 8│ 9│ 9│ +│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┤ +│ No QN57 Yes Table ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Layer ID │ 3│ 3│ 3│ 3│ 4│ 4│ +│ Subtable ID│ 10│10│ 11│11│ 12│12│ +│ ╶───────────────┼───┼──┼───┼──┼───┼──┤ +│ No Table ID │ 1│ 1│ 1│ 1│ 2│ 2│ +│ Layer ID │ 3│ 3│ 3│ 3│ 4│ 4│ +│ Subtable ID│ 10│10│ 11│11│ 12│12│ +╰─────────────────────────────┴───┴──┴───┴──┴───┴──╯ + + Custom Tables +Male +╭──────────────────────────────┬─────────────┬──────╮ +│ │ QND7A │ QN64B│ +│ ├──────┬──────┼───┬──┤ +│ │ Yes │ No │ │ │ +│ ├──────┼──────┤ │ │ +│ │ QN86 │ QN86 │ │ │ +│ ├───┬──┼───┬──┤ │ │ +│ │Yes│No│Yes│No│Yes│No│ +├──────────────────────────────┼───┼──┼───┼──┼───┼──┤ +│QN61 Yes QN57 Yes Row ID │ 1│ 1│ 2│ 2│ 3│ 3│ +│ Layer Row ID│ 1│ 1│ 1│ 1│ 2│ 2│ +│ ╶────────────────┼───┼──┼───┼──┼───┼──┤ +│ No Row ID │ 4│ 4│ 5│ 5│ 6│ 6│ +│ Layer Row ID│ 3│ 3│ 3│ 3│ 4│ 4│ +│ ╶─────────────────────────┼───┼──┼───┼──┼───┼──┤ +│ No QN57 Yes Row ID │ 7│ 7│ 8│ 8│ 9│ 9│ +│ Layer Row ID│ 5│ 5│ 5│ 5│ 6│ 6│ +│ ╶────────────────┼───┼──┼───┼──┼───┼──┤ +│ No Row ID │ 10│10│ 11│11│ 12│12│ +│ Layer Row ID│ 7│ 7│ 7│ 7│ 8│ 8│ +╰──────────────────────────────┴───┴──┴───┴──┴───┴──╯ + + Custom Tables +Female +╭──────────────────────────────┬─────────────┬──────╮ +│ │ QND7A │ QN64B│ +│ ├──────┬──────┼───┬──┤ +│ │ Yes │ No │ │ │ +│ ├──────┼──────┤ │ │ +│ │ QN86 │ QN86 │ │ │ +│ ├───┬──┼───┬──┤ │ │ +│ │Yes│No│Yes│No│Yes│No│ +├──────────────────────────────┼───┼──┼───┼──┼───┼──┤ +│QN61 Yes QN57 Yes Row ID │ 13│13│ 14│14│ 15│15│ +│ Layer Row ID│ 9│ 9│ 9│ 9│ 10│10│ +│ ╶────────────────┼───┼──┼───┼──┼───┼──┤ +│ No Row ID │ 16│16│ 17│17│ 18│18│ +│ Layer Row ID│ 11│11│ 11│11│ 12│12│ +│ ╶─────────────────────────┼───┼──┼───┼──┼───┼──┤ +│ No QN57 Yes Row ID │ 19│19│ 20│20│ 21│21│ +│ Layer Row ID│ 13│13│ 13│13│ 14│14│ +│ ╶────────────────┼───┼──┼───┼──┼───┼──┤ +│ No Row ID │ 22│22│ 23│23│ 24│24│ +│ Layer Row ID│ 15│15│ 15│15│ 16│16│ +╰──────────────────────────────┴───┴──┴───┴──┴───┴──╯ + + Custom Tables +Male +╭─────────────────────────────────┬─────────────┬──────╮ +│ │ QND7A │ QN64B│ +│ ├──────┬──────┼───┬──┤ +│ │ Yes │ No │ │ │ +│ ├──────┼──────┤ │ │ +│ │ QN86 │ QN86 │ │ │ +│ ├───┬──┼───┬──┤ │ │ +│ │Yes│No│Yes│No│Yes│No│ +├─────────────────────────────────┼───┼──┼───┼──┼───┼──┤ +│QN61 Yes QN57 Yes Column ID │ 1│ 2│ 3│ 4│ 5│ 6│ +│ Layer Column ID│ 1│ 2│ 3│ 4│ 5│ 6│ +│ ╶───────────────────┼───┼──┼───┼──┼───┼──┤ +│ No Column ID │ 1│ 2│ 3│ 4│ 5│ 6│ +│ Layer Column ID│ 1│ 2│ 3│ 4│ 5│ 6│ +│ ╶────────────────────────────┼───┼──┼───┼──┼───┼──┤ +│ No QN57 Yes Column ID │ 7│ 8│ 9│10│ 11│12│ +│ Layer Column ID│ 1│ 2│ 3│ 4│ 5│ 6│ +│ ╶───────────────────┼───┼──┼───┼──┼───┼──┤ +│ No Column ID │ 7│ 8│ 9│10│ 11│12│ +│ Layer Column ID│ 1│ 2│ 3│ 4│ 5│ 6│ +╰─────────────────────────────────┴───┴──┴───┴──┴───┴──╯ + + Custom Tables +Female +╭─────────────────────────────────┬─────────────┬──────╮ +│ │ QND7A │ QN64B│ +│ ├──────┬──────┼───┬──┤ +│ │ Yes │ No │ │ │ +│ ├──────┼──────┤ │ │ +│ │ QN86 │ QN86 │ │ │ +│ ├───┬──┼───┬──┤ │ │ +│ │Yes│No│Yes│No│Yes│No│ +├─────────────────────────────────┼───┼──┼───┼──┼───┼──┤ +│QN61 Yes QN57 Yes Column ID │ 13│14│ 15│16│ 17│18│ +│ Layer Column ID│ 7│ 8│ 9│10│ 11│12│ +│ ╶───────────────────┼───┼──┼───┼──┼───┼──┤ +│ No Column ID │ 13│14│ 15│16│ 17│18│ +│ Layer Column ID│ 7│ 8│ 9│10│ 11│12│ +│ ╶────────────────────────────┼───┼──┼───┼──┼───┼──┤ +│ No QN57 Yes Column ID │ 19│20│ 21│22│ 23│24│ +│ Layer Column ID│ 7│ 8│ 9│10│ 11│12│ +│ ╶───────────────────┼───┼──┼───┼──┼───┼──┤ +│ No Column ID │ 19│20│ 21│22│ 23│24│ +│ Layer Column ID│ 7│ 8│ 9│10│ 11│12│ +╰─────────────────────────────────┴───┴──┴───┴──┴───┴──╯ +]) +AT_CLEANUP + +AT_SETUP([CTABLES categorical summary functions]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +CTABLES + /TABLE region BY qnd5a[COUNT, ROWPCT, ROWPCT.VALIDN, ROWPCT.TOTALN, TOTAL[COUNT, VALIDN, TOTALN]] + /CATEGORIES VARIABLES=qnd5a TOTAL=YES MISSING=INCLUDE + /SLABELS POSITION=ROW. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=120], [0], [dnl + Custom Tables +╭─────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────╮ +│ │ D5a. What would you say is your primary ethnic background? │ +│ ├─────┬───────┬───────┬──────────┬──────────┬─────────┬──────────┬──────────────┬──────┬───────┬─────┤ +│ │ │ │ │ │ │ │ │ Multiple - │ │ │ │ +│ │ │ │ │ South │ Central │ Puerto │ Something│ cannot choose│ Don't│ │ │ +│ │Cuban│Mexican│Spanish│ American │ American │Rican, OR│ else │ one │ know │Refused│Total│ +├─────────────────┼─────┼───────┼───────┼──────────┼──────────┼─────────┼──────────┼──────────────┼──────┼───────┼─────┤ +│Region NE Count │ 6│ 8│ 8│ 11│ 7│ 39│ 23│ 2│ 0│ 1│ 105│ +│ Row % │ 5.7%│ 7.6%│ 7.6%│ 10.5%│ 6.7%│ 37.1%│ 21.9%│ 1.9%│ .0%│ 1.0%│ │ +│ Row │ 5.8%│ 7.7%│ 7.7%│ 10.6%│ 6.7%│ 37.5%│ 22.1%│ 1.9%│ .0%│ .0%│ │ +│ Valid N│ │ │ │ │ │ │ │ │ │ │ │ +│ % │ │ │ │ │ │ │ │ │ │ │ │ +│ Row │ .4%│ .6%│ .6%│ .8%│ .5%│ 2.8%│ 1.6%│ .1%│ .0%│ .1%│ │ +│ Total N│ │ │ │ │ │ │ │ │ │ │ │ +│ % │ │ │ │ │ │ │ │ │ │ │ │ +│ Valid N│ │ │ │ │ │ │ │ │ │ │ 104│ +│ Total N│ │ │ │ │ │ │ │ │ │ │ 1409│ +│ ╶──────────┼─────┼───────┼───────┼──────────┼──────────┼─────────┼──────────┼──────────────┼──────┼───────┼─────┤ +│ MW Count │ 3│ 24│ 1│ 4│ 5│ 9│ 6│ 0│ 0│ 1│ 53│ +│ Row % │ 5.7%│ 45.3%│ 1.9%│ 7.5%│ 9.4%│ 17.0%│ 11.3%│ .0%│ .0%│ 1.9%│ │ +│ Row │ 5.8%│ 46.2%│ 1.9%│ 7.7%│ 9.6%│ 17.3%│ 11.5%│ .0%│ .0%│ .0%│ │ +│ Valid N│ │ │ │ │ │ │ │ │ │ │ │ +│ % │ │ │ │ │ │ │ │ │ │ │ │ +│ Row │ .2%│ 1.5%│ .1%│ .2%│ .3%│ .5%│ .4%│ .0%│ .0%│ .1%│ │ +│ Total N│ │ │ │ │ │ │ │ │ │ │ │ +│ % │ │ │ │ │ │ │ │ │ │ │ │ +│ Valid N│ │ │ │ │ │ │ │ │ │ │ 52│ +│ Total N│ │ │ │ │ │ │ │ │ │ │ 1654│ +│ ╶──────────┼─────┼───────┼───────┼──────────┼──────────┼─────────┼──────────┼──────────────┼──────┼───────┼─────┤ +│ S Count │ 10│ 113│ 11│ 14│ 25│ 23│ 20│ 2│ 3│ 2│ 223│ +│ Row % │ 4.5%│ 50.7%│ 4.9%│ 6.3%│ 11.2%│ 10.3%│ 9.0%│ .9%│ 1.3%│ .9%│ │ +│ Row │ 4.6%│ 51.8%│ 5.0%│ 6.4%│ 11.5%│ 10.6%│ 9.2%│ .9%│ .0%│ .0%│ │ +│ Valid N│ │ │ │ │ │ │ │ │ │ │ │ +│ % │ │ │ │ │ │ │ │ │ │ │ │ +│ Row │ .4%│ 4.7%│ .5%│ .6%│ 1.0%│ 1.0%│ .8%│ .1%│ .1%│ .1%│ │ +│ Total N│ │ │ │ │ │ │ │ │ │ │ │ +│ % │ │ │ │ │ │ │ │ │ │ │ │ +│ Valid N│ │ │ │ │ │ │ │ │ │ │ 218│ +│ Total N│ │ │ │ │ │ │ │ │ │ │ 2390│ +│ ╶──────────┼─────┼───────┼───────┼──────────┼──────────┼─────────┼──────────┼──────────────┼──────┼───────┼─────┤ +│ W Count │ 1│ 166│ 28│ 5│ 15│ 7│ 19│ 3│ 0│ 1│ 245│ +│ Row % │ .4%│ 67.8%│ 11.4%│ 2.0%│ 6.1%│ 2.9%│ 7.8%│ 1.2%│ .0%│ .4%│ │ +│ Row │ .4%│ 68.0%│ 11.5%│ 2.0%│ 6.1%│ 2.9%│ 7.8%│ 1.2%│ .0%│ .0%│ │ +│ Valid N│ │ │ │ │ │ │ │ │ │ │ │ +│ % │ │ │ │ │ │ │ │ │ │ │ │ +│ Row │ .1%│ 10.7%│ 1.8%│ .3%│ 1.0%│ .5%│ 1.2%│ .2%│ .0%│ .1%│ │ +│ Total N│ │ │ │ │ │ │ │ │ │ │ │ +│ % │ │ │ │ │ │ │ │ │ │ │ │ +│ Valid N│ │ │ │ │ │ │ │ │ │ │ 244│ +│ Total N│ │ │ │ │ │ │ │ │ │ │ 1546│ +╰─────────────────┴─────┴───────┴───────┴──────────┴──────────┴─────────┴──────────┴──────────────┴──────┴───────┴─────╯ +]) +AT_CLEANUP + + +AT_SETUP([CTABLES scale summary functions]) +AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .]) +AT_DATA([ctables.sps], +[[GET 'nhtsa.sav'. +SET TVAR=NAME. +SPLIT FILE BY REGION. +FREQUENCIES qn19a /STATISTICS=ALL /FORMAT NOTABLE. +SPLIT FILE OFF. +CTABLES + /VLABELS VARIABLE=qn19a DISPLAY=NAME /*XXX NONE yields an assertion failure + /TABLE region BY qn19a[COUNT, MAXIMUM, MEAN, MINIMUM, MISSING, MODE] + /CATEGORIES VARIABLES=qn19a TOTAL=YES MISSING=INCLUDE + /SLABELS POSITION=ROW. +]]) +AT_CHECK([pspp ctables.sps -O box=unicode -O width=120], [0], []) +AT_CLEANUP + -- 2.30.2