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

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
kpradeep5610
Contributor III
Contributor III

Calculate based on Zero value

Hi All,

Please find the below attached file which contains sample data.

Fields like

"Employ code", "current week salary" , "previous week salary" ,  "and variance"  these are all fields.

Requirement :

 "previous week salary"  = 0 and  "current week salary" <>0  -- count all employees(Joiners)

 "previous week salary"  <> 0 and  "current week salary" = 0  -- count all employees(Leavers).

 

Please help me to get the Qlik logic.

4 Replies
tresesco
MVP
MVP

Logically, it's like:

Joiners : Count (Distinct {<[Current week sal]-={0}, [Previous week sal]={0}>} EMPCODE)

Leavers : Count (Distinct {<[Current week sal]={0}, [Previous week sal]-={0}>} EMPCODE)

kpradeep5610
Contributor III
Contributor III
Author

Hi, 

i'm really sorry, i have given wrong sample data. i apologize for that. 

please find the attached file, but requirement is same.

 

Steven_Haught
Creator III
Creator III

@kpradeep5610 

I would try creating the Previous week comp and Current Week comp in new fields. Then you can use the above formulas to do the count distinct. 

You could try adding a new section in the load and add the following: 

NewCompData:

Load

*
,If(EMPCODE=Previous(EMPCODE),Previous(Yearlysal)) as PrevComp
,If(EMPCODE=Previous(EMPCODE),Yearlysal) as CurrentComp

;

 

Load
*

RESIDENT YOURORIGINALTABLENAME

Order By EMPCODE,Calweek asc ;

DROP TABLE YOURORIGINALTABLENAME;

 

ramchalla
Creator II
Creator II

@kpradeep5610  can you please try the below code.

Test:

LOAD
EMPCODE,
Calweek,
Yearlysal

FROM [lib://dvSourceDataPath/ICO_Recharges_MI/Test/Sample data.xlsx]
(ooxml, embedded labels, table is Sheet1);

Test1:
Load Distinct Calweek
Resident Test
Order By Calweek desc;


Let vCurrentCalWeek = Peek('Calweek',0,'Test1');
Let vPrevCalWeek = Peek('Calweek',1,'Test1');

Test12:

Load EMPCODE,
Calweek,
Yearlysal,
If((Calweek = $(vPrevCalWeek) and Yearlysal = 0), 'Joiner',
If((Calweek = $(vCurrentCalWeek) and Yearlysal = 0), 'Leaver') ) as Flag

Resident Test;

Drop Table Test, Test1;

Use these expressions in UI.

Count( {<Flag={"Joiner"}>} distinct EMPCODE)

Count( {<Flag={"Leaver"}>} distinct EMPCODE)

 

Thanks,

Ramesh.