flatten for filters

Flatten the table.

Signature

> flatten {flags} ...rest

Flags

  • --all, -a: flatten inner table one level out

Parameters

  • ...rest: optionally flatten data by column

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  ╭───┬───╮ 
           0  4  
           1  3  
          ╰───┴───╯ 
 1  b  2  ╭───┬───╮ 
           0  4  
           1  3  
          ╰───┴───╯ 
 2  b  3  ╭───┬───╮ 
           0  4  
           1  3  
          ╰───┴───╯ 
 3  b  4  ╭───┬───╮ 
           0  4  
           1  3  
          ╰───┴───╯ 
╰───┴───┴───┴───────────╯