For this data:
dt = <|"a"-> <|"x"-> 1|>,"b"-> <|"y"-> 2|>,"c"-> <|"z"->3|>|>
It’s awkward when mapping the same function to multiple locations:
dt // Query[{"a" -> {"x" -> Framed}}]
When applying the same function at multiple sites, syntax gets long:
dt // Query[{"a" -> {"x" -> Framed}}] // Query[{"b" -> {"y" -> Framed}}]
In larger datasets the problem compounds. Is there a workaround for shortcuts like this:
dt // Query[{All -> {All -> Framed}}]
And also with Lists, and Span
dt // Query[{All -> {(1;;2) -> Framed}}]
as well as with hybrids of List and Associations.
PS - Even the nested parentheses are a pain for deeply nested data (we routinely deal with 6 levels or more), mitigated by this helper:
queryAt[seq__] := Query[Fold[Rule /* Reverse /* List, Reverse[{seq}]]];
eg
queryAt["a", "x", Framed]

dt // Query[All, All, Framed]should work. – JungHwan Min Jun 01 '16 at 19:44Allleaves, versus at specific branches, egdt // Query["a", All, Framed]projects out the other branches. – alancalvitti Jun 01 '16 at 20:09MapAt[Framed, {"a", "x"}]@dt– chuy Jun 01 '16 at 20:41"x"explicitly. This will also workMapAt[Framed, {{"a", "x"}, {"b", "y"}}]@dtbut need it to work across a Span or All keys at lower level. – alancalvitti Jun 01 '16 at 20:46queryAtdoes that. It's about substitutingAllorSpaninstead of named keys. – alancalvitti Jun 01 '16 at 20:49MapAt[Framed, {"a", All}]@dt, check out the doc forMapAt– chuy Jun 01 '16 at 20:50Allbut not withSpan: tryMapAt[Framed, 1 ;; 2]– alancalvitti Jun 01 '16 at 20:52dt // Query[{"a" -> {"x" -> Framed}}] // Query[{"b" -> {"y" -> Framed}}], so single association. Will edit Q – alancalvitti Jun 01 '16 at 20:54