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
-
objectDataProviderElementExtensions
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
dimensionsIEnumerable<DataProviderDimension>axisDataProviderAxis
Returns
- IEnumerable<DataProviderDimension>
ColumnAxis(IEnumerable<DataProviderDimension>)
The dimensions on the column axis.
public static IEnumerable<DataProviderDimension> ColumnAxis(this IEnumerable<DataProviderDimension> dimensions)
Parameters
dimensionsIEnumerable<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
dimensionsIEnumerable<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
keyFiguresIEnumerable<DataProviderKeyFigure>
Returns
- IEnumerable<DataProviderKeyFigure>
InputReady(IEnumerable<DataProviderVariable>)
The variables the caller may answer.
public static IEnumerable<DataProviderVariable> InputReady(this IEnumerable<DataProviderVariable> variables)
Parameters
variablesIEnumerable<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
dimensionsIEnumerable<DataProviderDimension>dimensionDataProviderDimensionaxisDataProviderAxis
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
dimensionsIEnumerable<DataProviderDimension>Every dimension of the definition - the others are renumbered.
dimensionDataProviderDimensionThe dimension to move.
axisDataProviderAxisThe axis to move it to.
positionintThe 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
dimensionsIEnumerable<DataProviderDimension>dimensionDataProviderDimensionpositionint
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
keyFiguresIEnumerable<DataProviderKeyFigure>Every key figure of the definition - the others are renumbered.
keyFigureDataProviderKeyFigureThe key figure to move.
positionintThe 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
dimensionsIEnumerable<DataProviderDimension>
Returns
- IEnumerable<DataProviderDimension>
Ordered(IEnumerable<DataProviderKeyFigure>)
The key figures in position order.
public static IEnumerable<DataProviderKeyFigure> Ordered(this IEnumerable<DataProviderKeyFigure> keyFigures)
Parameters
keyFiguresIEnumerable<DataProviderKeyFigure>
Returns
- IEnumerable<DataProviderKeyFigure>
RowAxis(IEnumerable<DataProviderDimension>)
The dimensions on the row axis.
public static IEnumerable<DataProviderDimension> RowAxis(this IEnumerable<DataProviderDimension> dimensions)
Parameters
dimensionsIEnumerable<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
sourceDataProviderDimensiontargetDataProviderDimension
Swap(DataProviderKeyFigure, DataProviderKeyFigure)
Exchanges the positions of two key figures.
public static void Swap(this DataProviderKeyFigure source, DataProviderKeyFigure target)
Parameters
sourceDataProviderKeyFiguretargetDataProviderKeyFigure
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
cellDataProviderGridCellThe header cell to drill on.
definitionDataProviderDefinitionThe definition the cell's dimensions are read from.
drillStatestringOne 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
keyFiguresIEnumerable<DataProviderKeyFigure>
Returns
- IEnumerable<DataProviderKeyFigure>