# Using ETL formula for finding between dates

Options
Member

Hi, I have a dataset and every row has a date. I want to add a column using ETL that indicates what week that is (starting mondays). So for a row with 3/28/2022, the new column would have "week of 3/28" and for a row with 4/1/2022 it would also say "week of 3/28" since 3/28 was a Monday. A row with 4/5/2022 would say "week of 4/4". How can I approach this?

• Coach
Options

You can do some simple date manipulation to get the Monday of the current week with a Formula Tile

````Date` - INTERVAL (CASE WHEN DAYOFWEEK(`Date`) = 1 THEN 6 ELSE (DAYOFWEEK(`Date`) - 2) END) DAY
```

`DAYOFWEEK` returns a number between 1 (Sunday) and 7 (Saturday).

The `CASE` statement is checking if it's a Sunday to subtract 6 days instead of 1.

`-2` is to reduce the days to subtract to get to Monday. For example Tuesday (3) we need to subtract only 1 day instead of 3 days.

You can then tie it all together with a CONCAT function and a DATE_FORMAT:

```CONCAT('Week of ', DATE_FORMAT(`Date` - INTERVAL (CASE WHEN DAYOFWEEK(`Date`) = 1 THEN 6 ELSE (DAYOFWEEK(`Date`) - 2) END) DAY, '%m/%d'))
```
**Did this solve your problem? Accept it as a solution!**

• Coach
Options

You can do some simple date manipulation to get the Monday of the current week with a Formula Tile

````Date` - INTERVAL (CASE WHEN DAYOFWEEK(`Date`) = 1 THEN 6 ELSE (DAYOFWEEK(`Date`) - 2) END) DAY
```

`DAYOFWEEK` returns a number between 1 (Sunday) and 7 (Saturday).

The `CASE` statement is checking if it's a Sunday to subtract 6 days instead of 1.

`-2` is to reduce the days to subtract to get to Monday. For example Tuesday (3) we need to subtract only 1 day instead of 3 days.

You can then tie it all together with a CONCAT function and a DATE_FORMAT:

```CONCAT('Week of ', DATE_FORMAT(`Date` - INTERVAL (CASE WHEN DAYOFWEEK(`Date`) = 1 THEN 6 ELSE (DAYOFWEEK(`Date`) - 2) END) DAY, '%m/%d'))
```