Suppose I have a dataset with a header row.
ds =
Dataset[AssociationThread[{"x", "y", "z"}, #] & /@ RandomReal[{0, 1}, {10, 3}]];
I want to construct the following dataset of means and variances. Note the header row and the stub column.)
Dataset[<|"mean" -> Normal@ds[Mean], "var" -> Normal@ds[Variance]|>]
How can I construct that with a single query on ds (an no use of Normal)?

Dataset @ ds[<|"mean" -> Mean, "var" -> Variance|>]– WReach Feb 04 '18 at 04:05Datasetto get what I want, and I confess that I do not understand why this changes anything. (I.e., the underlying association structure seems to be identical, but for some reason the type system information is different and forces the different display. What is the underlying principle?) – Alan Feb 04 '18 at 16:32Datasetat it" could help. Why does this matter? (I.e., what is the underlying principle?) – Alan Feb 04 '18 at 16:35Dataset, the final type is determined by type inferencing. With it, the type is determined by type deduction. Both use heuristics but, empirically, type deduction tends to yield better results. These issues are discussed at more length in (143551) and (87479). – WReach Feb 04 '18 at 18:15