# Class: DataOperation

## DataOperation(join_type, initiator, params)

#### new DataOperation(join_type, initiator, params)

Perform a data operation (such as a join)

##### Parameters:

Name | Type | Description
--- | --- | ---
`join_type` | String |
`initiator` |  | The entity that initiated the request for data. Usually, this is the data layer. This argument exists so that a data_operation could do things like auto-define axis labels/ color scheme in response to dynamic data. It has potential for side effects if misused, so use sparingly!
`params` |  | Optional user/layout parameters to be passed to the data function

Source:
  - data/requester.js, line 17