title |
description |
menu |
weight |
flux/v0/tags |
tickscript.select() function |
`tickscript.select()` changes a column’s name and optionally applies an aggregate or selector function to values in the column.
|
flux_v0_ref |
name |
parent |
identifier |
tickscript.select |
contrib/bonitoo-io/tickscript |
contrib/bonitoo-io/tickscript/select |
|
|
301 |
|
tickscript.select()
changes a column’s name and optionally applies an aggregate or selector
function to values in the column.
TICKscript helper function
tickscript.select()
is a helper function meant to replicate TICKscript operations like the following:
// Rename
query("SELECT x AS y")
// Aggregate and rename
query("SELECT f(x) AS y")
Function type signature
(<-tables: B, as: string, ?column: A, ?fn: (<-: B, column: A) => stream[C]) => stream[D] where A: Equatable, C: Record, D: Record
{{% caption %}}
For more information, see Function type signatures.
{{% /caption %}}
Parameters
column
Column to operate on. Default is _value
.
fn
Aggregate or selector function to apply.
as
({{< req >}})
New column name.
tables
Input data. Default is piped-forward data (<-
).
Examples
Change the name of the value column
import "contrib/bonitoo-io/tickscript"
import "sampledata"
sampledata.int()
|> tickscript.select(as: "example-name")
{{< expand-wrapper >}}
{{% expand "View example input and output" %}}
Input data
_time |
_value |
*tag |
2021-01-01T00:00:00Z |
-2 |
t1 |
2021-01-01T00:00:10Z |
10 |
t1 |
2021-01-01T00:00:20Z |
7 |
t1 |
2021-01-01T00:00:30Z |
17 |
t1 |
2021-01-01T00:00:40Z |
15 |
t1 |
2021-01-01T00:00:50Z |
4 |
t1 |
_time |
_value |
*tag |
2021-01-01T00:00:00Z |
19 |
t2 |
2021-01-01T00:00:10Z |
4 |
t2 |
2021-01-01T00:00:20Z |
-3 |
t2 |
2021-01-01T00:00:30Z |
19 |
t2 |
2021-01-01T00:00:40Z |
13 |
t2 |
2021-01-01T00:00:50Z |
1 |
t2 |
Output data
_time |
example-name |
*tag |
2021-01-01T00:00:00Z |
-2 |
t1 |
2021-01-01T00:00:10Z |
10 |
t1 |
2021-01-01T00:00:20Z |
7 |
t1 |
2021-01-01T00:00:30Z |
17 |
t1 |
2021-01-01T00:00:40Z |
15 |
t1 |
2021-01-01T00:00:50Z |
4 |
t1 |
_time |
example-name |
*tag |
2021-01-01T00:00:00Z |
19 |
t2 |
2021-01-01T00:00:10Z |
4 |
t2 |
2021-01-01T00:00:20Z |
-3 |
t2 |
2021-01-01T00:00:30Z |
19 |
t2 |
2021-01-01T00:00:40Z |
13 |
t2 |
2021-01-01T00:00:50Z |
1 |
t2 |
{{% /expand %}}
{{< /expand-wrapper >}}
Change the name of the value column and apply an aggregate function
import "contrib/bonitoo-io/tickscript"
import "sampledata"
sampledata.int()
|> tickscript.select(as: "sum", fn: sum)
{{< expand-wrapper >}}
{{% expand "View example input and output" %}}
Input data
_time |
_value |
*tag |
2021-01-01T00:00:00Z |
-2 |
t1 |
2021-01-01T00:00:10Z |
10 |
t1 |
2021-01-01T00:00:20Z |
7 |
t1 |
2021-01-01T00:00:30Z |
17 |
t1 |
2021-01-01T00:00:40Z |
15 |
t1 |
2021-01-01T00:00:50Z |
4 |
t1 |
_time |
_value |
*tag |
2021-01-01T00:00:00Z |
19 |
t2 |
2021-01-01T00:00:10Z |
4 |
t2 |
2021-01-01T00:00:20Z |
-3 |
t2 |
2021-01-01T00:00:30Z |
19 |
t2 |
2021-01-01T00:00:40Z |
13 |
t2 |
2021-01-01T00:00:50Z |
1 |
t2 |
Output data
{{% /expand %}}
{{< /expand-wrapper >}}
Change the name of the value column and apply a selector function
import "contrib/bonitoo-io/tickscript"
import "sampledata"
sampledata.int()
|> tickscript.select(as: "max", fn: max)
{{< expand-wrapper >}}
{{% expand "View example input and output" %}}
Input data
_time |
_value |
*tag |
2021-01-01T00:00:00Z |
-2 |
t1 |
2021-01-01T00:00:10Z |
10 |
t1 |
2021-01-01T00:00:20Z |
7 |
t1 |
2021-01-01T00:00:30Z |
17 |
t1 |
2021-01-01T00:00:40Z |
15 |
t1 |
2021-01-01T00:00:50Z |
4 |
t1 |
_time |
_value |
*tag |
2021-01-01T00:00:00Z |
19 |
t2 |
2021-01-01T00:00:10Z |
4 |
t2 |
2021-01-01T00:00:20Z |
-3 |
t2 |
2021-01-01T00:00:30Z |
19 |
t2 |
2021-01-01T00:00:40Z |
13 |
t2 |
2021-01-01T00:00:50Z |
1 |
t2 |
Output data
_time |
max |
*tag |
2021-01-01T00:00:30Z |
17 |
t1 |
_time |
max |
*tag |
2021-01-01T00:00:00Z |
19 |
t2 |
{{% /expand %}}
{{< /expand-wrapper >}}