Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
 
					
				
		
hi,
I would like to create a column who will look for the sames id's if a condition is respected.
Then i would like to display for the sames id's the result of the "condition1" if condition1= T,
then display for the sames id's the result of the "condition2" if condition1=F and condition2=T,
...
Exemple :
ID condition 1 condition 2 condition 3 temp_Result ColumnToCreate
1 1 0 1 good good
1 0 1 0 oke good
1 0 0 1 middle good
2 0 1 1 oke oke
3 0 0 1 middle oke
3 0 1 1 oke oke
So i have an order of priority like : condition 1 > 2 > 3
So if i have for one id the condition 1 and 3 i would like to keep the 1 for all rows of this id,
the condition 2 and 3 i would like to keep just the 2 for all rows of this id.
I work with Qlik sense.
I have tried to use the function 'peek' but i can't find a solution to this problem.
Je travaille sur Qlik sense. J'ai essayé d'utiliser la fonction 'peek' mais je ne trouve pas de solution.
Thanks in advance for your help,
Amin.
 sunny_talwar
		
			sunny_talwar
		
		
		
		
		
		
		
		
	
			
		
		
			
					
		Try this
Table:
LOAD *,
If(condition1 = 1, Dual('good', 1),
If(condition2 = 1, Dual('oke', 2), Dual('middle', 3))) as tempResult;
LOAD * INLINE [
ID, condition1, condition2, condition3
1, 1, 0, 1
1, 0, 1, 0
1, 0, 0, 1
2, 0, 1, 1
3, 0, 0, 1
3, 0, 1, 1
];
Left Join (Table)
LOAD ID,
MinString(tempResult) as ColumnToCreate
Resident Table
Group By ID;
temp_Result is okay but what is the last column? Can you describe little
 
					
				
		
In the last column i would like to have ONE result per id.
for id 4 if i have 3 row with 'middle' 'oke' and 'good' i would like to display 'good' in the 3 rows.
Because i have an order of priority like : condition 1 > 2 > 3
so good> oke> middle
I hope that it is more clear now.
 sunny_talwar
		
			sunny_talwar
		
		
		
		
		
		
		
		
	
			
		
		
			
					
		Try this
Table:
LOAD *,
If(condition1 = 1, Dual('good', 1),
If(condition2 = 1, Dual('oke', 2), Dual('middle', 3))) as tempResult;
LOAD * INLINE [
ID, condition1, condition2, condition3
1, 1, 0, 1
1, 0, 1, 0
1, 0, 0, 1
2, 0, 1, 1
3, 0, 0, 1
3, 0, 1, 1
];
Left Join (Table)
LOAD ID,
MinString(tempResult) as ColumnToCreate
Resident Table
Group By ID;
 
					
				
		
That was exactly what i was looking for.
thanks a lot.
 
					
				
		
Love your solution, first the dual to create de degree of priority, then the minstring function. And last group it by id so i will have one result for each id.
You helped me a lot there, ty
