flatten for filters

Flatten the table.

Signature

> flatten ...rest --all

Parameters

  • ...rest: optionally flatten data by column
  • --all (-a): flatten inner table one level out

Input/output types:

inputoutput
list<any>list<any>
recordtable

Examples

flatten a table

> [[N, u, s, h, e, l, l]] | flatten
╭───┬───╮
│ 0 │ N │
│ 1 │ u │
│ 2 │ s │
│ 3 │ h │
│ 4 │ e │
│ 5 │ l │
│ 6 │ l │
╰───┴───╯

flatten a table, get the first item

> [[N, u, s, h, e, l, l]] | flatten | first

flatten a column having a nested table

> [[origin, people]; [Ecuador, ([[name, meal]; ['Andres', 'arepa']])]] | flatten --all | get meal

restrict the flattening by passing column names

> [[origin, crate, versions]; [World, ([[name]; ['nu-cli']]), ['0.21', '0.22']]] | flatten versions --all | last | get versions

Flatten inner table

> { a: b, d: [ 1 2 3 4 ],  e: [ 4 3  ] } | flatten d --all
╭───┬───┬───┬───────────╮
│ # │ a │ d │     e     │
├───┼───┼───┼───────────┤
│ 0 │ b │ 1 │ ╭───┬───╮ │
│   │   │   │ │ 04 │ │
│   │   │   │ │ 13 │ │
│   │   │   │ ╰───┴───╯ │
│ 1 │ b │ 2 │ ╭───┬───╮ │
│   │   │   │ │ 04 │ │
│   │   │   │ │ 13 │ │
│   │   │   │ ╰───┴───╯ │
│ 2 │ b │ 3 │ ╭───┬───╮ │
│   │   │   │ │ 04 │ │
│   │   │   │ │ 13 │ │
│   │   │   │ ╰───┴───╯ │
│ 3 │ b │ 4 │ ╭───┬───╮ │
│   │   │   │ │ 04 │ │
│   │   │   │ │ 13 │ │
│   │   │   │ ╰───┴───╯ │
╰───┴───┴───┴───────────╯