Aggregate Time Series Unique Values
- async AsyncCogniteClient.time_series.aggregate_unique_values(
- property: TimeSeriesProperty | str | list[str],
- advanced_filter: Filter | dict[str, Any] | None = None,
- aggregate_filter: AggregationFilter | dict[str, Any] | None = None,
- filter: TimeSeriesFilter | dict[str, Any] | None = None,
Get unique properties with counts for time series.
- Parameters:
property (TimeSeriesProperty | str | list[str]) – The property to group by.
advanced_filter (Filter | dict[str, Any] | None) – The filter to narrow down the time series to count cardinality.
aggregate_filter (AggregationFilter | dict[str, Any] | None) – The filter to apply to the resulting buckets.
filter (TimeSeriesFilter | dict[str, Any] | None) – The filter to narrow down the time series to count requiring exact match.
- Returns:
List of unique values of time series matching the specified filters and search.
- Return type:
UniqueResultList
Examples
Get the timezones (metadata key) with count for your time series in your CDF project:
>>> from cognite.client import CogniteClient >>> from cognite.client.data_classes.time_series import TimeSeriesProperty >>> client = CogniteClient() >>> # async_client = AsyncCogniteClient() # another option >>> result = client.time_series.aggregate_unique_values( ... TimeSeriesProperty.metadata_key("timezone") ... ) >>> print(result.unique)
Get the different units with count used for time series created after 2020-01-01 in your CDF project:
>>> from cognite.client.data_classes import filters >>> from cognite.client.data_classes.time_series import TimeSeriesProperty >>> from cognite.client.utils import timestamp_to_ms >>> from datetime import datetime >>> created_after_2020 = filters.Range( ... TimeSeriesProperty.created_time, gte=timestamp_to_ms(datetime(2020, 1, 1)) ... ) >>> result = client.time_series.aggregate_unique_values( ... TimeSeriesProperty.unit, advanced_filter=created_after_2020 ... ) >>> print(result.unique)
Get the different units with count for time series updated after 2020-01-01 in your CDF project, but exclude all units that start with “test”:
>>> from cognite.client.data_classes.time_series import TimeSeriesProperty >>> from cognite.client.data_classes import aggregations as aggs, filters >>> not_test = aggs.Not(aggs.Prefix("test")) >>> created_after_2020 = filters.Range( ... TimeSeriesProperty.last_updated_time, gte=timestamp_to_ms(datetime(2020, 1, 1)) ... ) >>> result = client.time_series.aggregate_unique_values( ... TimeSeriesProperty.unit, ... advanced_filter=created_after_2020, ... aggregate_filter=not_test, ... ) >>> print(result.unique)