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 - Summary functions:
dnl * U-prefix for unweighted summaries.
dnl * areaPCT.SUM and UareaPCT.SUM functions.
+dnl * WEIGHT and adjustment weights.
+dnl * details of missing value handling in summaries.
dnl - Definition of columns/rows when labels are rotated from one axis to another.
dnl
dnl Not for v1:
dnl - Summary functions:
dnl * .LCL and .UCL suffixes.
dnl * .SE suffixes.
+dnl - Summary functions:
+dnl * )CILEVEL in summary label specification
dnl - CATEGORIES:
dnl * Data-dependent sorting.
[[GET 'nhtsa.sav'.
CTABLES
/VLABELS VARIABLES=ALL DISPLAY=NAME
- /TABLE qn61 > qn57 BY qnd7a > qn86 + qn64b BY qns3a[TABLE.ID, LAYER.ID, SUBTABLE.ID]
+ /TABLE qn61 > qn57 BY qnd7a > qn86 + qn64b BY qns3a[TABLEID, LAYERID, SUBTABLEID]
/SLABELS POSITION=ROW
- /TABLE qn61 > qn57 BY qnd7a > qn86 + qn64b BY qns3a[ROW.ID, LAYERROW.ID]
+ /TABLE qn61 > qn57 BY qnd7a > qn86 + qn64b BY qns3a[ROWID, LAYERROWID]
/SLABELS POSITION=ROW
- /TABLE qn61 > qn57 BY qnd7a > qn86 + qn64b BY qns3a[COL.ID, LAYERCOL.ID]
+ /TABLE qn61 > qn57 BY qnd7a > qn86 + qn64b BY qns3a[COLID, LAYERCOLID]
/SLABELS POSITION=ROW.
]])
AT_CHECK([pspp ctables.sps --table-look="$builddir"/all-layers.stt -O box=unicode -O width=80], [0], [dnl
])
AT_CLEANUP
+AT_SETUP([CTABLES area definitions with CLABELS ROWLABELS=OPPOSITE])
+AT_KEYWORDS([ROWLABELS OPPOSITE])
+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 qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[TABLEID, LAYERID, SUBTABLEID]
+ /SLABELS POSITION=ROW
+ /CLABELS ROWLABELS=OPPOSITE
+ /TABLE qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[ROWID, LAYERROWID]
+ /SLABELS POSITION=ROW
+ /CLABELS ROWLABELS=OPPOSITE
+ /TABLE qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[COLID, LAYERCOLID]
+ /SLABELS POSITION=ROW
+ /CLABELS ROWLABELS=OPPOSITE.
+]])
+AT_CHECK([pspp ctables.sps --table-look="$builddir"/all-layers.stt -O box=unicode -O width=120], [0], [dnl
+ Custom Tables
+Male
+╭──────────────────────────────────┬───────────────────────────────────────────────────────╮
+│ │ QN27 │
+│ ├───────────────────────────┬───────────────────────────┤
+│ │ Yes │ No │
+│ ├───────────────────────────┼───────────────────────────┤
+│ │ QND7A │ QND7A │
+│ ├─────────────┬─────────────┼─────────────┬─────────────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├─────────────┼─────────────┼─────────────┼─────────────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├──────┬──────┼──────┬──────┼──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │ Yes │ No │ Yes │ No │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Subtable ID│ 1│ 1│ 2│ 2│ 3│ 3│ 4│ 4│ 5│ 5│ 6│ 6│ 7│ 7│ 8│ 8│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Subtable ID│ 1│ 1│ 2│ 2│ 3│ 3│ 4│ 4│ 5│ 5│ 6│ 6│ 7│ 7│ 8│ 8│
+│ ╶─────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Subtable ID│ 9│ 9│ 10│10│ 11│11│ 12│12│ 13│13│ 14│14│ 15│15│ 16│16│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Subtable ID│ 9│ 9│ 10│10│ 11│11│ 12│12│ 13│13│ 14│14│ 15│15│ 16│16│
+╰──────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Female
+╭──────────────────────────────────┬───────────────────────────────────────────────────────╮
+│ │ QN27 │
+│ ├───────────────────────────┬───────────────────────────┤
+│ │ Yes │ No │
+│ ├───────────────────────────┼───────────────────────────┤
+│ │ QND7A │ QND7A │
+│ ├─────────────┬─────────────┼─────────────┬─────────────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├─────────────┼─────────────┼─────────────┼─────────────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├──────┬──────┼──────┬──────┼──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │ Yes │ No │ Yes │ No │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│
+│ Subtable ID│ 17│17│ 18│18│ 19│19│ 20│20│ 21│21│ 22│22│ 23│23│ 24│24│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│
+│ Subtable ID│ 17│17│ 18│18│ 19│19│ 20│20│ 21│21│ 22│22│ 23│23│ 24│24│
+│ ╶─────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│
+│ Subtable ID│ 25│25│ 26│26│ 27│27│ 28│28│ 29│29│ 30│30│ 31│31│ 32│32│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│
+│ Subtable ID│ 25│25│ 26│26│ 27│27│ 28│28│ 29│29│ 30│30│ 31│31│ 32│32│
+╰──────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Male
+╭───────────────────────────────────┬───────────────────────────────────────────────────────╮
+│ │ QN27 │
+│ ├───────────────────────────┬───────────────────────────┤
+│ │ Yes │ No │
+│ ├───────────────────────────┼───────────────────────────┤
+│ │ QND7A │ QND7A │
+│ ├─────────────┬─────────────┼─────────────┬─────────────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├─────────────┼─────────────┼─────────────┼─────────────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├──────┬──────┼──────┬──────┼──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │ Yes │ No │ Yes │ No │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│
+├───────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Row ID │ 1│ 1│ 2│ 2│ 3│ 3│ 4│ 4│ 5│ 5│ 6│ 6│ 7│ 7│ 8│ 8│
+│ Layer Row ID│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 9│ 9│ 10│10│ 11│11│ 12│12│ 13│13│ 14│14│ 15│15│ 16│16│
+│ Layer Row ID│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│
+│ ╶──────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Row ID │ 17│17│ 18│18│ 19│19│ 20│20│ 21│21│ 22│22│ 23│23│ 24│24│
+│ Layer Row ID│ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 25│25│ 26│26│ 27│27│ 28│28│ 29│29│ 30│30│ 31│31│ 32│32│
+│ Layer Row ID│ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│
+╰───────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Female
+╭───────────────────────────────────┬───────────────────────────────────────────────────────╮
+│ │ QN27 │
+│ ├───────────────────────────┬───────────────────────────┤
+│ │ Yes │ No │
+│ ├───────────────────────────┼───────────────────────────┤
+│ │ QND7A │ QND7A │
+│ ├─────────────┬─────────────┼─────────────┬─────────────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├─────────────┼─────────────┼─────────────┼─────────────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├──────┬──────┼──────┬──────┼──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │ Yes │ No │ Yes │ No │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│
+├───────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Row ID │ 33│33│ 34│34│ 35│35│ 36│36│ 37│37│ 38│38│ 39│39│ 40│40│
+│ Layer Row ID│ 5│ 5│ 5│ 5│ 5│ 5│ 5│ 5│ 5│ 5│ 5│ 5│ 5│ 5│ 5│ 5│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 41│41│ 42│42│ 43│43│ 44│44│ 45│45│ 46│46│ 47│47│ 48│48│
+│ Layer Row ID│ 6│ 6│ 6│ 6│ 6│ 6│ 6│ 6│ 6│ 6│ 6│ 6│ 6│ 6│ 6│ 6│
+│ ╶──────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Row ID │ 49│49│ 50│50│ 51│51│ 52│52│ 53│53│ 54│54│ 55│55│ 56│56│
+│ Layer Row ID│ 7│ 7│ 7│ 7│ 7│ 7│ 7│ 7│ 7│ 7│ 7│ 7│ 7│ 7│ 7│ 7│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 57│57│ 58│58│ 59│59│ 60│60│ 61│61│ 62│62│ 63│63│ 64│64│
+│ Layer Row ID│ 8│ 8│ 8│ 8│ 8│ 8│ 8│ 8│ 8│ 8│ 8│ 8│ 8│ 8│ 8│ 8│
+╰───────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Male
+╭──────────────────────────────────────┬───────────────────────────────────────────────────────╮
+│ │ QN27 │
+│ ├───────────────────────────┬───────────────────────────┤
+│ │ Yes │ No │
+│ ├───────────────────────────┼───────────────────────────┤
+│ │ QND7A │ QND7A │
+│ ├─────────────┬─────────────┼─────────────┬─────────────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├─────────────┼─────────────┼─────────────┼─────────────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├──────┬──────┼──────┬──────┼──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │ Yes │ No │ Yes │ No │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Column ID │ 1│ 2│ 4│ 3│ 6│ 5│ 8│ 7│ 9│10│ 11│12│ 14│13│ 15│16│
+│ Layer Column ID│ 1│ 2│ 4│ 3│ 6│ 5│ 8│ 7│ 9│10│ 11│12│ 14│13│ 15│16│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 1│ 2│ 4│ 3│ 6│ 5│ 8│ 7│ 9│10│ 11│12│ 14│13│ 15│16│
+│ Layer Column ID│ 1│ 2│ 4│ 3│ 6│ 5│ 8│ 7│ 9│10│ 11│12│ 14│13│ 15│16│
+│ ╶─────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Column ID │ 18│17│ 19│20│ 22│21│ 23│24│ 25│26│ 27│28│ 29│30│ 32│31│
+│ Layer Column ID│ 1│ 2│ 4│ 3│ 6│ 5│ 8│ 7│ 9│10│ 11│12│ 14│13│ 15│16│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 18│17│ 19│20│ 22│21│ 23│24│ 25│26│ 27│28│ 29│30│ 32│31│
+│ Layer Column ID│ 1│ 2│ 4│ 3│ 6│ 5│ 8│ 7│ 9│10│ 11│12│ 14│13│ 15│16│
+╰──────────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Female
+╭──────────────────────────────────────┬───────────────────────────────────────────────────────╮
+│ │ QN27 │
+│ ├───────────────────────────┬───────────────────────────┤
+│ │ Yes │ No │
+│ ├───────────────────────────┼───────────────────────────┤
+│ │ QND7A │ QND7A │
+│ ├─────────────┬─────────────┼─────────────┬─────────────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├─────────────┼─────────────┼─────────────┼─────────────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├──────┬──────┼──────┬──────┼──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │ Yes │ No │ Yes │ No │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Column ID │ 33│34│ 36│35│ 37│38│ 39│40│ 42│41│ 44│43│ 45│46│ 47│48│
+│ Layer Column ID│ 17│18│ 20│19│ 21│22│ 23│24│ 26│25│ 28│27│ 29│30│ 31│32│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 33│34│ 36│35│ 37│38│ 39│40│ 42│41│ 44│43│ 45│46│ 47│48│
+│ Layer Column ID│ 17│18│ 20│19│ 21│22│ 23│24│ 26│25│ 28│27│ 29│30│ 31│32│
+│ ╶─────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Column ID │ 49│50│ 51│52│ 54│53│ 56│55│ 57│58│ 60│59│ 62│61│ 64│63│
+│ Layer Column ID│ 17│18│ 20│19│ 21│22│ 23│24│ 26│25│ 28│27│ 29│30│ 31│32│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 49│50│ 51│52│ 54│53│ 56│55│ 57│58│ 60│59│ 62│61│ 64│63│
+│ Layer Column ID│ 17│18│ 20│19│ 21│22│ 23│24│ 26│25│ 28│27│ 29│30│ 31│32│
+╰──────────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──┴───┴──╯
+])
+AT_CLEANUP
+
+AT_SETUP([CTABLES area definitions with CLABELS COLLABELS=OPPOSITE])
+AT_KEYWORDS([COLLABELS OPPOSITE])
+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 qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[TABLEID, LAYERID, SUBTABLEID]
+ /SLABELS POSITION=ROW
+ /CLABELS COLLABELS=OPPOSITE
+ /TABLE qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[ROWID, LAYERROWID]
+ /SLABELS POSITION=ROW
+ /CLABELS COLLABELS=OPPOSITE
+ /TABLE qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[COLID, LAYERCOLID]
+ /SLABELS POSITION=ROW
+ /CLABELS COLLABELS=OPPOSITE.
+]])
+AT_CHECK([pspp ctables.sps --table-look="$builddir"/all-layers.stt -O box=unicode -O width=120], [0], [dnl
+ Custom Tables
+Male
+╭──────────────────────────────────────────┬───────────────────╮
+│ │ QN27 │
+│ ├─────────┬─────────┤
+│ │ Yes │ No │
+│ ├─────────┼─────────┤
+│ │ QND7A │ QND7A │
+│ ├────┬────┼────┬────┤
+│ │ Yes│ No │ Yes│ No │
+│ ├────┼────┼────┼────┤
+│ │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 1│ 1│ 2│ 2│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 1│ 1│ 2│ 2│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 3│ 3│ 4│ 4│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 3│ 3│ 4│ 4│
+│ ╶────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 5│ 5│ 6│ 6│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 5│ 5│ 6│ 6│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 7│ 7│ 8│ 8│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 7│ 7│ 8│ 8│
+│ ╶─────────────────────────────────────┼────┼────┼────┼────┤
+│ No QN61 Yes QN57 Yes Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 9│ 9│ 10│ 10│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 9│ 9│ 10│ 10│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 11│ 11│ 12│ 12│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 11│ 11│ 12│ 12│
+│ ╶────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 13│ 13│ 14│ 14│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 13│ 13│ 14│ 14│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 15│ 15│ 16│ 16│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│
+│ Subtable ID│ 15│ 15│ 16│ 16│
+╰──────────────────────────────────────────┴────┴────┴────┴────╯
+
+ Custom Tables
+Female
+╭──────────────────────────────────────────┬───────────────────╮
+│ │ QN27 │
+│ ├─────────┬─────────┤
+│ │ Yes │ No │
+│ ├─────────┼─────────┤
+│ │ QND7A │ QND7A │
+│ ├────┬────┼────┬────┤
+│ │ Yes│ No │ Yes│ No │
+│ ├────┼────┼────┼────┤
+│ │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 17│ 17│ 18│ 18│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 17│ 17│ 18│ 18│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 19│ 19│ 20│ 20│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 19│ 19│ 20│ 20│
+│ ╶────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 21│ 21│ 22│ 22│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 21│ 21│ 22│ 22│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 23│ 23│ 24│ 24│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 23│ 23│ 24│ 24│
+│ ╶─────────────────────────────────────┼────┼────┼────┼────┤
+│ No QN61 Yes QN57 Yes Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 25│ 25│ 26│ 26│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 25│ 25│ 26│ 26│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 27│ 27│ 28│ 28│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 27│ 27│ 28│ 28│
+│ ╶────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 29│ 29│ 30│ 30│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 29│ 29│ 30│ 30│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Yes Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 31│ 31│ 32│ 32│
+│ ╶───────────────┼────┼────┼────┼────┤
+│ No Table ID │ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│
+│ Subtable ID│ 31│ 31│ 32│ 32│
+╰──────────────────────────────────────────┴────┴────┴────┴────╯
+
+ Custom Tables
+Male
+╭───────────────────────────────────────────┬───────────────────╮
+│ │ QN27 │
+│ ├─────────┬─────────┤
+│ │ Yes │ No │
+│ ├─────────┼─────────┤
+│ │ QND7A │ QND7A │
+│ ├────┬────┼────┬────┤
+│ │ Yes│ No │ Yes│ No │
+│ ├────┼────┼────┼────┤
+│ │QN86│QN86│QN86│QN86│
+├───────────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Yes Row ID │ 1│ 1│ 3│ 3│
+│ Layer Row ID│ 1│ 1│ 1│ 1│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 2│ 2│ 4│ 4│
+│ Layer Row ID│ 2│ 2│ 2│ 2│
+│ ╶────────────────────┼────┼────┼────┼────┤
+│ No Yes Row ID │ 6│ 6│ 7│ 7│
+│ Layer Row ID│ 4│ 4│ 4│ 4│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 5│ 5│ 8│ 8│
+│ Layer Row ID│ 3│ 3│ 3│ 3│
+│ ╶─────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Row ID │ 10│ 10│ 11│ 11│
+│ Layer Row ID│ 6│ 6│ 6│ 6│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 9│ 9│ 12│ 12│
+│ Layer Row ID│ 5│ 5│ 5│ 5│
+│ ╶────────────────────┼────┼────┼────┼────┤
+│ No Yes Row ID │ 13│ 13│ 15│ 15│
+│ Layer Row ID│ 7│ 7│ 7│ 7│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 14│ 14│ 16│ 16│
+│ Layer Row ID│ 8│ 8│ 8│ 8│
+│ ╶──────────────────────────────────────┼────┼────┼────┼────┤
+│ No QN61 Yes QN57 Yes Yes Row ID │ 17│ 17│ 20│ 20│
+│ Layer Row ID│ 9│ 9│ 9│ 9│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 18│ 18│ 19│ 19│
+│ Layer Row ID│ 10│ 10│ 10│ 10│
+│ ╶────────────────────┼────┼────┼────┼────┤
+│ No Yes Row ID │ 21│ 21│ 24│ 24│
+│ Layer Row ID│ 11│ 11│ 11│ 11│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 22│ 22│ 23│ 23│
+│ Layer Row ID│ 12│ 12│ 12│ 12│
+│ ╶─────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Row ID │ 25│ 25│ 27│ 27│
+│ Layer Row ID│ 13│ 13│ 13│ 13│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 26│ 26│ 28│ 28│
+│ Layer Row ID│ 14│ 14│ 14│ 14│
+│ ╶────────────────────┼────┼────┼────┼────┤
+│ No Yes Row ID │ 30│ 30│ 32│ 32│
+│ Layer Row ID│ 16│ 16│ 16│ 16│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 29│ 29│ 31│ 31│
+│ Layer Row ID│ 15│ 15│ 15│ 15│
+╰───────────────────────────────────────────┴────┴────┴────┴────╯
+
+ Custom Tables
+Female
+╭───────────────────────────────────────────┬───────────────────╮
+│ │ QN27 │
+│ ├─────────┬─────────┤
+│ │ Yes │ No │
+│ ├─────────┼─────────┤
+│ │ QND7A │ QND7A │
+│ ├────┬────┼────┬────┤
+│ │ Yes│ No │ Yes│ No │
+│ ├────┼────┼────┼────┤
+│ │QN86│QN86│QN86│QN86│
+├───────────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Yes Row ID │ 34│ 34│ 35│ 35│
+│ Layer Row ID│ 18│ 18│ 18│ 18│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 33│ 33│ 36│ 36│
+│ Layer Row ID│ 17│ 17│ 17│ 17│
+│ ╶────────────────────┼────┼────┼────┼────┤
+│ No Yes Row ID │ 38│ 38│ 39│ 39│
+│ Layer Row ID│ 20│ 20│ 20│ 20│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 37│ 37│ 40│ 40│
+│ Layer Row ID│ 19│ 19│ 19│ 19│
+│ ╶─────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Row ID │ 42│ 42│ 43│ 43│
+│ Layer Row ID│ 22│ 22│ 22│ 22│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 41│ 41│ 44│ 44│
+│ Layer Row ID│ 21│ 21│ 21│ 21│
+│ ╶────────────────────┼────┼────┼────┼────┤
+│ No Yes Row ID │ 45│ 45│ 47│ 47│
+│ Layer Row ID│ 23│ 23│ 23│ 23│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 46│ 46│ 48│ 48│
+│ Layer Row ID│ 24│ 24│ 24│ 24│
+│ ╶──────────────────────────────────────┼────┼────┼────┼────┤
+│ No QN61 Yes QN57 Yes Yes Row ID │ 50│ 50│ 51│ 51│
+│ Layer Row ID│ 26│ 26│ 26│ 26│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 49│ 49│ 52│ 52│
+│ Layer Row ID│ 25│ 25│ 25│ 25│
+│ ╶────────────────────┼────┼────┼────┼────┤
+│ No Yes Row ID │ 53│ 53│ 55│ 55│
+│ Layer Row ID│ 27│ 27│ 27│ 27│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 54│ 54│ 56│ 56│
+│ Layer Row ID│ 28│ 28│ 28│ 28│
+│ ╶─────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Row ID │ 57│ 57│ 59│ 59│
+│ Layer Row ID│ 29│ 29│ 29│ 29│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 58│ 58│ 60│ 60│
+│ Layer Row ID│ 30│ 30│ 30│ 30│
+│ ╶────────────────────┼────┼────┼────┼────┤
+│ No Yes Row ID │ 62│ 62│ 64│ 64│
+│ Layer Row ID│ 32│ 32│ 32│ 32│
+│ ╶────────────────┼────┼────┼────┼────┤
+│ No Row ID │ 61│ 61│ 63│ 63│
+│ Layer Row ID│ 31│ 31│ 31│ 31│
+╰───────────────────────────────────────────┴────┴────┴────┴────╯
+
+ Custom Tables
+Male
+╭──────────────────────────────────────────────┬───────────────────╮
+│ │ QN27 │
+│ ├─────────┬─────────┤
+│ │ Yes │ No │
+│ ├─────────┼─────────┤
+│ │ QND7A │ QND7A │
+│ ├────┬────┼────┬────┤
+│ │ Yes│ No │ Yes│ No │
+│ ├────┼────┼────┼────┤
+│ │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Yes Column ID │ 1│ 2│ 3│ 4│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 1│ 2│ 3│ 4│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────────┼────┼────┼────┼────┤
+│ No Yes Column ID │ 5│ 6│ 7│ 8│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 5│ 6│ 7│ 8│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶────────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Column ID │ 9│ 10│ 11│ 12│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 9│ 10│ 11│ 12│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────────┼────┼────┼────┼────┤
+│ No Yes Column ID │ 13│ 14│ 15│ 16│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 13│ 14│ 15│ 16│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶─────────────────────────────────────────┼────┼────┼────┼────┤
+│ No QN61 Yes QN57 Yes Yes Column ID │ 17│ 18│ 19│ 20│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 17│ 18│ 19│ 20│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────────┼────┼────┼────┼────┤
+│ No Yes Column ID │ 21│ 22│ 23│ 24│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 21│ 22│ 23│ 24│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶────────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Column ID │ 25│ 26│ 27│ 28│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 25│ 26│ 27│ 28│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────────┼────┼────┼────┼────┤
+│ No Yes Column ID │ 29│ 30│ 31│ 32│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 29│ 30│ 31│ 32│
+│ Layer Column ID│ 1│ 2│ 3│ 4│
+╰──────────────────────────────────────────────┴────┴────┴────┴────╯
+
+ Custom Tables
+Female
+╭──────────────────────────────────────────────┬───────────────────╮
+│ │ QN27 │
+│ ├─────────┬─────────┤
+│ │ Yes │ No │
+│ ├─────────┼─────────┤
+│ │ QND7A │ QND7A │
+│ ├────┬────┼────┬────┤
+│ │ Yes│ No │ Yes│ No │
+│ ├────┼────┼────┼────┤
+│ │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Yes Column ID │ 33│ 34│ 35│ 36│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 33│ 34│ 35│ 36│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────────┼────┼────┼────┼────┤
+│ No Yes Column ID │ 37│ 38│ 39│ 40│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 37│ 38│ 39│ 40│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶────────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Column ID │ 41│ 42│ 43│ 44│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 41│ 42│ 43│ 44│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────────┼────┼────┼────┼────┤
+│ No Yes Column ID │ 45│ 46│ 47│ 48│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 45│ 46│ 47│ 48│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶─────────────────────────────────────────┼────┼────┼────┼────┤
+│ No QN61 Yes QN57 Yes Yes Column ID │ 49│ 50│ 51│ 52│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 49│ 50│ 51│ 52│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────────┼────┼────┼────┼────┤
+│ No Yes Column ID │ 53│ 54│ 55│ 56│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 53│ 54│ 55│ 56│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶────────────────────────────────┼────┼────┼────┼────┤
+│ No QN57 Yes Yes Column ID │ 57│ 58│ 59│ 60│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 57│ 58│ 59│ 60│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────────┼────┼────┼────┼────┤
+│ No Yes Column ID │ 61│ 62│ 63│ 64│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+│ ╶───────────────────┼────┼────┼────┼────┤
+│ No Column ID │ 61│ 62│ 63│ 64│
+│ Layer Column ID│ 5│ 6│ 7│ 8│
+╰──────────────────────────────────────────────┴────┴────┴────┴────╯
+])
+AT_CLEANUP
+
+AT_SETUP([CTABLES area definitions with CLABELS ROWLABELS=LAYER])
+AT_KEYWORDS([ROWLABELS LAYER])
+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 qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[TABLEID, LAYERID, SUBTABLEID]
+ /SLABELS POSITION=ROW
+ /CLABELS ROWLABELS=LAYER
+ /TABLE qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[ROWID, LAYERROWID]
+ /SLABELS POSITION=ROW
+ /CLABELS ROWLABELS=LAYER
+ /TABLE qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[COLID, LAYERCOLID]
+ /SLABELS POSITION=ROW
+ /CLABELS ROWLABELS=LAYER.
+]])
+AT_CHECK([pspp ctables.sps --table-look="$builddir"/all-layers.stt -O box=unicode -O width=120], [0], [dnl
+ Custom Tables
+Male
+Yes
+╭──────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│
+│ Subtable ID│ 2│ 2│ 4│ 4│ 6│ 6│ 7│ 7│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│
+│ Subtable ID│ 2│ 2│ 4│ 4│ 6│ 6│ 7│ 7│
+│ ╶─────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│
+│ Subtable ID│ 10│10│ 12│12│ 13│13│ 15│15│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│
+│ Subtable ID│ 10│10│ 12│12│ 13│13│ 15│15│
+╰──────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Male
+No
+╭──────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Subtable ID│ 1│ 1│ 3│ 3│ 5│ 5│ 8│ 8│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Subtable ID│ 1│ 1│ 3│ 3│ 5│ 5│ 8│ 8│
+│ ╶─────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Subtable ID│ 9│ 9│ 11│11│ 14│14│ 16│16│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Subtable ID│ 9│ 9│ 11│11│ 14│14│ 16│16│
+╰──────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Female
+Yes
+╭──────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│
+│ Subtable ID│ 18│18│ 20│20│ 21│21│ 23│23│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│
+│ Subtable ID│ 18│18│ 20│20│ 21│21│ 23│23│
+│ ╶─────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│
+│ Subtable ID│ 26│26│ 27│27│ 30│30│ 31│31│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│
+│ Subtable ID│ 26│26│ 27│27│ 30│30│ 31│31│
+╰──────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Female
+No
+╭──────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│
+│ Subtable ID│ 17│17│ 19│19│ 22│22│ 24│24│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│
+│ Subtable ID│ 17│17│ 19│19│ 22│22│ 24│24│
+│ ╶─────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│
+│ Subtable ID│ 25│25│ 28│28│ 29│29│ 32│32│
+│ ╶────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Table ID │ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ Layer ID │ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│
+│ Subtable ID│ 25│25│ 28│28│ 29│29│ 32│32│
+╰──────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Male
+Yes
+╭───────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├───────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Row ID │ 1│ 1│ 3│ 3│ 6│ 6│ 7│ 7│
+│ Layer Row ID│ 1│ 1│ 1│ 1│ 1│ 1│ 1│ 1│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 10│10│ 11│11│ 13│13│ 15│15│
+│ Layer Row ID│ 4│ 4│ 4│ 4│ 4│ 4│ 4│ 4│
+│ ╶──────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Row ID │ 17│17│ 20│20│ 21│21│ 24│24│
+│ Layer Row ID│ 5│ 5│ 5│ 5│ 5│ 5│ 5│ 5│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 25│25│ 28│28│ 30│30│ 31│31│
+│ Layer Row ID│ 7│ 7│ 7│ 7│ 7│ 7│ 7│ 7│
+╰───────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Male
+No
+╭───────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├───────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Row ID │ 2│ 2│ 4│ 4│ 5│ 5│ 8│ 8│
+│ Layer Row ID│ 2│ 2│ 2│ 2│ 2│ 2│ 2│ 2│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 9│ 9│ 12│12│ 14│14│ 16│16│
+│ Layer Row ID│ 3│ 3│ 3│ 3│ 3│ 3│ 3│ 3│
+│ ╶──────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Row ID │ 18│18│ 19│19│ 22│22│ 23│23│
+│ Layer Row ID│ 6│ 6│ 6│ 6│ 6│ 6│ 6│ 6│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 26│26│ 27│27│ 29│29│ 32│32│
+│ Layer Row ID│ 8│ 8│ 8│ 8│ 8│ 8│ 8│ 8│
+╰───────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Female
+Yes
+╭───────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├───────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Row ID │ 34│34│ 36│36│ 38│38│ 39│39│
+│ Layer Row ID│ 10│10│ 10│10│ 10│10│ 10│10│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 41│41│ 43│43│ 46│46│ 47│47│
+│ Layer Row ID│ 11│11│ 11│11│ 11│11│ 11│11│
+│ ╶──────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Row ID │ 50│50│ 51│51│ 53│53│ 56│56│
+│ Layer Row ID│ 14│14│ 14│14│ 14│14│ 14│14│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 58│58│ 59│59│ 62│62│ 63│63│
+│ Layer Row ID│ 16│16│ 16│16│ 16│16│ 16│16│
+╰───────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Female
+No
+╭───────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├───────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Row ID │ 33│33│ 35│35│ 37│37│ 40│40│
+│ Layer Row ID│ 9│ 9│ 9│ 9│ 9│ 9│ 9│ 9│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 42│42│ 44│44│ 45│45│ 48│48│
+│ Layer Row ID│ 12│12│ 12│12│ 12│12│ 12│12│
+│ ╶──────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Row ID │ 49│49│ 52│52│ 54│54│ 55│55│
+│ Layer Row ID│ 13│13│ 13│13│ 13│13│ 13│13│
+│ ╶─────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Row ID │ 57│57│ 60│60│ 61│61│ 64│64│
+│ Layer Row ID│ 15│15│ 15│15│ 15│15│ 15│15│
+╰───────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Male
+Yes
+╭──────────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Column ID │ 1│ 4│ 6│ 8│ 9│11│ 14│15│
+│ Layer Column ID│ 1│ 4│ 6│ 8│ 9│11│ 14│15│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 1│ 4│ 6│ 8│ 9│11│ 14│15│
+│ Layer Column ID│ 1│ 4│ 6│ 8│ 9│11│ 14│15│
+│ ╶─────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Column ID │ 18│19│ 22│23│ 25│27│ 29│32│
+│ Layer Column ID│ 1│ 4│ 6│ 8│ 9│11│ 14│15│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 18│19│ 22│23│ 25│27│ 29│32│
+│ Layer Column ID│ 1│ 4│ 6│ 8│ 9│11│ 14│15│
+╰──────────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Male
+No
+╭──────────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Column ID │ 2│ 3│ 5│ 7│ 10│12│ 13│16│
+│ Layer Column ID│ 2│ 3│ 5│ 7│ 10│12│ 13│16│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 2│ 3│ 5│ 7│ 10│12│ 13│16│
+│ Layer Column ID│ 2│ 3│ 5│ 7│ 10│12│ 13│16│
+│ ╶─────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Column ID │ 17│20│ 21│24│ 26│28│ 30│31│
+│ Layer Column ID│ 2│ 3│ 5│ 7│ 10│12│ 13│16│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 17│20│ 21│24│ 26│28│ 30│31│
+│ Layer Column ID│ 2│ 3│ 5│ 7│ 10│12│ 13│16│
+╰──────────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Female
+Yes
+╭──────────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Column ID │ 33│36│ 37│39│ 42│44│ 45│47│
+│ Layer Column ID│ 17│20│ 21│23│ 26│28│ 29│31│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 33│36│ 37│39│ 42│44│ 45│47│
+│ Layer Column ID│ 17│20│ 21│23│ 26│28│ 29│31│
+│ ╶─────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Column ID │ 49│51│ 54│56│ 57│60│ 62│64│
+│ Layer Column ID│ 17│20│ 21│23│ 26│28│ 29│31│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 49│51│ 54│56│ 57│60│ 62│64│
+│ Layer Column ID│ 17│20│ 21│23│ 26│28│ 29│31│
+╰──────────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+
+ Custom Tables
+Female
+No
+╭──────────────────────────────────────┬───────────────────────────╮
+│ │ QN27 │
+│ ├─────────────┬─────────────┤
+│ │ Yes │ No │
+│ ├─────────────┼─────────────┤
+│ │ QND7A │ QND7A │
+│ ├──────┬──────┼──────┬──────┤
+│ │ Yes │ No │ Yes │ No │
+│ ├──────┼──────┼──────┼──────┤
+│ │ QN86 │ QN86 │ QN86 │ QN86 │
+│ ├───┬──┼───┬──┼───┬──┼───┬──┤
+│ │Yes│No│Yes│No│Yes│No│Yes│No│
+├──────────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│QN26 Yes QN61 Yes QN57 Column ID │ 34│35│ 38│40│ 41│43│ 46│48│
+│ Layer Column ID│ 18│19│ 22│24│ 25│27│ 30│32│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 34│35│ 38│40│ 41│43│ 46│48│
+│ Layer Column ID│ 18│19│ 22│24│ 25│27│ 30│32│
+│ ╶─────────────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN61 Yes QN57 Column ID │ 50│52│ 53│55│ 58│59│ 61│63│
+│ Layer Column ID│ 18│19│ 22│24│ 25│27│ 30│32│
+│ ╶────────────────────────┼───┼──┼───┼──┼───┼──┼───┼──┤
+│ No QN57 Column ID │ 50│52│ 53│55│ 58│59│ 61│63│
+│ Layer Column ID│ 18│19│ 22│24│ 25│27│ 30│32│
+╰──────────────────────────────────────┴───┴──┴───┴──┴───┴──┴───┴──╯
+])
+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],
╰────────────────────────────────────────────────────────────────────────┴─────╯
])
AT_CLEANUP
+
+AT_SETUP([CTABLES variable level inference])
+AT_DATA([data.txt], [dnl
+dnl n1 has 10 unique small values -> nominal.
+dnl n2 has 23 unique small values -> nominal.
+dnl n3 is all missing -> nominal.
+dnl s1 has 24 unique small values -> scale.
+dnl s2 has one negative value -> scale.
+dnl s3 has one non-integer value -> scale.
+dnl s4 has no valid values less than 10 -> scale.
+dnl s5 has no valid values less than 10,000 -> scale.
+1 1 . 1 1 1 10 10001
+2 2 . 2 2 2 11 10002
+3 3 . 3 3 3 12 10003
+4 4 . 4 4 4 13 10004
+5 5 . 5 5 5 14 10005
+6 6 . 6 6 6 15 10006
+7 7 . 7 7 7 16 10007
+8 8 . 8 8 8 17 10008
+9 9 . 9 9 9 18 10009
+10 10 . 10 10 10.5 19 110000
+1 11 . 11 -1 1 11 10001
+2 12 . 12 2 2 12 10002
+3 13 . 13 3 3 13 10003
+4 14 . 14 4 4 14 10004
+5 15 . 15 5 5 15 10005
+6 16 . 16 6 6 16 10006
+7 17 . 17 7 7 17 10007
+8 18 . 18 8 8 18 10008
+9 19 . 19 9 9 19 10009
+1 20 . 20 1 1 20 10001
+2 21 . 21 2 2 21 10002
+3 22 . 22 3 3 22 10003
+4 23 . 23 4 4 23 10004
+5 23 . 24 5 5 24 10005
+6 23 . 24 6 6 25 10006
+])
+
+AT_DATA([ctables.sps], [dnl
+DATA LIST LIST file='data.txt' NOTABLE /n1 to n3 s1 to s5.
+
+* Nominal formats (copied from data that will default to scale).
+COMPUTE n4=s1.
+COMPUTE n5=s1.
+FORMATS n4(WKDAY5) n5(MONTH5).
+
+* Scale formats (copied from data that will default to nominal).
+COMPUTE s6=n1.
+COMPUTE s7=n1.
+COMPUTE s8=n1.
+FORMATS s6(DOLLAR6.2) s7(CCA8.2) s8(DATETIME17).
+
+STRING string(A8).
+
+DISPLAY DICTIONARY.
+CTABLES /TABLE n1 + n2 + n3 + string + s1 + s2 + s3 + s4 + s5.
+DISPLAY DICTIONARY.
+])
+
+AT_CHECK([pspp ctables.sps -O box=unicode -O width=80], [0], [dnl
+ Variables
+╭──────┬────────┬──────────────┬─────┬─────┬─────────┬────────────┬────────────╮
+│ │ │ Measurement │ │ │ │ │ │
+│Name │Position│ Level │ Role│Width│Alignment│Print Format│Write Format│
+├──────┼────────┼──────────────┼─────┼─────┼─────────┼────────────┼────────────┤
+│n1 │ 1│Unknown │Input│ 8│Right │F8.2 │F8.2 │
+│n2 │ 2│Unknown │Input│ 8│Right │F8.2 │F8.2 │
+│n3 │ 3│Unknown │Input│ 8│Right │F8.2 │F8.2 │
+│s1 │ 4│Unknown │Input│ 8│Right │F8.2 │F8.2 │
+│s2 │ 5│Unknown │Input│ 8│Right │F8.2 │F8.2 │
+│s3 │ 6│Unknown │Input│ 8│Right │F8.2 │F8.2 │
+│s4 │ 7│Unknown │Input│ 8│Right │F8.2 │F8.2 │
+│s5 │ 8│Unknown │Input│ 8│Right │F8.2 │F8.2 │
+│n4 │ 9│Unknown │Input│ 8│Right │WKDAY5 │WKDAY5 │
+│n5 │ 10│Unknown │Input│ 8│Right │MONTH5 │MONTH5 │
+│s6 │ 11│Unknown │Input│ 8│Right │DOLLAR6.2 │DOLLAR6.2 │
+│s7 │ 12│Unknown │Input│ 8│Right │CCA8.2 │CCA8.2 │
+│s8 │ 13│Unknown │Input│ 8│Right │DATETIME17.0│DATETIME17.0│
+│string│ 14│Nominal │Input│ 8│Left │A8 │A8 │
+╰──────┴────────┴──────────────┴─────┴─────┴─────────┴────────────┴────────────╯
+
+ Custom Tables
+╭────────────┬─────┬────────╮
+│ │Count│ Mean │
+├────────────┼─────┼────────┤
+│n1 1.00 │ 3│ │
+│ 2.00 │ 3│ │
+│ 3.00 │ 3│ │
+│ 4.00 │ 3│ │
+│ 5.00 │ 3│ │
+│ 6.00 │ 3│ │
+│ 7.00 │ 2│ │
+│ 8.00 │ 2│ │
+│ 9.00 │ 2│ │
+│ 10.00│ 1│ │
+├────────────┼─────┼────────┤
+│n2 1.00 │ 1│ │
+│ 2.00 │ 1│ │
+│ 3.00 │ 1│ │
+│ 4.00 │ 1│ │
+│ 5.00 │ 1│ │
+│ 6.00 │ 1│ │
+│ 7.00 │ 1│ │
+│ 8.00 │ 1│ │
+│ 9.00 │ 1│ │
+│ 10.00│ 1│ │
+│ 11.00│ 1│ │
+│ 12.00│ 1│ │
+│ 13.00│ 1│ │
+│ 14.00│ 1│ │
+│ 15.00│ 1│ │
+│ 16.00│ 1│ │
+│ 17.00│ 1│ │
+│ 18.00│ 1│ │
+│ 19.00│ 1│ │
+│ 20.00│ 1│ │
+│ 21.00│ 1│ │
+│ 22.00│ 1│ │
+│ 23.00│ 3│ │
+├────────────┼─────┼────────┤
+│string │ 25│ │
+├────────────┼─────┼────────┤
+│s1 │ │ 12.96│
+├────────────┼─────┼────────┤
+│s2 │ │ 4.76│
+├────────────┼─────┼────────┤
+│s3 │ │ 4.86│
+├────────────┼─────┼────────┤
+│s4 │ │ 16.60│
+├────────────┼─────┼────────┤
+│s5 │ │14004.44│
+╰────────────┴─────┴────────╯
+
+ Variables
+╭──────┬────────┬──────────────┬─────┬─────┬─────────┬────────────┬────────────╮
+│ │ │ Measurement │ │ │ │ │ │
+│Name │Position│ Level │ Role│Width│Alignment│Print Format│Write Format│
+├──────┼────────┼──────────────┼─────┼─────┼─────────┼────────────┼────────────┤
+│n1 │ 1│Nominal │Input│ 8│Right │F8.2 │F8.2 │
+│n2 │ 2│Nominal │Input│ 8│Right │F8.2 │F8.2 │
+│n3 │ 3│Nominal │Input│ 8│Right │F8.2 │F8.2 │
+│s1 │ 4│Scale │Input│ 8│Right │F8.2 │F8.2 │
+│s2 │ 5│Scale │Input│ 8│Right │F8.2 │F8.2 │
+│s3 │ 6│Scale │Input│ 8│Right │F8.2 │F8.2 │
+│s4 │ 7│Scale │Input│ 8│Right │F8.2 │F8.2 │
+│s5 │ 8│Scale │Input│ 8│Right │F8.2 │F8.2 │
+│n4 │ 9│Nominal │Input│ 8│Right │WKDAY5 │WKDAY5 │
+│n5 │ 10│Nominal │Input│ 8│Right │MONTH5 │MONTH5 │
+│s6 │ 11│Scale │Input│ 8│Right │DOLLAR6.2 │DOLLAR6.2 │
+│s7 │ 12│Scale │Input│ 8│Right │CCA8.2 │CCA8.2 │
+│s8 │ 13│Scale │Input│ 8│Right │DATETIME17.0│DATETIME17.0│
+│string│ 14│Nominal │Input│ 8│Left │A8 │A8 │
+╰──────┴────────┴──────────────┴─────┴─────┴─────────┴────────────┴────────────╯
+])
+AT_CLEANUP