improve scale summary test
[pspp] / tests / language / stats / ctables.at
index 9c9cc3e1cc2fd275b4c61a50291138ab406b7863..8c80d22a36c5557375e9a8e87c070d62de0b8934 100644 (file)
@@ -2,12 +2,10 @@ AT_BANNER([CTABLES])
 
 dnl Features not yet tested:
 dnl - Summary functions:
-dnl   * Separate summary functions for totals and subtotals.
 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 - Multiple response sets
@@ -3832,8 +3830,8 @@ CTABLES
     /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]
+    /CLABELS ROWLABELS=LAYER
+    /TABLE qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[COLID, LAYERCOLID]
     /SLABELS POSITION=ROW
     /CLABELS ROWLABELS=LAYER.
 ]])
@@ -4085,6 +4083,642 @@ No
 │              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 area definitions with CLABELS COLLABELS=LAYER])
+AT_KEYWORDS([COLLABELS 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 COLLABELS=LAYER
+    /TABLE qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[ROWID, LAYERROWID]
+    /SLABELS POSITION=ROW
+    /CLABELS COLLABELS=LAYER
+    /TABLE qn26 > qn61 > qn57 BY qn27 > qnd7a > qn86 BY qns3a[COLID, LAYERCOLID]
+    /SLABELS POSITION=ROW
+    /CLABELS COLLABELS=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│
+├──────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   2│   2│   2│   2│
+│                           Subtable ID│   2│   2│   4│   4│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   2│   2│   2│   2│
+│                           Subtable ID│   2│   2│   4│   4│
+│             ╶────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   2│   2│   2│   2│
+│                           Subtable ID│   5│   5│   8│   8│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   2│   2│   2│   2│
+│                           Subtable ID│   5│   5│   8│   8│
+│    ╶─────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   2│   2│   2│   2│
+│                           Subtable ID│   9│   9│  12│  12│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   2│   2│   2│   2│
+│                           Subtable ID│   9│   9│  12│  12│
+│             ╶────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   2│   2│   2│   2│
+│                           Subtable ID│  14│  14│  15│  15│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   2│   2│   2│   2│
+│                           Subtable ID│  14│  14│  15│  15│
+╰──────────────────────────────────────┴────┴────┴────┴────╯
+
+                        Custom Tables
+Male
+No
+╭──────────────────────────────────────┬───────────────────╮
+│                                      │        QN27       │
+│                                      ├─────────┬─────────┤
+│                                      │   Yes   │    No   │
+│                                      ├─────────┼─────────┤
+│                                      │  QND7A  │  QND7A  │
+│                                      ├────┬────┼────┬────┤
+│                                      │ Yes│ No │ Yes│ No │
+│                                      ├────┼────┼────┼────┤
+│                                      │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   1│   1│   1│   1│
+│                           Subtable ID│   1│   1│   3│   3│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   1│   1│   1│   1│
+│                           Subtable ID│   1│   1│   3│   3│
+│             ╶────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   1│   1│   1│   1│
+│                           Subtable ID│   6│   6│   7│   7│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   1│   1│   1│   1│
+│                           Subtable ID│   6│   6│   7│   7│
+│    ╶─────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   1│   1│   1│   1│
+│                           Subtable ID│  10│  10│  11│  11│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   1│   1│   1│   1│
+│                           Subtable ID│  10│  10│  11│  11│
+│             ╶────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   1│   1│   1│   1│
+│                           Subtable ID│  13│  13│  16│  16│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   1│   1│   1│   1│
+│                           Subtable ID│  13│  13│  16│  16│
+╰──────────────────────────────────────┴────┴────┴────┴────╯
+
+                        Custom Tables
+Female
+Yes
+╭──────────────────────────────────────┬───────────────────╮
+│                                      │        QN27       │
+│                                      ├─────────┬─────────┤
+│                                      │   Yes   │    No   │
+│                                      ├─────────┼─────────┤
+│                                      │  QND7A  │  QND7A  │
+│                                      ├────┬────┼────┬────┤
+│                                      │ Yes│ No │ Yes│ No │
+│                                      ├────┼────┼────┼────┤
+│                                      │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   4│   4│   4│   4│
+│                           Subtable ID│  18│  18│  20│  20│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   4│   4│   4│   4│
+│                           Subtable ID│  18│  18│  20│  20│
+│             ╶────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   4│   4│   4│   4│
+│                           Subtable ID│  21│  21│  23│  23│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   4│   4│   4│   4│
+│                           Subtable ID│  21│  21│  23│  23│
+│    ╶─────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   4│   4│   4│   4│
+│                           Subtable ID│  25│  25│  28│  28│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   4│   4│   4│   4│
+│                           Subtable ID│  25│  25│  28│  28│
+│             ╶────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   4│   4│   4│   4│
+│                           Subtable ID│  30│  30│  32│  32│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   4│   4│   4│   4│
+│                           Subtable ID│  30│  30│  32│  32│
+╰──────────────────────────────────────┴────┴────┴────┴────╯
+
+                        Custom Tables
+Female
+No
+╭──────────────────────────────────────┬───────────────────╮
+│                                      │        QN27       │
+│                                      ├─────────┬─────────┤
+│                                      │   Yes   │    No   │
+│                                      ├─────────┼─────────┤
+│                                      │  QND7A  │  QND7A  │
+│                                      ├────┬────┼────┬────┤
+│                                      │ Yes│ No │ Yes│ No │
+│                                      ├────┼────┼────┼────┤
+│                                      │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   3│   3│   3│   3│
+│                           Subtable ID│  17│  17│  19│  19│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   3│   3│   3│   3│
+│                           Subtable ID│  17│  17│  19│  19│
+│             ╶────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   3│   3│   3│   3│
+│                           Subtable ID│  22│  22│  24│  24│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   3│   3│   3│   3│
+│                           Subtable ID│  22│  22│  24│  24│
+│    ╶─────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   3│   3│   3│   3│
+│                           Subtable ID│  26│  26│  27│  27│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   3│   3│   3│   3│
+│                           Subtable ID│  26│  26│  27│  27│
+│             ╶────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   3│   3│   3│   3│
+│                           Subtable ID│  29│  29│  31│  31│
+│                      ╶───────────────┼────┼────┼────┼────┤
+│                       No  Table ID   │   1│   1│   1│   1│
+│                           Layer ID   │   3│   3│   3│   3│
+│                           Subtable ID│  29│  29│  31│  31│
+╰──────────────────────────────────────┴────┴────┴────┴────╯
+
+                        Custom Tables
+Male
+Yes
+╭───────────────────────────────────────┬───────────────────╮
+│                                       │        QN27       │
+│                                       ├─────────┬─────────┤
+│                                       │   Yes   │    No   │
+│                                       ├─────────┼─────────┤
+│                                       │  QND7A  │  QND7A  │
+│                                       ├────┬────┼────┬────┤
+│                                       │ Yes│ No │ Yes│ No │
+│                                       ├────┼────┼────┼────┤
+│                                       │QN86│QN86│QN86│QN86│
+├───────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Row ID      │   1│   1│   3│   3│
+│                           Layer Row ID│   1│   1│   1│   1│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │   6│   6│   7│   7│
+│                           Layer Row ID│   4│   4│   4│   4│
+│             ╶─────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Row ID      │  10│  10│  11│  11│
+│                           Layer Row ID│   6│   6│   6│   6│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  13│  13│  15│  15│
+│                           Layer Row ID│   7│   7│   7│   7│
+│    ╶──────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Row ID      │  17│  17│  20│  20│
+│                           Layer Row ID│   9│   9│   9│   9│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  21│  21│  24│  24│
+│                           Layer Row ID│  11│  11│  11│  11│
+│             ╶─────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Row ID      │  25│  25│  27│  27│
+│                           Layer Row ID│  13│  13│  13│  13│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  30│  30│  32│  32│
+│                           Layer Row ID│  16│  16│  16│  16│
+╰───────────────────────────────────────┴────┴────┴────┴────╯
+
+                        Custom Tables
+Male
+No
+╭───────────────────────────────────────┬───────────────────╮
+│                                       │        QN27       │
+│                                       ├─────────┬─────────┤
+│                                       │   Yes   │    No   │
+│                                       ├─────────┼─────────┤
+│                                       │  QND7A  │  QND7A  │
+│                                       ├────┬────┼────┬────┤
+│                                       │ Yes│ No │ Yes│ No │
+│                                       ├────┼────┼────┼────┤
+│                                       │QN86│QN86│QN86│QN86│
+├───────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Row ID      │   2│   2│   4│   4│
+│                           Layer Row ID│   2│   2│   2│   2│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │   5│   5│   8│   8│
+│                           Layer Row ID│   3│   3│   3│   3│
+│             ╶─────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Row ID      │   9│   9│  12│  12│
+│                           Layer Row ID│   5│   5│   5│   5│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  14│  14│  16│  16│
+│                           Layer Row ID│   8│   8│   8│   8│
+│    ╶──────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Row ID      │  18│  18│  19│  19│
+│                           Layer Row ID│  10│  10│  10│  10│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  22│  22│  23│  23│
+│                           Layer Row ID│  12│  12│  12│  12│
+│             ╶─────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Row ID      │  26│  26│  28│  28│
+│                           Layer Row ID│  14│  14│  14│  14│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  29│  29│  31│  31│
+│                           Layer Row ID│  15│  15│  15│  15│
+╰───────────────────────────────────────┴────┴────┴────┴────╯
+
+                        Custom Tables
+Female
+Yes
+╭───────────────────────────────────────┬───────────────────╮
+│                                       │        QN27       │
+│                                       ├─────────┬─────────┤
+│                                       │   Yes   │    No   │
+│                                       ├─────────┼─────────┤
+│                                       │  QND7A  │  QND7A  │
+│                                       ├────┬────┼────┬────┤
+│                                       │ Yes│ No │ Yes│ No │
+│                                       ├────┼────┼────┼────┤
+│                                       │QN86│QN86│QN86│QN86│
+├───────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Row ID      │  34│  34│  35│  35│
+│                           Layer Row ID│  18│  18│  18│  18│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  38│  38│  39│  39│
+│                           Layer Row ID│  20│  20│  20│  20│
+│             ╶─────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Row ID      │  42│  42│  43│  43│
+│                           Layer Row ID│  22│  22│  22│  22│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  45│  45│  47│  47│
+│                           Layer Row ID│  23│  23│  23│  23│
+│    ╶──────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Row ID      │  50│  50│  51│  51│
+│                           Layer Row ID│  26│  26│  26│  26│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  53│  53│  55│  55│
+│                           Layer Row ID│  27│  27│  27│  27│
+│             ╶─────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Row ID      │  57│  57│  59│  59│
+│                           Layer Row ID│  29│  29│  29│  29│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  62│  62│  64│  64│
+│                           Layer Row ID│  32│  32│  32│  32│
+╰───────────────────────────────────────┴────┴────┴────┴────╯
+
+                        Custom Tables
+Female
+No
+╭───────────────────────────────────────┬───────────────────╮
+│                                       │        QN27       │
+│                                       ├─────────┬─────────┤
+│                                       │   Yes   │    No   │
+│                                       ├─────────┼─────────┤
+│                                       │  QND7A  │  QND7A  │
+│                                       ├────┬────┼────┬────┤
+│                                       │ Yes│ No │ Yes│ No │
+│                                       ├────┼────┼────┼────┤
+│                                       │QN86│QN86│QN86│QN86│
+├───────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Row ID      │  33│  33│  36│  36│
+│                           Layer Row ID│  17│  17│  17│  17│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  37│  37│  40│  40│
+│                           Layer Row ID│  19│  19│  19│  19│
+│             ╶─────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Row ID      │  41│  41│  44│  44│
+│                           Layer Row ID│  21│  21│  21│  21│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  46│  46│  48│  48│
+│                           Layer Row ID│  24│  24│  24│  24│
+│    ╶──────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Row ID      │  49│  49│  52│  52│
+│                           Layer Row ID│  25│  25│  25│  25│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  54│  54│  56│  56│
+│                           Layer Row ID│  28│  28│  28│  28│
+│             ╶─────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Row ID      │  58│  58│  60│  60│
+│                           Layer Row ID│  30│  30│  30│  30│
+│                      ╶────────────────┼────┼────┼────┼────┤
+│                       No  Row ID      │  61│  61│  63│  63│
+│                           Layer Row ID│  31│  31│  31│  31│
+╰───────────────────────────────────────┴────┴────┴────┴────╯
+
+                          Custom Tables
+Male
+Yes
+╭──────────────────────────────────────────┬───────────────────╮
+│                                          │        QN27       │
+│                                          ├─────────┬─────────┤
+│                                          │   Yes   │    No   │
+│                                          ├─────────┼─────────┤
+│                                          │  QND7A  │  QND7A  │
+│                                          ├────┬────┼────┬────┤
+│                                          │ Yes│ No │ Yes│ No │
+│                                          ├────┼────┼────┼────┤
+│                                          │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Column ID      │   2│   4│   6│   7│
+│                           Layer Column ID│   2│   4│   6│   7│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │   2│   4│   6│   7│
+│                           Layer Column ID│   2│   4│   6│   7│
+│             ╶────────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Column ID      │   9│  12│  13│  16│
+│                           Layer Column ID│   2│   4│   6│   7│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │   9│  12│  13│  16│
+│                           Layer Column ID│   2│   4│   6│   7│
+│    ╶─────────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Column ID      │  18│  19│  22│  24│
+│                           Layer Column ID│   2│   4│   6│   7│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  18│  19│  22│  24│
+│                           Layer Column ID│   2│   4│   6│   7│
+│             ╶────────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Column ID      │  25│  27│  29│  32│
+│                           Layer Column ID│   2│   4│   6│   7│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  25│  27│  29│  32│
+│                           Layer Column ID│   2│   4│   6│   7│
+╰──────────────────────────────────────────┴────┴────┴────┴────╯
+
+                          Custom Tables
+Male
+No
+╭──────────────────────────────────────────┬───────────────────╮
+│                                          │        QN27       │
+│                                          ├─────────┬─────────┤
+│                                          │   Yes   │    No   │
+│                                          ├─────────┼─────────┤
+│                                          │  QND7A  │  QND7A  │
+│                                          ├────┬────┼────┬────┤
+│                                          │ Yes│ No │ Yes│ No │
+│                                          ├────┼────┼────┼────┤
+│                                          │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Column ID      │   1│   3│   5│   8│
+│                           Layer Column ID│   1│   3│   5│   8│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │   1│   3│   5│   8│
+│                           Layer Column ID│   1│   3│   5│   8│
+│             ╶────────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Column ID      │  10│  11│  14│  15│
+│                           Layer Column ID│   1│   3│   5│   8│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  10│  11│  14│  15│
+│                           Layer Column ID│   1│   3│   5│   8│
+│    ╶─────────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Column ID      │  17│  20│  21│  23│
+│                           Layer Column ID│   1│   3│   5│   8│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  17│  20│  21│  23│
+│                           Layer Column ID│   1│   3│   5│   8│
+│             ╶────────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Column ID      │  26│  28│  30│  31│
+│                           Layer Column ID│   1│   3│   5│   8│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  26│  28│  30│  31│
+│                           Layer Column ID│   1│   3│   5│   8│
+╰──────────────────────────────────────────┴────┴────┴────┴────╯
+
+                          Custom Tables
+Female
+Yes
+╭──────────────────────────────────────────┬───────────────────╮
+│                                          │        QN27       │
+│                                          ├─────────┬─────────┤
+│                                          │   Yes   │    No   │
+│                                          ├─────────┼─────────┤
+│                                          │  QND7A  │  QND7A  │
+│                                          ├────┬────┼────┬────┤
+│                                          │ Yes│ No │ Yes│ No │
+│                                          ├────┼────┼────┼────┤
+│                                          │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Column ID      │  34│  36│  37│  40│
+│                           Layer Column ID│  10│  12│  13│  16│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  34│  36│  37│  40│
+│                           Layer Column ID│  10│  12│  13│  16│
+│             ╶────────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Column ID      │  41│  43│  45│  47│
+│                           Layer Column ID│  10│  12│  13│  16│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  41│  43│  45│  47│
+│                           Layer Column ID│  10│  12│  13│  16│
+│    ╶─────────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Column ID      │  49│  51│  54│  55│
+│                           Layer Column ID│  10│  12│  13│  16│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  49│  51│  54│  55│
+│                           Layer Column ID│  10│  12│  13│  16│
+│             ╶────────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Column ID      │  58│  60│  62│  63│
+│                           Layer Column ID│  10│  12│  13│  16│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  58│  60│  62│  63│
+│                           Layer Column ID│  10│  12│  13│  16│
+╰──────────────────────────────────────────┴────┴────┴────┴────╯
+
+                          Custom Tables
+Female
+No
+╭──────────────────────────────────────────┬───────────────────╮
+│                                          │        QN27       │
+│                                          ├─────────┬─────────┤
+│                                          │   Yes   │    No   │
+│                                          ├─────────┼─────────┤
+│                                          │  QND7A  │  QND7A  │
+│                                          ├────┬────┼────┬────┤
+│                                          │ Yes│ No │ Yes│ No │
+│                                          ├────┼────┼────┼────┤
+│                                          │QN86│QN86│QN86│QN86│
+├──────────────────────────────────────────┼────┼────┼────┼────┤
+│QN26 Yes QN61 Yes QN57 Yes Column ID      │  33│  35│  38│  39│
+│                           Layer Column ID│   9│  11│  14│  15│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  33│  35│  38│  39│
+│                           Layer Column ID│   9│  11│  14│  15│
+│             ╶────────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Column ID      │  42│  44│  46│  48│
+│                           Layer Column ID│   9│  11│  14│  15│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  42│  44│  46│  48│
+│                           Layer Column ID│   9│  11│  14│  15│
+│    ╶─────────────────────────────────────┼────┼────┼────┼────┤
+│     No  QN61 Yes QN57 Yes Column ID      │  50│  52│  53│  56│
+│                           Layer Column ID│   9│  11│  14│  15│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  50│  52│  53│  56│
+│                           Layer Column ID│   9│  11│  14│  15│
+│             ╶────────────────────────────┼────┼────┼────┼────┤
+│              No  QN57 Yes Column ID      │  57│  59│  61│  64│
+│                           Layer Column ID│   9│  11│  14│  15│
+│                      ╶───────────────────┼────┼────┼────┼────┤
+│                       No  Column ID      │  57│  59│  61│  64│
+│                           Layer Column ID│   9│  11│  14│  15│
+╰──────────────────────────────────────────┴────┴────┴────┴────╯
 ])
 AT_CLEANUP
 
