# Pivot Engine

Learn how to use Wijmo's OLAP Pivot Engine in this tutorial

## Content


The __PivotEngine__ class is at the core of wijmo.olap. It tabulates data in the __itemsSource__ collection. The __PivotEngine__ uses a combination of fields and field lists to define views and summarize the data. 

## Building and Defining Views

To build a view, add fields to one or more of the __PivotEngine__'s field list.

```javascript
let ng = new wjOlap.PivotEngine({
    autoGenerateFields: false,
    itemsSource: data
});

ng.rowFields.push('person');
ng.columnFields.push('date');
ng.valueFields.push('amount');
```

## Performance

The __PivotEngine__ is fast. When used with client-side data, it can summarize data sets with hundreds of thousands of records in fractions of a second (especially when using modern browsers).

Even on slow browsers and large data sets, the __PivotEngine__ generates summaries asynchronously, so the UI is never blocked.

In most client-side scenarios, data set size is limited by the time it takes to download or generate the raw data, not by the time it takes to summarize it.
