docs-v2/content/flux/v0/stdlib/universe/findrecord.md

2.2 KiB

title description menu weight flux/v0/tags introduced
findRecord() function `findRecord()` returns a row at a specified index as a record from the first table in a stream of tables that matches the specified predicate function.
flux_v0_ref
name parent identifier
findRecord universe universe/findRecord
101
dynamic queries
0.68.0

findRecord() returns a row at a specified index as a record from the first table in a stream of tables that matches the specified predicate function.

The function returns an empty record if no table is found or if the index is out of bounds.

Function type signature
(<-tables: stream[B], fn: (key: A) => bool, idx: int) => B where A: Record, B: Record

{{% caption %}} For more information, see Function type signatures. {{% /caption %}}

Parameters

idx

({{< req >}}) Index of the record to extract.

fn

({{< req >}}) Predicate function to evaluate input table group keys.

findColumn() uses the first table that resolves as true. The predicate function requires a key argument that represents each input table's group key as a record.

tables

Input data. Default is piped-forward data (<-).

Examples

Extract a row as a record

import "sampledata"

sampledata.int()
    |> findRecord(
        fn: (key) => key.tag == "t1",
        idx: 0,
    )// Returns {_time: 2021-01-01T00:00:00.000000000Z, _value: -2, tag: t1}