@@ -4169,10 +4803,11 @@ FREQUENCIES
 SPLIT FILE OFF.
 
 CTABLES
-    /VLABELS VARIABLE=qn19a DISPLAY=NAME /*XXX NONE yields an assertion failure
-    /TABLE region BY qn19a[VALIDN, MISSING, MEAN, SEMEAN, MEDIAN, MODE, STDDEV, VARIANCE, RANGE, MINIMUM, MAXIMUM, SUM, COUNT, TOTALN, COLPCT.SUM]
+    /VLABELS VARIABLE=qn19a DISPLAY=NONE
+    /TABLE region BY qn19a[VALIDN, MISSING, MEAN, SEMEAN, MEDIAN, MODE, STDDEV, VARIANCE, RANGE, MINIMUM, MAXIMUM, SUM, COUNT, TOTALN, ROWPCT.SUM]
     /CATEGORIES VARIABLES=qn19a TOTAL=YES MISSING=INCLUDE
-    /SLABELS POSITION=ROW.
+    /SLABELS POSITION=ROW
+    /CLABELS ROWLABELS=OPPOSITE.
 ]])
 AT_CHECK([pspp ctables.sps -O box=unicode -O width=120], [0], [dnl
          Statistics
@@ -4272,74 +4907,26 @@ AT_CHECK([pspp ctables.sps -O box=unicode -O width=120], [0], [dnl
 │       Sum      │18877.00│
 ╰────────────────┴────────╯
 
-             Custom Tables
-╭───────────────────────────┬────────╮
-│                           │  QN19A │
-├───────────────────────────┼────────┤
-│REGION NE Valid N          │     936│
-│          Missing          │  473.00│
-│          Mean             │   19.33│
-│          Std Error of Mean│     .14│
-│          Median           │   18.00│
-│          Mode             │   18.00│
-│          Std Deviation    │    4.41│
-│          Variance         │   19.41│
-│          Range            │   59.00│
-│          Minimum          │     .00│
-│          Maximum          │   59.00│
-│          Sum              │18092.00│
-│          Count            │    1409│
-│          Total N          │    1409│
-│          Column Sum %     │   21.8%│
-│      ╶────────────────────┼────────┤
-│       MW Valid N          │    1019│
-│          Missing          │  635.00│
-│          Mean             │   19.83│
-│          Std Error of Mean│     .16│
-│          Median           │   19.00│
-│          Mode             │   18.00│
-│          Std Deviation    │    5.15│
-│          Variance         │   26.47│
-│          Range            │   71.00│
-│          Minimum          │    4.00│
-│          Maximum          │   75.00│
-│          Sum              │20206.00│
-│          Count            │    1654│
-│          Total N          │    1654│
-│          Column Sum %     │   24.3%│
-│      ╶────────────────────┼────────┤
-│       S  Valid N          │    1276│
-│          Missing          │ 1114.00│
-│          Mean             │   20.29│
-│          Std Error of Mean│     .18│
-│          Median           │   19.00│
-│          Mode             │   18.00│
-│          Std Deviation    │    6.44│
-│          Variance         │   41.43│
-│          Range            │   75.00│
-│          Minimum          │    4.00│
-│          Maximum          │   79.00│
-│          Sum              │25886.00│
-│          Count            │    2390│
-│          Total N          │    2390│
-│          Column Sum %     │   31.2%│
-│      ╶────────────────────┼────────┤
-│       W  Valid N          │     950│
-│          Missing          │  596.00│
-│          Mean             │   19.87│
-│          Std Error of Mean│     .17│
-│          Median           │   19.00│
-│          Mode             │   18.00│
-│          Std Deviation    │    5.25│
-│          Variance         │   27.59│
-│          Range            │   61.00│
-│          Minimum          │    4.00│
-│          Maximum          │   65.00│
-│          Sum              │18877.00│
-│          Count            │    1546│
-│          Total N          │    1546│
-│          Column Sum %     │   22.7%│
-╰───────────────────────────┴────────╯
+                         Custom Tables
+╭────────────────────────┬────────┬────────┬────────┬────────╮
+│                        │   NE   │   MW   │    S   │    W   │
+├────────────────────────┼────────┼────────┼────────┼────────┤
+│REGION Valid N          │     936│    1019│    1276│     950│
+│       Missing          │  473.00│  635.00│ 1114.00│  596.00│
+│       Mean             │   19.33│   19.83│   20.29│   19.87│
+│       Std Error of Mean│     .14│     .16│     .18│     .17│
+│       Median           │   18.00│   19.00│   19.00│   19.00│
+│       Mode             │   18.00│   18.00│   18.00│   18.00│
+│       Std Deviation    │    4.41│    5.15│    6.44│    5.25│
+│       Variance         │   19.41│   26.47│   41.43│   27.59│
+│       Range            │   59.00│   71.00│   75.00│   61.00│
+│       Minimum          │     .00│    4.00│    4.00│    4.00│
+│       Maximum          │   59.00│   75.00│   79.00│   65.00│
+│       Sum              │18092.00│20206.00│25886.00│18877.00│
+│       Count            │    1409│    1654│    2390│    1546│
+│       Total N          │    1409│    1654│    2390│    1546│
+│       Row Sum %        │   21.8%│   24.3%│   31.2%│   22.7%│
+╰────────────────────────┴────────┴────────┴────────┴────────╯
 ])
 AT_CLEANUP