COLLABELS=OPPSITE works now too
[pspp] / tests / language / stats / ctables.at
index 62efd1b0560e0e84f9b23a0f1d3e612323ecb0c1..5261ff472a61ddd6b783f9f5970299d67a778d05 100644 (file)
@@ -3026,11 +3026,11 @@ 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]
+    /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
@@ -3188,6 +3188,638 @@ Female
 ])
 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 categorical summary functions])
 AT_CHECK([ln $top_srcdir/examples/nhtsa.sav . || cp $top_srcdir/examples/nhtsa.sav .])
 AT_DATA([ctables.sps],