Reilly Wood 9ce61dc677
Change group-by to accept cell paths (#9020)
Closes #9003.

This PR changes `group-by` so that its optional argument is interpreted
as a cell path. In turn, this lets users use `?` to ignore rows that are
missing the column they wish to group on. For example:

```
> [{foo: 123}, {foo: 234}, {bar: 345}] | group-by foo
Error: nu:🐚:column_not_found

  × Cannot find column
   ╭─[entry #3:1:1]
 1 │ [{foo: 123}, {foo: 234}, {bar: 345}] | group-by foo
   ·                          ─────┬────             ─┬─
   ·                               │                  ╰── cannot find column 'foo'
   ·                               ╰── value originates here
   ╰────

> [{foo: 123}, {foo: 234}, {bar: 345}] | group-by foo?
╭─────┬───────────────╮
│ 123 │ [table 1 row] │
│ 234 │ [table 1 row] │
╰─────┴───────────────╯
```

~~This removes the ability to pass `group-by` a closure or block (I
wasn't able to figure out how to make the 2 features coexist), and so it
is a breaking change. I think this is OK; I didn't even know `group-by`
could accept a closure or block because there was no example for that
functionality.~~
2023-05-17 18:34:44 -05:00
..
2022-11-22 16:58:11 -08:00
2023-03-15 18:54:55 +13:00
2023-03-15 18:54:55 +13:00
2023-01-22 19:49:40 +01:00
2023-03-15 18:54:55 +13:00
2023-04-15 17:11:02 +12:00
2022-12-22 00:33:26 +02:00
2022-09-11 11:48:27 +03:00
2023-03-15 18:54:55 +13:00
2023-03-15 18:54:55 +13:00
2023-04-28 13:25:44 +02:00
2022-02-07 14:54:06 -05:00
2023-03-15 18:54:55 +13:00
2023-03-15 18:54:55 +13:00
2023-03-15 18:54:55 +13:00
2023-04-28 13:25:44 +02:00
2023-03-15 18:54:55 +13:00
2023-03-18 08:58:13 +13:00
2023-03-15 18:54:55 +13:00
2022-09-11 11:48:27 +03:00
2023-03-28 12:40:29 -07:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2023-03-15 18:54:55 +13:00
2023-04-28 13:25:44 +02:00
2023-03-17 11:53:46 +13:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2023-02-27 20:44:05 +13:00
2023-03-17 11:53:46 +13:00
2023-03-15 18:54:55 +13:00