Berserk Docs
Tabular OperatorsOther Operators

mv-expand

Expands multi-value dynamic arrays or property bags into multiple rows, duplicating other columns.

Expands multi-value dynamic arrays or property bags into multiple rows, duplicating other columns. Tip: if you only need to filter rows where any array element matches a condition, use the wildcard array access syntax instead — e.g. where events[*].name == "error" — which avoids expanding rows.

Syntax

mv-expand column

Expand array column into rows

Parameters

NameDescription
columnColumn containing dynamic array to expand

Syntax

mv-expand column to typeof(type)

Expand with type conversion

Parameters

NameDescription
columnColumn containing dynamic array to expand
typeType to cast expanded values to

Examples

Example 1

datatable(ship:string, cargo:dynamic)[
  "Naglfar", dynamic(["silver", "gold", "amber"]),
  "Wave Rider", dynamic(["furs", "ivory"])
]
| mv-expand cargo
ship (string)cargo (dynamic)
Naglfar"amber"
Naglfar"gold"
Naglfar"silver"
Wave Rider"furs"
Wave Rider"ivory"

Example 2

datatable(jarl:string, raids:dynamic)[
  "Erik", dynamic([100, 250, 50]),
  "Olaf", dynamic([300, 150])
]
| mv-expand raids to typeof(long)
jarl (string)raids (long)
Erik100
Erik250
Erik50
Olaf150
Olaf300

Example 3

datatable(warrior:string, weapons:dynamic)[
  "Ragnar", dynamic(["axe", "shield", "seax"]),
  "Lagertha", dynamic(["spear", "shield"])
]
| mv-expand weapons
| summarize count() by tostring(weapons)
weapons (string)count_ (long)
axe1
seax1
shield2
spear1

On this page