1 AT_BANNER([pivot table rendering])
3 AT_SETUP([1-d pivot table])
4 AT_DATA([pivot.txt], [[
5 /col "a"*("a1", "a2", "a3")
7 /title "Columns" /display
8 /title "Rows" /transpose.
10 AT_DATA([expout], [dnl
29 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
30 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
33 AT_SETUP([2-d pivot table])
34 AT_DATA([pivot.txt], [[
35 /col "a"("a1", "a2", "a3")
36 /col "b"("b1", "b2", "b3")
38 /title "Columns" /display
39 /title "Rows" /transpose /display
40 /title "Column x Row" /move "a" column /display
41 /title "Row x Column" /transpose
43 AT_DATA([expout], [dnl
45 ╭────────┬────────┬────────╮
47 ├──┬──┬──┼──┬──┬──┼──┬──┬──┤
48 │a1│a2│a3│a1│a2│a3│a1│a2│a3│
49 ├──┼──┼──┼──┼──┼──┼──┼──┼──┤
50 │ 0│ 1│ 2│ 3│ 4│ 5│ 6│ 7│ 8│
51 ╰──┴──┴──┴──┴──┴──┴──┴──┴──╯
86 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
87 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
90 AT_SETUP([2-d pivot table - dimension labels])
91 AT_DATA([pivot.txt], [[
92 /col "a"*("a1", "a2", "a3")
93 /col "b"*("b1", "b2", "b3")
95 /title "Columns" /display
96 /title "Rows - Corner" /transpose /display
97 /title "Rows - Nested" /look rowlabels=nested /display
98 /title "Column x Row - Corner" /move "a" column /look rowlabels=corner /display
99 /title "Column x Row - Nested" /look rowlabels=nested /display
100 /title "Row x Column - Corner" /transpose /look rowlabels=corner /display
101 /title "Row x Column - Nested" /look rowlabels=nested
103 AT_DATA([expout], [dnl
105 ╭──────────────────────────╮
107 ├────────┬────────┬────────┤
109 ├────────┼────────┼────────┤
111 ├──┬──┬──┼──┬──┬──┼──┬──┬──┤
112 │a1│a2│a3│a1│a2│a3│a1│a2│a3│
113 ├──┼──┼──┼──┼──┼──┼──┼──┼──┤
114 │ 0│ 1│ 2│ 3│ 4│ 5│ 6│ 7│ 8│
115 ╰──┴──┴──┴──┴──┴──┴──┴──┴──╯
149 Column x Row - Corner
160 Column x Row - Nested
171 Row x Column - Corner
182 Row x Column - Nested
193 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
194 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
197 AT_SETUP([2-d pivot table - groups])
198 AT_DATA([pivot.txt], [[
199 /col "a"("a1", "ag1"("a2", "a3"))
200 /col "b"("bg1"("b1", "b2"), "b3")
202 /title "Columns" /display
203 /title "Rows" /transpose /display
204 /title "Column x Row" /move "a" column /display
205 /title "Row x Column" /transpose /display
206 /title "Row x Column - delete b2" /cells[all,1]=delete /display
207 /title "Row x Column - delete b2 - show empty" /look empty=show /display
208 /title "Row x Column - delete b1" /cells[all,0]=delete /look empty=hide /display
209 /title "Row x Column - delete b1 - show empty" /look empty=show.
211 AT_DATA([expout], [dnl
213 ╭─────────────────┬────────╮
215 ├────────┬────────┤ │
217 ├──┬─────┼──┬─────┼──┬─────┤
218 │ │ ag1 │ │ ag1 │ │ ag1 │
219 │ ├──┬──┤ ├──┬──┤ ├──┬──┤
220 │a1│a2│a3│a1│a2│a3│a1│a2│a3│
221 ├──┼──┼──┼──┼──┼──┼──┼──┼──┤
222 │ 0│ 1│ 2│ 3│ 4│ 5│ 6│ 7│ 8│
223 ╰──┴──┴──┴──┴──┴──┴──┴──┴──╯
267 Row x Column - delete b2
279 Row x Column - delete b2 - show empty
291 Row x Column - delete b1
301 Row x Column - delete b1 - show empty
313 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
314 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
317 AT_SETUP([2-d pivot table - layers])
318 AT_DATA([pivot.txt], [[
319 /col "a"("a1", "a2", "a3")
320 /layer "b"("b1", "b2", "b3")
322 /title "Column x b1" /display
323 /title "Row x b1" /transpose /display
324 /title "Column x b2" /show layer 1 /transpose /display
325 /title "Row x b2" /transpose /display
326 /title "Column (All Layers)" /look layers=all /display
327 /title "Row (All Layers)" /transpose /look layers=all
329 AT_DATA([expout], [dnl
410 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
411 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
414 AT_SETUP([3-d pivot table - layers])
415 AT_DATA([pivot.txt], [[
416 /layer "a"("a1", "a2", "a3")
417 /layer "b"("b1", "b2", "b3", "b4")
418 /col "c"("c1", "c2", "c3", "c4", "c5")
420 /title "Column x b1 x a1" /display
421 /title "Column x b2 x a1" /show layer 0 1 /display
422 /title "Column x b3 x a2" /show layer 1 2 /display
424 AT_DATA([expout], [dnl
452 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
453 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
456 AT_SETUP([pivot table title and caption])
457 AT_DATA([pivot.txt], [[
461 /title "Title + Caption" /caption "Title + Caption" /display
462 /title "Title Only" /caption "(Not Shown)" /show title=yes caption=no /display
463 /title "(Not Shown)" /caption "Caption Only" /show title=no caption=yes /display
464 /title "(Not Shown)" /caption "(Not Shown)" /show title=no caption=no
466 AT_DATA([expout], [dnl
499 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
500 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
503 AT_SETUP([pivot table footnotes])
504 AT_KEYWORDS([footnote])
505 AT_DATA([pivot.txt], [[
506 /footnote[0] "First footnote" marker="*"
507 /footnote[1] "Second footnote"
508 /col "A"[footnote 0]*("B"[footnote 1], "C"[footnote 0 1])
509 /row "D"[footnote 1]*("E"[footnote 0], "F"[footnote 1 0])
510 /look rowlabels=nested
512 /cell[1, 0]=1[footnote 0]
513 /cell[0, 1]=2[footnote 1]
514 /cell[1, 1]=3[footnote 0 1]
515 /caption "Caption"[footnote 0]
516 /corner "Corner"[footnote 0 1]
517 /title "Pivot Table with Alphabetic Subscript Footnotes"[footnote 0]
518 /look marker=alpha level=sub
520 /title "Pivot Table with Alphabetic Superscript Footnotes"[footnote 0]
521 /look marker=alpha level=super
523 /title "Pivot Table with Numeric Subscript Footnotes"[footnote 0]
524 /look marker=numeric level=sub
526 /title "Pivot Table with Numeric Superscript Footnotes"[footnote 0]
527 /look marker=numeric level=super
529 /title "Hidden Footnote"[footnote 0]
530 /footnote[0] "First footnote" marker="*" hide
533 [[Pivot Table with Alphabetic Subscript Footnotes[*]
534 ╭────────────┬──────────────────╮
536 │ ├───────┬──────────┤
537 │Corner[*][b]│ B[b] │ C[*][b] │
538 ├────────────┼───────┼──────────┤
539 │D[b] E[*] │ .00│ 1.00[*]│
540 │ F[*][b]│2.00[b]│3.00[*][b]│
541 ╰────────────┴───────┴──────────╯
546 Pivot Table with Alphabetic Superscript Footnotes[*]
547 ╭────────────┬──────────────────╮
549 │ ├───────┬──────────┤
550 │Corner[*][b]│ B[b] │ C[*][b] │
551 ├────────────┼───────┼──────────┤
552 │D[b] E[*] │ .00│ 1.00[*]│
553 │ F[*][b]│2.00[b]│3.00[*][b]│
554 ╰────────────┴───────┴──────────╯
559 Pivot Table with Numeric Subscript Footnotes[*]
560 ╭────────────┬──────────────────╮
562 │ ├───────┬──────────┤
563 │Corner[*][2]│ B[2] │ C[*][2] │
564 ├────────────┼───────┼──────────┤
565 │D[2] E[*] │ .00│ 1.00[*]│
566 │ F[*][2]│2.00[2]│3.00[*][2]│
567 ╰────────────┴───────┴──────────╯
572 Pivot Table with Numeric Superscript Footnotes[*]
573 ╭────────────┬──────────────────╮
575 │ ├───────┬──────────┤
576 │Corner[*][2]│ B[2] │ C[*][2] │
577 ├────────────┼───────┼──────────┤
578 │D[2] E[*] │ .00│ 1.00[*]│
579 │ F[*][2]│2.00[2]│3.00[*][2]│
580 ╰────────────┴───────┴──────────╯
586 ╭────────────┬──────────────────╮
588 │ ├───────┬──────────┤
589 │Corner[*][2]│ B[2] │ C[*][2] │
590 ├────────────┼───────┼──────────┤
591 │D[2] E[*] │ .00│ 1.00[*]│
592 │ F[*][2]│2.00[2]│3.00[*][2]│
593 ╰────────────┴───────┴──────────╯
597 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
598 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
601 AT_SETUP([pivot table with no dimensions])
602 AT_DATA([pivot.txt], [[
603 /title "No Dimensions"
605 AT_DATA([expout], [dnl
610 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
611 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
614 AT_SETUP([pivot table with empty dimensions])
615 AT_DATA([pivot.txt], [[
618 /title "One Empty Dimension" /display
619 /title "Two Empty Dimensions" /row "b"*() /display
620 /title "Three Dimensions, Two Empty" /row "c"("c1", "c2")
622 AT_DATA([expout], [dnl
627 Three Dimensions, Two Empty
629 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
630 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
633 AT_SETUP([pivot table with empty groups])
634 AT_DATA([pivot.txt], [[
635 /col "a"("a1", "a2"(), "a3")
636 /row "b"("b1"(), "b2", "b3")
641 AT_DATA([expout], [dnl
650 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
651 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
654 AT_SETUP([pivot table - category and dimension borders])
655 AT_DATA([pivot.txt], [[
656 /col "a"("a1", "ag1"("a2", "a3"))
657 /col "b"("bg1"("b1", "b2"), "b3")
658 /row "c"("c1", "cg1"("c2", "c3"))
659 /row "d"("dg1"("d1", "d2"), "d3")
660 /cell[all, all, all, all]
662 /border "dim-row-horz" (solid "blue")
663 "cat-row-horz" (dashed "red")
664 "dim-row-vert" (solid "blue")
665 "cat-row-vert" (dashed "red")
666 "dim-col-horz" (solid "blue")
667 "cat-col-horz" (dashed "red")
668 "dim-col-vert" (solid "blue")
669 "cat-col-vert" (dashed "red")
670 /title "Category and Dimension Borders"
672 AT_DATA([expout], [dnl
673 Category and Dimension Borders
677 ╶──┬─────┼──┬─────┼──┬─────
678 │ ag1 │ │ ag1 │ │ ag1
679 ├╌╌┬╌╌┤ ├╌╌┬╌╌┤ ├╌╌┬╌╌
680 a1│a2┊a3│a1│a2┊a3│a1│a2┊a3
681 dg1┊d1│c1 0│ 1┊ 2│ 3│ 4┊ 5│ 6│ 7┊ 8
682 ┊ ├───┬─────┼──┼──┼──┼──┼──┼──┼──┼──
683 ┊ │cg1┊c2 9│10┊11│12│13┊14│15│16┊17
684 ┊ │ ├╌╌╌╌╌┼╌╌+╌╌┼╌╌┼╌╌+╌╌┼╌╌┼╌╌+╌╌
685 ┊ │ ┊c3 18│19┊20│21│22┊23│24│25┊26
686 ├──┼───┴─────┼──┼──┼──┼──┼──┼──┼──┼──
687 ┊d2│c1 27│28┊29│30│31┊32│33│34┊35
688 ┊ ├───┬─────┼──┼──┼──┼──┼──┼──┼──┼──
689 ┊ │cg1┊c2 36│37┊38│39│40┊41│42│43┊44
690 ┊ │ ├╌╌╌╌╌┼╌╌+╌╌┼╌╌┼╌╌+╌╌┼╌╌┼╌╌+╌╌
691 ┊ │ ┊c3 45│46┊47│48│49┊50│51│52┊53
692 ───┴──┼───┴─────┼──┼──┼──┼──┼──┼──┼──┼──
693 d3 │c1 54│55┊56│57│58┊59│60│61┊62
694 ├───┬─────┼──┼──┼──┼──┼──┼──┼──┼──
695 │cg1┊c2 63│64┊65│66│67┊68│69│70┊71
696 │ ├╌╌╌╌╌┼╌╌+╌╌┼╌╌┼╌╌+╌╌┼╌╌┼╌╌+╌╌
697 │ ┊c3 72│73┊74│75│76┊77│78│79┊80
699 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
700 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])
703 AT_SETUP([pivot table - small numbers])
704 AT_DATA([pivot.txt], [[
705 /title "small numbers"
706 /row "exponent"*("0", "-1", "-2", "-3", "-4", "-5", "-6", "-7", "-8", "-9")
707 /col "sign"*("positive", "negative")
708 /col "result class"*("general" RC_OTHER, "specific" RC_RESIDUAL)
712 /cell[3, 0, 0] = .001
713 /cell[4, 0, 0] = .0001
714 /cell[5, 0, 0] = .00001
715 /cell[6, 0, 0] = .000001
716 /cell[7, 0, 0] = .0000001
717 /cell[8, 0, 0] = .00000001
718 /cell[9, 0, 0] = .000000001
721 /cell[2, 0, 1] = -.01
722 /cell[3, 0, 1] = -.001
723 /cell[4, 0, 1] = -.0001
724 /cell[5, 0, 1] = -.00001
725 /cell[6, 0, 1] = -.000001
726 /cell[7, 0, 1] = -.0000001
727 /cell[8, 0, 1] = -.00000001
728 /cell[9, 0, 1] = -.000000001
732 /cell[3, 1, 0] = .001
733 /cell[4, 1, 0] = .0001
734 /cell[5, 1, 0] = .00001
735 /cell[6, 1, 0] = .000001
736 /cell[7, 1, 0] = .0000001
737 /cell[8, 1, 0] = .00000001
738 /cell[9, 1, 0] = .000000001
741 /cell[2, 1, 1] = -.01
742 /cell[3, 1, 1] = -.001
743 /cell[4, 1, 1] = -.0001
744 /cell[5, 1, 1] = -.00001
745 /cell[6, 1, 1] = -.000001
746 /cell[7, 1, 1] = -.0000001
747 /cell[8, 1, 1] = -.00000001
748 /cell[9, 1, 1] = -.000000001
750 AT_DATA([expout], [dnl
752 ╭────────┬─────────────────────────────────────╮
754 │ ├───────────────────┬─────────────────┤
755 │ │ general │ specific │
756 │ ├───────────────────┼─────────────────┤
758 │ ├─────────┬─────────┼────────┬────────┤
759 │exponent│ positive│ negative│positive│negative│
760 ├────────┼─────────┼─────────┼────────┼────────┤
761 │0 │ 1.00│ 1.00│ -1.00│ -1.00│
762 │-1 │ .10│ .10│ -.10│ -.10│
763 │-2 │ .01│ .01│ -.01│ -.01│
764 │-3 │ .00│ .00│ .00│ .00│
765 │-4 │ .00│ .00│ .00│ .00│
766 │-5 │1.00E-005│1.00E-005│ .00│ .00│
767 │-6 │1.00E-006│1.00E-006│ .00│ .00│
768 │-7 │1.00E-007│1.00E-007│ .00│ .00│
769 │-8 │1.00E-008│1.00E-008│ .00│ .00│
770 │-9 │1.00E-009│1.00E-009│ .00│ .00│
771 ╰────────┴─────────┴─────────┴────────┴────────╯
773 AT_CHECK([pivot-table-test --table-look $srcdir/output/look.stt pivot.txt --box unicode], [0], [expout])
774 AT_CHECK([pspp-output -O box=unicode convert render.spv -], [0], [expout])