if (n_summaries > 1)
{
msg (SE, _("Summaries may appear only on one axis."));
- if (summaries[PIVOT_AXIS_ROW])
- msg_at (SN, summaries[PIVOT_AXIS_ROW]->loc,
- _("This variable on the rows axis has a summary."));
- if (summaries[PIVOT_AXIS_COLUMN])
- msg_at (SN, summaries[PIVOT_AXIS_COLUMN]->loc,
- _("This variable on the columns axis has a summary."));
- if (summaries[PIVOT_AXIS_LAYER])
- msg_at (SN, summaries[PIVOT_AXIS_LAYER]->loc,
- _("This variable on the layers axis has a summary."));
+ 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++)
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].
23 | CTABLES /TABLE qn113 [COUNT] BY qn114 [COUNT] BY qn116 [COUNT].
| ^~~~~
-ctables.sps:23.50-23.54: note: CTABLES: This variable on the layers axis has a
-summary.
+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
Generated HH:MM:SS on MM/DD/YY
])
AT_CLEANUP
+
+AT_SETUP([CTABLES 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 > qnd5 + qnd6_1 BY qnd7a + agegroup BY qns3a[COUNT, ROWPCT, COLPCT, SUBTABLEPCT]
+ /SLABELS POSITION=ROW.
+]])
+AT_CHECK([pspp ctables.sps --table-look="$builddir"/all-layers.stt -O box=unicode -O width=120], [0], [])
+AT_CLEANUP