# 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](https://olddocs.exivity.io/3.4.3/data-pipelines/transform/if#functions) in the article about the [if](https://olddocs.exivity.io/3.4.3/data-pipelines/transform/language/if) statement

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

If the `overwrite` [option](https://olddocs.exivity.io/3.4.3/data-pipelines/transform/language/option) 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
```
