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
-
objectDataProviderDefinition
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
definitionDataProviderDefinition
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
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
Variables
The variables, addressable by id.
[JsonPropertyName("variables")]
public DataProviderElementCollection<DataProviderVariable> Variables { get; set; }