> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Class: SeriesRelation<T>

> A logical scalar series over a relation.

[server](/api/modules/server).SeriesRelation

A logical scalar series over a relation. Physical placement, credentials,
retained versions and access are inherited from that relation.

## Type parameters

| Name |
| :- |
| `T` |

## Properties

### observations

• `Readonly` **observations**: [`Relation`](/api/classes/server.Relation)\<[`SeriesRelationType`](/api/modules/server#seriesrelationtype)\<`T`, [`RawObservation`](/api/modules/server#rawobservation)>>

***

### unit

• `Readonly` **unit**: `string`

## Methods

### reduce

▸ **reduce**\<`Population`, `Aggregate`, `Start`, `End`>(`population`, `options`): [`Relation`](/api/classes/server.Relation)\<[`SeriesRelationType`](/api/modules/server#seriesrelationtype)\<`T` | `Population`, `Object`, [`InstantArguments`](/api/modules/server#instantarguments)\<`Start`> | [`InstantArguments`](/api/modules/server#instantarguments)\<`End`>>>

Reduce one admitted independent sample property for a retained population.
Population identity is projected once. Empty members have an explicit
insufficient outcome. Coverage counts aligned sample slots, never inferred
interpolation. Guard arithmetic is evaluated before downstream top-N.

#### Type parameters

| Name | Type |
| :- | :- |
| `Population` | `Population` |
| `Aggregate` | extends [`SeriesReduction`](/api/modules/server#seriesreduction) |
| `Start` | extends `Instant` |
| `End` | extends `Instant` |

#### Parameters

| Name | Type |
| :- | :- |
| `population` | [`Relation`](/api/classes/server.Relation)\<`Population`> |
| `options` | `Object` |
| `options.subject` | (`row`: [`RowReference`](/api/modules/server#rowreference)\<[`RelationRow`](/api/modules/server#relationrow)\<`Population`>>) => [`Scalar`](/api/modules/server#scalar)\<`string`> |
| `options.interval` | `Object` |
| `options.interval.from` | `Start` |
| `options.interval.to` | `End` |
| `options.cadence_us` | `bigint` |
| `options.min_coverage_bps` | `bigint` |
| `options.aggregate` | `Aggregate` |
| `options.scale?` | `number` |

#### Returns

[`Relation`](/api/classes/server.Relation)\<[`SeriesRelationType`](/api/modules/server#seriesrelationtype)\<`T` | `Population`, `Object`, [`InstantArguments`](/api/modules/server#instantarguments)\<`Start`> | [`InstantArguments`](/api/modules/server#instantarguments)\<`End`>>>

***

### between

▸ **between**\<`From`, `To`, `Cadence`>(`interval`, `options?`): [`Relation`](/api/classes/server.Relation)\<[`SeriesRelationType`](/api/modules/server#seriesrelationtype)\<`T`, [`SeriesObservation`](/api/modules/server#seriesobservation), [`InstantArguments`](/api/modules/server#instantarguments)\<`From` | `To` | `Cadence`>>>

Resolve corrections before any reduction. Equal highest-order payloads
coalesce; conflicting payloads refuse through the ordinary ranking guard.

#### Type parameters

| Name | Type |
| :- | :- |
| `From` | extends `Instant` |
| `To` | extends `Instant` |
| `Cadence` | extends `Instant` = `never` |

#### Parameters

| Name | Type |
| :- | :- |
| `interval` | `Object` |
| `interval.from` | `From` |
| `interval.to` | `To` |
| `options?` | `Object` |
| `options.cadence_us?` | `Cadence` |

#### Returns

[`Relation`](/api/classes/server.Relation)\<[`SeriesRelationType`](/api/modules/server#seriesrelationtype)\<`T`, [`SeriesObservation`](/api/modules/server#seriesobservation), [`InstantArguments`](/api/modules/server#instantarguments)\<`From` | `To` | `Cadence`>>>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.