Table of Contents

Class DataProviderDefinition

Namespace
BiExcellence.OpenBi.Api.DataProviders
Assembly
BiExcellence.OpenBi.Api.Client.dll

The state of a dataprovider: what it reads, how it is laid out and what it is filtered by. It is the body of GET/POST dataproviders/{id}/definition and of POST dataproviders/{id}/execute.

public sealed class DataProviderDefinition
Inheritance
object
DataProviderDefinition

Remarks

Unlike the rest of this client, the definition model is mutable rather than a record: a caller reads it once, changes an axis or adds a filter, and sends the whole thing back on the next execute. That is what DataProviderView holds.

Constructors

DataProviderDefinition()

Creates an empty definition.

public DataProviderDefinition()

DataProviderDefinition(DataProviderDefinition)

Creates a copy that shares nothing with the original: every element, and every filter, attribute and alert level under it, is copied too. Editing one definition can therefore never reach into another - which a copy of the collections alone would allow, since the elements are what a caller edits.

public DataProviderDefinition(DataProviderDefinition definition)

Parameters

definition DataProviderDefinition

Properties

Conditions

The conditions defined on the dataprovider, each of which may be on or off.

[JsonPropertyName("conditions")]
public List<DataProviderCondition> Conditions { get; set; }

Property Value

List<DataProviderCondition>

Dimensions

The dimensions, addressable by id.

[JsonPropertyName("dimensions")]
public DataProviderElementCollection<DataProviderDimension> Dimensions { get; set; }

Property Value

DataProviderElementCollection<DataProviderDimension>

DrillStates

The expanded and collapsed nodes, one list per drill path. A drill path is the chain of values that leads to a node, so the outer list is not ordered and the inner one is.

[JsonPropertyName("drillStates")]
public List<List<DataProviderDrillState>> DrillStates { get; set; }

Property Value

List<List<DataProviderDrillState>>

IsRelational

True where the result is read as a cube: aggregated over the dimensions on the axes, with totals and drill states. False reads it as a flat list - the rows as the source delivers them, without totals. Always set on a definition read from the server; left null on one sent to POST dataproviders/{id}/definition it keeps whatever the dataprovider already reads as.

[JsonPropertyName("isRelational")]
public bool? IsRelational { get; set; }

Property Value

bool?

KeyFigures

The key figures, addressable by id.

[JsonPropertyName("keyFigures")]
public DataProviderElementCollection<DataProviderKeyFigure> KeyFigures { get; set; }

Property Value

DataProviderElementCollection<DataProviderKeyFigure>

Variables

The variables, addressable by id.

[JsonPropertyName("variables")]
public DataProviderElementCollection<DataProviderVariable> Variables { get; set; }

Property Value

DataProviderElementCollection<DataProviderVariable>