# Expression editor

> The **Expression help** offers a description and examples of all the functions available in the **UiPath Process Mining** expression language. The help contains a search field to find the functions that meet the search string you enter; both names of functions and help content are searched. See the illustration below for an example.

## Expression Help

The **Expression help** offers a description and examples of all the functions available in the **UiPath Process Mining** expression language. The help contains a search field to find the functions that meet the search string you enter; both names of functions and help content are searched. See the illustration below for an example.

![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-53888-15c31d0f-4c18984d.webp)

:::note
Click on **OK** or double click on the name of the function in the **Expression Help** dialog to use the function in the **Edit Expression Attribute** dialog.
:::

## UiPath Process Mining Expression Language

In the Expression Language expressions can be the following types.

* Boolean
* Currency
* Date
* Duration
* Integer
* Percentage
* Time
* Double
* Text
* DateTime

Each expression evaluates to one of these types. The result of the expression must be of the same type for each record.

## Autocomplete

You can autocomplete your expressions by pressing `Ctrl + space` when you are typing.

## Converting expression ytpes

Some functions and operators in the expression language automatically convert their arguments to the same type. For example, the plus operator (‘+’) between a text value and an integer value will result in the integer being converted to a text value prior to the concatenation of the two.

Explicitly converting a value to another type can be done using the type’s corresponding cast function (`boolean()`, `integer()`, `double()`, `currency()`, `percentage()`, `text()`, `date()`, `time()`, `datetime()`, `duration()`).

:::note
An **Integer** can be converted to a **Double** but converting a **Text** value to **DateTime** requires the input value to be in a specific format; it must match with the **DateTime** format settings for the application.
:::

## Syntax highlighting

In the expression editor the elements of an expression are highlighted according to the following syntax.

  ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-53760-fe63b6cc-c9201d31.webp)

### Comments

Also, comments can be added in the **Edit Expression Attribute** dialog.

  ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-58345-e718500a-6f3da773.webp)

## Error feedback

When writing an expression in the **Edit Expression Attribute** dialog, feedback is displayed when an expression is not correct. For example, when functions are not used properly or when different types are mixed when not allowed. See the illustration below.

  ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-53483-19b98b0c-1aeb983a.webp)

A square red icon indicates that the line contains an error. In the result panel a comment suggests that a closing parenthesis is expected after an opening parenthesis is displayed.

## Error values

When an expression cannot be evaluated, an `ERROR` value is returned. For example, when you use a function which is only defined within a certain range, and the given parameter is outside of that range.

  ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-53379-567d8e7b-6ff9d26a.webp)
