Represents a property of the items in the wijmo.olap data source.
constructor(engine: PivotEngine, binding: string, header?: string, options?: any): PivotField
Initializes a new instance of the PivotField class.
PivotEngine that owns this field.
Property that this field is bound to.
Header shown to identify this field (defaults to the binding).
JavaScript object containing initialization data for the field.
Gets or sets how the field should be summarized.
The default value for this property is **Aggregate.Sum** for numeric fields, and **Aggregate.Count** for other field types.
Gets or sets the horizontal alignment of this field's cells.
The default value for this property is null, which causes the grid to select the alignment automatically based on the fields's dataType (numbers are right-aligned, Boolean values are centered, and other types are left-aligned).
If you want to override the default alignment, set this property to 'left', 'right', 'center', or 'justify'.
Gets or sets a value that determines whether keys should be sorted in descending order for this field.
The default value for this property is **false**.
Gets a reference to the PivotFilter used to filter values for this field.
For measure fields in cube data sources, the filter is applied to aggregated cell values. For measure fields in non-cube data sources, the filter is applied to the raw data.
Gets or sets the format to use when displaying field values.
The default value for this property is **"d"** for date fields, **"n0"** for numeric fields, and the empty string for other field types.
Gets or sets a function to be used for retrieving the field's **aggregate** value for a given summary object.
The default value for this property is **null**, causing the engine to use the field's aggregate and showAs properties to calculate the aggregate.
If specified, the function should take a single parameter that represents the summary object generated by the engine and should return the aggregate value for the item.
Notice the difference between the getValue property (a function that takes a raw data item and returns a raw value), and the getAggregateValue (a function that takes a summary object and returns an aggregate value):
fields: [ { header: 'Conversion (per summary row)', dataType: 'Number', format: 'p0',
// getAggregateValue computes an aggregate from a summary row (Downloads, Sales) // **NOTE**: for this formula to work, the "Downloads" and "Sales" fields must be // present in the PivotEngine's valueFields array. getAggregateValue: row => row.Downloads ? row.Sales / row.Downloads : 0 }, { header: 'Conversion (per raw data item)', dataType: 'Number', aggregate: 'Avg', format: 'p0',
// getValue computes a raw value from a data item (downloads, sales) getValue: item => item.downloads ? item.sales / item.downloads : 0 },
{@sample OLAP/PivotPanel/Fields/Customize/FieldSettingsDialog/Calculated Example}
Gets or sets a function to be used for retrieving the field value for a given data item.
This property is set to null by default, causing the engine to use the field's binding property to retrieve the value.
If specified, the function should take a single parameter that represents the data item being evaluated and should return the calculated value for the item.
Notice the difference between the getValue property (a function that takes a raw data item and returns a raw value), and the getAggregateValue (a function that takes a summary object and returns an aggregate value):
fields: [ { header: 'Conversion (per summary row)', dataType: 'Number', format: 'p0',
// getAggregateValue computes an aggregate from a summary row (Downloads, Sales) getAggregateValue: row => row.Downloads ? row.Sales / row.Downloads : 0 }, { header: 'Conversion (per raw data item)', dataType: 'Number', aggregate: 'Avg', format: 'p0',
// getValue computes a raw value from a data item (downloads, sales) getValue: item => item.downloads ? item.sales / item.downloads : 0 },
{@sample OLAP/PivotPanel/Fields/Customize/FieldSettingsDialog/Calculated Example}
Gets or sets a string used to represent this field in the user interface.
The default value for this property is a capitalized version of the binding value.
Gets or sets a value that determines whether this field is currently being used in the view.
Setting this property to true causes the field to be added to the view's rowFields or valueFields, depending on the field's data type.
Gets or sets a value indicating whether items in this field contain HTML content rather than plain text.
The default value for this property is **false**.
Gets a value that indicates whether the field is a measure or a dimension.
Measures are also known as 'facts'. They are typically numeric values that can be aggregated into summary statistics that convey information about the field.
Dimensions are typically strings, dates, or boolean values that can be used to divide measures into categories.
Gets the key for this PivotField.
For regular fields, the key is the field's header; for CubePivotField instances, the key is the field's binding.
Gets this field's parent field.
When you drag the same field into the Values list multiple times, copies of the field are created so you can use the same binding with different parameters. The copies keep a reference to their parent fields.
Gets or sets a value that specifies how to display the aggregate value.
Options for this property are defined by the ShowAs enumeration and include differences between the value and the one in the previous row or column, percentages over the row, column, or grand total, and running totals.
This property is similar to the Show Values As feature in Excel.
The default value for this property is **ShowAs.NoCalculation**.
Gets or sets a function used to compare values when sorting.
This sortComparer property is effective for the fields specified in the columnFields and columnFields properties only.
If provided, the sort comparer function should take as parameters two values of any type, and should return -1, 0, or +1 to indicate whether the first value is smaller than, equal to, or greater than the second. If the sort comparer returns null, the standard built-in comparer is used.
This sortComparer property allows you to use custom comparison algorithms that in some cases result in sorting sequences that are more consistent with user's expectations than plain string comparisons.
The example below shows a typical use for the sortComparer property:
// define list of products app.products = 'Wijmo,Aoba,Olap,Xuni'.split(','); // sort products by position in the 'app.products' array ng.viewDefinitionChanged.addHandler(function () { var fld = ng.fields.getField('Product'); if (fld) { fld.sortComparer = function (val1, val2) { return app.products.indexOf(val1) - app.products.indexOf(val2); } } });
Gets or sets a value indicating whether this field should be displayed in instances of the PivotPanel control.
The default value for this property is **true**.
Setting this property to false hides the field any PivotPanel controls, preventing users from adding, removing, or changing the the field position in the engine's view definition.
Gets or sets the PivotField used as a weight for calculating aggregates on this field.
If this property is set to null, all values are assumed to have weight one.
This property allows you to calculate weighted averages and totals. For example, if the data contains a 'Quantity' field and a 'Price' field, you could use the 'Price' field as a value field and the 'Quantity' field as a weight. The output would contain a weighted average of the data.
Gets or sets the preferred width to be used for showing this field in user interface controls such as the PivotGrid.
Gets or sets a value that indicates whether the content of this field should be allowed to wrap within cells.
The default value for this property is **false**.
onPropertyChanged(e: PropertyChangedEventArgs): void
Raises the propertyChanged event.
PropertyChangedEventArgs that contains the property name, old, and new values.
Occurs when the value of a property in this Range changes.