Public

# How to use a IF function containing a certain word?

Options
Registered Posts: 27 ✭✭✭✭

Hi , I would like to create a new column of data (i.e. column c) whereby if col A does not contain the word "number", then col C = Col B*10 and if not , col C = Col B

So for example, the first row in col A contains the word number , so col C = col B(i.e. 10) ; while the second row does not contain the word "number", so Col C = col B * 10 (20* 10= 200)

 Col A Col B Col C (would like to generate this col) Number of XX 10 10 Amount of YY 20 200

• Dataiker Posts: 37 Dataiker
Options

Hello GSung,

You can create such a column C in a Prepare recipe, by adding a Formula step.

In your case, the formula would be:

if(contains(toLowercase(A), "number"), B, B*10)

I used toLowercase to ensure that the if is case insensitive, i.e. for instance Number and number within the A column would yield the same result for C.

Hope this helps

Agathe

• Registered Posts: 27 ✭✭✭✭
Options

Thanks Agathe

and how can I expand the formula if I want the condition to contain multiple words --> either contain the word "number" or "a." ?

• Dataiker Posts: 37 Dataiker
Options

You might want to use an or operator here (refer to the Formula documentation: https://doc.dataiku.com/dss/latest/formula/index.html#boolean-functions).

This would be something like the following:

if(contains(toLowercase(A), "number") || contains(toLowercase(A), "a."), B, B*10)

• Registered Posts: 2
Options

@AgatheG
Is there documentation for this? How about if i have multiple conditions like more than 3. E.g where a row A contains '10', make column C = 'new value' and where row A contains 20, make column C = 'another value'.

This should be like how in sql with the CASE WHEN

• Dataiker Posts: 37 Dataiker
Options

Hi chinazoc,

It should solve your case, if I understand correctly

(by the way, prefer to open a new post instead of replying to a closed & old one )

Hope that helps,

Agathe

Help me…