--- id: transformations title: Transformations --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; # Transformations Transformations can be enabled on queries to transform the query results. ToolJet allows you to transform the query results using two programming languages: - **[JavaScript](#transform-using-javascript)** - **[Python](#transform-using-python)** :::caution - Every transformation is scoped to the query it's written for. - Actions and CSA(Component Specific Actions) cannot be called within the transformation, they can only be called within **[RunJS](/docs/data-sources/run-js)** query or **[RunPy](/docs/data-sources/run-py)** query. ::: ## Transform using JavaScript Let's assume a query is returning the customers data with a `name` row, so we will write a simple transformation to compute `first_name` and `last_name` for all the customers. ```javascript // write your code here // return value will be set as data and the original data will be available as rawData return data.map((row) => { return { ...row, first_name: row.name.split(' ')[0], last_name: row.name.split(' ')[1], }; }); ``` The query will now look like this:
We can see that `first_name` and `last_name` are added to all the rows in the `data` object of the query. If you need the original data of the query, it will be available in the `rawData` object of the query.