- size_t dindexes[3];
- size_t n_dindexes = 0;
-
- for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++)
- if (d[a])
- dindexes[n_dindexes++] = f->axes[a].leaf;
- pivot_table_put (pt, dindexes, n_dindexes,
- pivot_value_new_number (f->count));
+ const struct var_array *ss = &t->vaas[t->summary_axis].vas[f->axes[t->summary_axis].vaa_idx];
+ for (size_t j = 0; j < ss->n_summaries; j++)
+ {
+ size_t dindexes[3];
+ size_t n_dindexes = 0;
+
+ for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++)
+ if (d[a])
+ {
+ int leaf = f->axes[a].leaf;
+ if (a == t->summary_axis)
+ leaf += j;
+ dindexes[n_dindexes++] = leaf;
+ }
+
+ double value = ctables_summary_value (&f->summaries[j], &ss->summaries[j]);
+ pivot_table_put (pt, dindexes, n_dindexes,
+ pivot_value_new_number (value));
+ }