channels#

One row for each combination of channel and tags in a dataset, with its data type. Query this before reading points to learn what a dataset contains and which points_* table to read it from.

Telemetry table, so every query must filter by dataset_rid.

For what a channel is, see Channels in the data model.

Columns#

Column

Type

Nullable

Notes

dataset_rid

VARCHAR

No

Dataset the channel belongs to. Required in the WHERE clause.

channel

VARCHAR

No

Channel name.

tags

MAP

No

Key-value pairs recorded with the series. See Filtering by tag.

data_type

VARCHAR

No

The channel’s value type, which tells you which table holds its data. See Data types.

Data types#

data_type

Table holding the data

DOUBLE

points_double

INT64

points_int

STRING

points_string

STRUCT

points_struct

LOG

logs

Note

The SQL interface does not return units. Channels carry unit metadata in Nominal, but the SQL interface returns raw numbers. See 🔒︎Assign and convert units.

Examples#

List everything in a dataset:

SELECT channel, data_type
FROM channels
WHERE dataset_rid = '<dataset-rid>'
ORDER BY channel

Group by type to see the shape of the dataset:

SELECT data_type, COUNT(*) AS channels
FROM channels
WHERE dataset_rid = '<dataset-rid>'
GROUP BY data_type
ORDER BY channels DESC

Filter by tag:

SELECT channel, data_type
FROM channels
WHERE dataset_rid = '<dataset-rid>'
  AND tags['<tag key>'] = '<tag value>'
ORDER BY channel

Next steps#

  • points_double: read the samples once you know the channel.

  • datasets: dataset-level metadata and bounds.