Table of Contents

Class DataProviderElementExtensions

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

Layout helpers over the elements of a DataProviderDefinition: selecting them by axis or visibility, and moving them around while keeping the positions of the others consistent.

public static class DataProviderElementExtensions
Inheritance
object
DataProviderElementExtensions

Remarks

Positions are 1-based and per axis, and the server reads them as given - so moving a dimension by setting its Position alone leaves two elements on the same position. That is what Move and Swap are for.

Methods

Axis(IEnumerable<DataProviderDimension>, DataProviderAxis)

The dimensions on one axis.

public static IEnumerable<DataProviderDimension> Axis(this IEnumerable<DataProviderDimension> dimensions, DataProviderAxis axis)

Parameters

dimensions IEnumerable<DataProviderDimension>
axis DataProviderAxis

Returns

IEnumerable<DataProviderDimension>

ColumnAxis(IEnumerable<DataProviderDimension>)

The dimensions on the column axis.

public static IEnumerable<DataProviderDimension> ColumnAxis(this IEnumerable<DataProviderDimension> dimensions)

Parameters

dimensions IEnumerable<DataProviderDimension>

Returns

IEnumerable<DataProviderDimension>

FreeAxis(IEnumerable<DataProviderDimension>)

The dimensions on no axis - the ones that filter without appearing in the result.

public static IEnumerable<DataProviderDimension> FreeAxis(this IEnumerable<DataProviderDimension> dimensions)

Parameters

dimensions IEnumerable<DataProviderDimension>

Returns

IEnumerable<DataProviderDimension>

Hidden(IEnumerable<DataProviderKeyFigure>)

The hidden key figures. Absent visibility counts as visible.

public static IEnumerable<DataProviderKeyFigure> Hidden(this IEnumerable<DataProviderKeyFigure> keyFigures)

Parameters

keyFigures IEnumerable<DataProviderKeyFigure>

Returns

IEnumerable<DataProviderKeyFigure>

InputReady(IEnumerable<DataProviderVariable>)

The variables the caller may answer.

public static IEnumerable<DataProviderVariable> InputReady(this IEnumerable<DataProviderVariable> variables)

Parameters

variables IEnumerable<DataProviderVariable>

Returns

IEnumerable<DataProviderVariable>

Move(IEnumerable<DataProviderDimension>, DataProviderDimension, DataProviderAxis)

Moves a dimension to the end of an axis.

public static void Move(this IEnumerable<DataProviderDimension> dimensions, DataProviderDimension dimension, DataProviderAxis axis)

Parameters

dimensions IEnumerable<DataProviderDimension>
dimension DataProviderDimension
axis DataProviderAxis

Move(IEnumerable<DataProviderDimension>, DataProviderDimension, DataProviderAxis, int)

Moves a dimension to an axis, at a position. A position outside the axis puts the dimension last.

public static void Move(this IEnumerable<DataProviderDimension> dimensions, DataProviderDimension dimension, DataProviderAxis axis, int position)

Parameters

dimensions IEnumerable<DataProviderDimension>

Every dimension of the definition - the others are renumbered.

dimension DataProviderDimension

The dimension to move.

axis DataProviderAxis

The axis to move it to.

position int

The 1-based position on that axis.

Move(IEnumerable<DataProviderDimension>, DataProviderDimension, int)

Moves a dimension to another position on the axis it is already on.

public static void Move(this IEnumerable<DataProviderDimension> dimensions, DataProviderDimension dimension, int position)

Parameters

dimensions IEnumerable<DataProviderDimension>
dimension DataProviderDimension
position int

Move(IEnumerable<DataProviderKeyFigure>, DataProviderKeyFigure, int)

Moves a key figure to another position.

public static void Move(this IEnumerable<DataProviderKeyFigure> keyFigures, DataProviderKeyFigure keyFigure, int position)

Parameters

keyFigures IEnumerable<DataProviderKeyFigure>

Every key figure of the definition - the others are renumbered.

keyFigure DataProviderKeyFigure

The key figure to move.

position int

The 1-based position. Outside the range it goes last.

Ordered(IEnumerable<DataProviderDimension>)

The dimensions in position order.

public static IEnumerable<DataProviderDimension> Ordered(this IEnumerable<DataProviderDimension> dimensions)

Parameters

dimensions IEnumerable<DataProviderDimension>

Returns

IEnumerable<DataProviderDimension>

Ordered(IEnumerable<DataProviderKeyFigure>)

The key figures in position order.

public static IEnumerable<DataProviderKeyFigure> Ordered(this IEnumerable<DataProviderKeyFigure> keyFigures)

Parameters

keyFigures IEnumerable<DataProviderKeyFigure>

Returns

IEnumerable<DataProviderKeyFigure>

RowAxis(IEnumerable<DataProviderDimension>)

The dimensions on the row axis.

public static IEnumerable<DataProviderDimension> RowAxis(this IEnumerable<DataProviderDimension> dimensions)

Parameters

dimensions IEnumerable<DataProviderDimension>

Returns

IEnumerable<DataProviderDimension>

Swap(DataProviderDimension, DataProviderDimension)

Exchanges the axes and positions of two dimensions.

public static void Swap(this DataProviderDimension source, DataProviderDimension target)

Parameters

source DataProviderDimension
target DataProviderDimension

Swap(DataProviderKeyFigure, DataProviderKeyFigure)

Exchanges the positions of two key figures.

public static void Swap(this DataProviderKeyFigure source, DataProviderKeyFigure target)

Parameters

source DataProviderKeyFigure
target DataProviderKeyFigure

ToDrillState(DataProviderGridCell, DataProviderDefinition, string)

Builds the drill path that expands or collapses this cell, from the tuples the cell sits at - so the grid has to have been read with tuples. Returns null where the cell is not a node that can be drilled into. Add the result to DrillStates and execute.

public static List<DataProviderDrillState>? ToDrillState(this DataProviderGridCell cell, DataProviderDefinition definition, string drillState)

Parameters

cell DataProviderGridCell

The header cell to drill on.

definition DataProviderDefinition

The definition the cell's dimensions are read from.

drillState string

One of DataProviderDrillStates - what the node becomes.

Returns

List<DataProviderDrillState>

Visible(IEnumerable<DataProviderKeyFigure>)

The visible key figures. Absent visibility counts as visible.

public static IEnumerable<DataProviderKeyFigure> Visible(this IEnumerable<DataProviderKeyFigure> keyFigures)

Parameters

keyFigures IEnumerable<DataProviderKeyFigure>

Returns

IEnumerable<DataProviderKeyFigure>