> For the complete documentation index, see [llms.txt](https://olddocs.exivity.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://olddocs.exivity.io/3.4.3/data-pipelines/transform/language/set.md).

# set

## Overview

The `set` statement is used to write a specified value into all the cells in any given column, or to copy values from one column to another.

## Syntax

**`set`***`ColName`***`to`***`Value`*

**`set`***`ColName`***`as`***`SrcColName`*

**`set`***`ColName`**`=`**`Expression`*

## Details

If the keyword word `to` is used then column *ColName* will be updated using the constant value specified in *Value*.

If the word `as` is used then the values in the column *SrcColName* will be copied into column *ColName*.

If `=` is used then the expression is evaluated and the column values are set to the result. For a complete list of functions that can be used in an expression please refer to the [list of functions](/3.4.3/data-pipelines/transform/language/if.md#functions) in the article about the [if](/3.4.3/data-pipelines/transform/language/if.md) statement

The *ColName* argument must identify an existing column. The modified column will be in the default DSET unless it is a [fully qualified](/3.4.3/advanced/digging-deeper/dataset-lifecycle.md) column name.

If the `overwrite` [option](/3.4.3/data-pipelines/transform/language/option.md) is disabled, then only cells with blank values will be updated with the new value.

## Examples

Set the column called *Flag* in the default DSET to a value of `0`:

```
set Flag to 0
```

Set the column called *Flag* to be the value in the column *status*:

```
set Flag as status
```

Set the column called *DiskTier* to the 4th character in the existing value of that column

`set DiskTier = @SUBSTR([DiskTier],4,1)`

Set the column called *Flag* in the DSET *custom.dataset* to a value of `Pending`:

```
set custom.dataset.Flag to Pending
```

Set the column *Flag* to `free` if the *rate* column contains a value of 0:

```
where ([rate] == 0) {
    set Flag to free
}
```

Fill any blank values in the column *username* in the DSET *Azure.usage* to `Unknown` :

```
option overwrite = no
set Azure.usage.username to Unknown
```
