code: function Formula (source, column, options) {
    this._initialize(source, column, options);
    this._operation = this._options.operation;
  }
docs: A formula is a simple numeric {@link carto.operation|operation} applied to the column of a {@link carto.source.Base|data source} (dataset or sql query).
  
  Like all dataviews, it is an async object so you must wait for the data to be available.
  
  @param {carto.source.Base} source - The source where the dataview will fetch the data from
  @param {string} column - The operation will be performed using this column
  @param {object} [options]
  @param {carto.operation} [options.operation] - The operation to apply to the data
  
  @fires dataChanged
  @fires columnChanged
  @fires statusChanged
  @fires error
  
  @fires operationChanged
  
  @constructor
  @extends carto.dataview.Base
  @memberof carto.dataview
  @api
  @example
  // Given a cities dataset get the most populated city
  var formulaDataview = new carto.dataview.Formula(citiesSource, 'population', {
  operation: carto.operation.MAX,
  });
  @example
  // You can listen to multiple events emitted by a formula dataview.
  // Data and status are fired by all dataviews.
  formulaDataview.on('dataChanged', newData => { });
  formulaDataview.on('statusChanged', (newData, error) => { });
  formulaDataview.on('error', cartoError => { });
  
  // Listen to specific formula-dataview events
  formulaDataview.on('columnChanged', newData => { });
  formulaDataview.on('operationChanged', newData => { });