The `PivotCalculation` class defines one calculation in a pivot table.

Format

R6Class object.

Active bindings

calculationName

Calculation unique name.

caption

Calculation display name

visible

`TRUE` to show the calculation in the pivot table or `FALSE` to hide it. Hidden calculations are typically used as base values for other calculations.

displayOrder

The order the calculations are displayed in the pivot table.

filters

Any additional data filters specific to this calculation. This can be a `PivotFilters` object that further restricts the data for the calculation or a list of individual `PivotFilter` objects that provide more flexibility (and/or/replace). See the Calculations vignette for details.

format

A character, list or custom function to format the calculation result.

fmtFuncArgs

A list that specifies any additional arguments to pass to a custom format function.

dataName

Specifies which data frame in the pivot table is used for this calculation (as specified in `pt$addData()`).

type

The calculation type: "summary", "calculation", "function" or "value".

valueName

For type="value", the name of the column containing the value to display in the pivot table.

summariseExpression

For type="summary", either the dplyr expression to use with dplyr::summarise() or a data.table calculation expression.

calculationExpression

For type="calculation", an expression to combine aggregate values.

calculationFunction

For type="function", a reference to a custom R function that will carry out the calculation.

calcFuncArgs

For type="function", a list that specifies additional arguments to pass to calculationFunction.

basedOn

A character vector specifying the names of one or more calculations that this calculation depends on.

noDataValue

An integer or numeric value specifying the value to use if no data exists for a particular cell.

noDataCaption

A character value that will be displayed by the pivot table if no data exists for a particular cell.

headingBaseStyleName

The name of a style defined in the pivot table to use as the base styling for the data group heading.

headingStyleDeclarations

A list of CSS style declarations (e.g. `list("font-weight"="bold")`) to override the base style.

cellBaseStyleName

The name of a style defined in the pivot table to use as the base styling for the cells related to this calculation.

cellStyleDeclarations

A list of CSS style declarations (e.g. `list("font-weight"="bold")`) to override the base style.

Methods


Method new()

Create a new `PivotCalculation` object.

Usage

PivotCalculation$new(
  parentPivot,
  calculationName = NULL,
  caption = NULL,
  visible = TRUE,
  displayOrder = NULL,
  filters = NULL,
  format = NULL,
  fmtFuncArgs = NULL,
  dataName = NULL,
  type = "summary",
  valueName = NULL,
  summariseExpression = NULL,
  calculationExpression = NULL,
  calculationFunction = NULL,
  calcFuncArgs = NULL,
  basedOn = NULL,
  noDataValue = NULL,
  noDataCaption = NULL,
  headingBaseStyleName = NULL,
  headingStyleDeclarations = NULL,
  cellBaseStyleName = NULL,
  cellStyleDeclarations = NULL
)

Arguments

parentPivot

The pivot table that this `PivotCalculation` instance belongs to.

calculationName

Calculation unique name.

caption

Calculation display name

visible

`TRUE` to show the calculation in the pivot table or `FALSE` to hide it. Hidden calculations are typically used as base values for other calculations.

displayOrder

The order the calculations are displayed in the pivot table.

filters

Any additional data filters specific to this calculation. This can be a `PivotFilters` object that further restricts the data for the calculation or a list of individual `PivotFilter` objects that provide more flexibility (and/or/replace). See the Calculations vignette for details.

format

A character, list or custom function to format the calculation result.

fmtFuncArgs

A list that specifies any additional arguments to pass to a custom format function.

dataName

Specifies which data frame in the pivot table is used for this calculation (as specified in `pt$addData()`).

type

The calculation type: "summary", "calculation", "function" or "value".

valueName

For type="value", the name of the column containing the value to display in the pivot table.

summariseExpression

For type="summary", either the dplyr expression to use with dplyr::summarise() or a data.table calculation expression.

calculationExpression

For type="calculation", an expression to combine aggregate values.

calculationFunction

For type="function", a reference to a custom R function that will carry out the calculation.

calcFuncArgs

For type="function", a list that specifies additional arguments to pass to calculationFunction.

basedOn

A character vector specifying the names of one or more calculations that this calculation depends on.

noDataValue

An integer or numeric value specifying the value to use if no data exists for a particular cell.

noDataCaption

A character value that will be displayed by the pivot table if no data exists for a particular cell.

headingBaseStyleName

The name of a style defined in the pivot table to use as the base styling for the data group heading.

headingStyleDeclarations

A list of CSS style declarations (e.g. `list("font-weight"="bold")`) to override the base style.

cellBaseStyleName

The name of a style defined in the pivot table to use as the base styling for the cells related to this calculation.

cellStyleDeclarations

A list of CSS style declarations (e.g. `list("font-weight"="bold")`) to override the base style.

Returns

A new `PivotCalculation` object.


Method asList()

Return the contents of this object as a list for debugging.

Usage

PivotCalculation$asList()

Returns

A list of various object properties.


Method asJSON()

Return the contents of this object as JSON for debugging.

Usage

PivotCalculation$asJSON()

Returns

A JSON representation of various object properties.


Method asString()

Return a representation of this object as a character value.

Usage

PivotCalculation$asString()

Returns

A character summary of various object properties.


Method clone()

The objects of this class are cloneable with this method.

Usage

PivotCalculation$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# This class should only be created by the pivot table.
# It is not intended to be created outside of the pivot table.