--- title: "Engineering Functions" slug: "baked-fields" updated: 2023-11-06T18:31:21Z published: 2023-11-06T18:31:21Z canonical: "docs.datajet.app/baked-fields" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.datajet.app/llms.txt > Use this file to discover all available pages before exploring further. # Baked Fields Function fields - also known as "BakedFields" - are inbuilt DataJet functions that can be applied to existing data fields in order rapidly create new fields. Along with [Expressions](/v1/docs/expression-field), [DataSetFields](/v1/docs/dataset-hotbar-quick-reference) and [User-Defined Fields](/v1/docs/programmed-field) they play a key role in the **transformation** of data. ![](https://cdn.document360.io/73b6469b-c1e4-47e9-aa65-986c8ebd17ca/Images/Documentation/image-1699288891865.png) The engineering functions are organised into groups: - **General** - general functions, including key creation, discrete value processing, access to indexes, joinlayer functions and quantiles. - [**DateTimeTransform**](/v1/docs/datetime-transform-overview) - transformations involving hours, minutes and seconds - [DateTransform](/v1/docs/dmath-overview) - transformations involving years, months and days - [DMath](/v1/docs/dmathfunction-1) - transformations producing decimal fields - [**LMath**](/v1/docs/lmath-overview) **-** transformations that produce integer fields - [FLogic](/v1/docs/flogic-overview) - logical functions that evaluate conditions and produce flag fields - **Geo** - geographical functions, including distance calculations - **Statistical** - distributions and transformation that support data modelling and cleaning - **String** - transformations of string data - **UserAgent** - extractions of web data ## Creating Baked Fields BakedFields (or functions) can be created in a variety of ways: - From the [Engineering | Functions menu](/v1/docs/function-overview) - From the **Database Explorer | Right-click | Engineering | Functions** options - From [Script](/v1/docs/scripting-methods-overview) - By [editing an existing Baked Field](/v1/docs/database-right-click-menus) Baked Fields are optimised functions that are designed to work quickly on very large datasets. Not all functions are supported for all data and field types. If a bakedfield function is not available for the particular field or data type that needs to be transformed, try one of the following: - Expression Builder - (note, expressions may be slower than BakedFields) - User-Defined Field - Casting, or pre-engineering See [Engineering - Functions](/v1/docs/function-overview) for more details. ## JSON and Parameters Baked Fields have a common parameter structure: #### Example Baked field (YMDH - Year Month Date Hour) ```json { "method": "BuildBakedField", "project": "Election5", "targetTable": "PA_All", "overwrite": true, "name": "YMDH", "function": "datetimetransform", "p1": "YMDH(A)", "p2": "TimeStamp" } ``` ```json { "method": "BuildBakedField", "targetTable": "transactions", "overwrite": true, "name": "Engineering-DMath", "function": "dmath", "p1": "A/B", "p2": "profit", "p3": "price", "nullIsZero": true, "project": "RegressionDB2" } ```