Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
sunilkumarqv
Specialist II
Specialist II

Create a flag column based on NUMBER

HI all ,

Please help me to create a FLAG column  below table where for each NUMBER to get Last flag as 1 else 0

NUMBERDATESTATUSFLAG
129/12/2015 :Assigned0
129/12/2015 :Assigned0
129/12/2015 :Resolved1
215/02/2016 :Assigned0
215/02/2016 :In Progress1
304/02/2016 :Pending0
304/02/2016 :Assigned0
304/02/2016 :In Progress0
304/02/2016 :Resolved1
425/02/2016 :Pending0
425/02/2016 :Assigned0
425/02/2016 :In Progress0
425/02/2016 :Resolved1
526/02/2016 :Assigned0
526/02/2016 :In Progress1
1 Solution

Accepted Solutions
jagan
Luminary Alumni
Luminary Alumni

Hi,

Try like this

LOAD

*,

If(Peek('NUMBER') <> NUMBER, 1, 0) AS Flag

FROM DataSource;

Hope this helps you.

Regards,

Jagan.

View solution in original post

5 Replies
Kushal_Chawda

Do you have Timestamp format of Date? If so it will be easy to flag the latest Status based on max(Date)

sunilkumarqv
Specialist II
Specialist II
Author

yes have timestamp

can you plz share script hear .

jagan
Luminary Alumni
Luminary Alumni

Hi,

Try like this

LOAD

*,

If(Peek('NUMBER') <> NUMBER, 1, 0) AS Flag

FROM DataSource;

Hope this helps you.

Regards,

Jagan.

Kushal_Chawda

make sure that You Date is in proper Timestamp format

Data:

LOAD Number,

           num(Date) as Date,

          Status

From Table;

left join(Data)

LOAD  Number,

            max(Date) as Date

           1 as MaxDateFlag

Resident Data

group by Number;

Final:

noconcatenate

LOAD *,

if(len(trim(MaxDateFlag))<=0,0,MaxDateFlag) as Flag

resident Data;

drop table Data;

siddharthsoam
Partner - Creator II
Partner - Creator II

You can simply use maxstring(date)..