Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in NYC Sept 4th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
tchovanec
Creator II
Creator II

Get 1st instance of max value

Table:

Load * inline

[

Pat_ID,Date,Score

1111,1/1/2014,1

1111,2/1/2014,1

1111,3/1/2014,3

1111,4/1/2014,3

2222,1/1/2014,1

2222,2/1/2014,3

2222,3/1/2014,3

3333,1/1/2014,2

3333,8/1/2014,4

3333,9/1/2014,4

];

What I would like to do is create a flag per Pat_ID that would flag the 1st instance of the max score. I would like the end table to look like this.

Pat_ID,Date,Score, Flg_Max

1111,1/1/2014,1,0

1111,2/1/2014,1,0

1111,3/1/2014,3,1

1111,4/1/2014,3,0

2222,1/1/2014,1,0

2222,2/1/2014,3,1

2222,3/1/2014,3,0

3333,1/1/2014,2,0

3333,8/1/2014,4,1

3333,9/1/2014,4,0

Any help would be greatly appreciated. Thank you

3 Replies
anbu1984
Master III
Master III

Table:

Load * inline

[

Pat_ID,Date,Score

1111,1/1/2014,1

1111,2/1/2014,1

1111,3/1/2014,3

1111,4/1/2014,3

2222,1/1/2014,1

2222,2/1/2014,3

2222,3/1/2014,3

3333,1/1/2014,2

3333,8/1/2014,4

3333,9/1/2014,4

];

Join(Table)
Load Pat_ID,Max(Score) As Score, 1 As Flag Resident Table;

Final:
NoConcatenate
Load Pat_ID,Date,Score,If(IsNull(Flag),0,If(Pat_ID = Previous(Pat_ID) And Peek(Flag) = 0,1,0) As Flag Resident Table;

Drop table Table;

FernandaNava
Partner - Contributor III
Partner - Contributor III

Hello! I know this is an old post but I'm trying your solution for a similar application and I get an "Invalid expression" error for the Max() statement. I'm using qliksense april 2019. 

I've made sure the field I'm comparing is a numeric one. Any clues why this may be happening? 

edwin
Master II
Master II

the line with the Max(Score) is missing a group by expression  group by Pat_ID
having surpassed that you will of course find the if statement is missing a closing parenthesis.