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

Announcements
Qlik Connect 2026! Turn data into bold moves, April 13 -15: Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
kakani87
Specialist
Specialist

Issue with Days displaying

Dear All,

Kind Request to help me out of this issue.

I'm having a data of bio metric access from month of november to jan 1st but my requirement is to display attendance using smiley's in a chart and consider sunday as holiday using a flag sunday flag in calendar

like green as present and red as absent for max date.

                Days 1 | 2 | 3| 4 | ...............   

Dept | Emp | | | | ...

for day attendance as on max date like today.

Following is the expression I'm using to acheive the above requirement.

if

(

Count

(

DISTINCT

{<

InOut={0},

CalendarFinancialYear={'$(=Maxstring(CalendarFinancialYear))'},

CalendarMonthAndYear={'$(=maxstring(CalendarMonthAndYear))'}

>}

EmpID

)=1

,

'qmem://<bundled>/BuiltIn/smiley1_g.png'

,

if

(

max(SundayFlag)=1

,

'qmem://<bundled>/BuiltIn/smiley1.png'

,

'qmem://<bundled>/BuiltIn/smiley3_r.png'

)

)

15 Replies
kakani87
Specialist
Specialist
Author

Hi Sunny,

Extended to  the earlier discussion what we had in showing green smiley for present , red for absent and Grey for sunday But the list of absent it is not showing the people who are absent and they suppose to be in red this is not displayed there for 1st jan max date. Inthe month of december if we filter then will come to know because all days displayed with in that if we can show show sunday flag on sunday as some other colour this will be helpful for me as per the requirement. 

Could you kindly check with that once. 

Regards,

Sai

sunny_talwar

Try this

If(Count(DISTINCT {<InOut={0}, CalendarFinancialYear={'$(=Maxstring(CalendarFinancialYear))'}, CalendarMonthAndYear={'$(=maxstring(CalendarMonthAndYear))'}>} EmpID) = 1, 'qmem://<bundled>/BuiltIn/smiley1_g.png',

If(If(Only(TOTAL <CalendarFinancialYear> CalendarFinancialYear) = MaxString(TOTAL <CalendarFinancialYear>CalendarFinancialYear) and Only(TOTAL <CalendarDayOfMonth> CalendarDayOfMonth) = MaxString({<InOut={0}, CalendarFinancialYear={'$(=Maxstring(CalendarFinancialYear))'}, CalendarMonthAndYear={'$(=maxstring(CalendarMonthAndYear))'}>}TOTAL <CalendarDayOfMonth>CalendarDayOfMonth),

Count(TOTAL <EmpID> DISTINCT {<CalendarFinancialYear, CalendarMonthAndYear>} EmpID) - Count(DISTINCT {<InOut={0}, CalendarFinancialYear={'$(=Maxstring(CalendarFinancialYear))'}, CalendarMonthAndYear={'$(=maxstring(CalendarMonthAndYear))'}>} EmpID)) > 0,

'qmem://<bundled>/BuiltIn/smiley3_r.png',

If(Max({<InOut={0}, CalendarFinancialYear={'$(=Maxstring(CalendarFinancialYear))'}, CalendarMonthAndYear={'$(=maxstring(CalendarMonthAndYear))'}>}SundayFlag) = 1, 'qmem://<bundled>/BuiltIn/smiley1.png')))

kakani87
Specialist
Specialist
Author

Here i would like to show something i found.

As this is a biometric data accessed details will be available. Here it is not displaying the day on sunday, if someone accessed on sunday then the day will be displayed.Apart from the people who accessed all they are displayed as red . The following attachment will give some clarity for the mont of dec 3rd and 10th they are sundays but on 3rd it is displaying entries because few are here and on 10th nothing is displayed not even the day.

Actually you are correct with the first post itself but my self failed to communicate properly

So now can we be able to show that this sunday as holiday indicator who are not in office.sunday.png

sunny_talwar

Just changed the order of the if statement....

If(Max(TOTAL <CalendarDayOfMonth>{<CalendarFinancialYear={'$(=Maxstring(CalendarFinancialYear))'}, CalendarMonthAndYear={'$(=maxstring(CalendarMonthAndYear))'}>}SundayFlag) = 1, 'qmem://<bundled>/BuiltIn/smiley1.png',

If(Count(DISTINCT {<InOut={0}, CalendarFinancialYear={'$(=Maxstring(CalendarFinancialYear))'}, CalendarMonthAndYear={'$(=maxstring(CalendarMonthAndYear))'}>} EmpID) = 1, 'qmem://<bundled>/BuiltIn/smiley1_g.png',

If(If(Only(TOTAL <CalendarFinancialYear> CalendarFinancialYear) = MaxString(TOTAL <CalendarFinancialYear>CalendarFinancialYear) and Only(TOTAL <CalendarDayOfMonth> CalendarDayOfMonth) = MaxString({<InOut={0}, CalendarFinancialYear={'$(=Maxstring(CalendarFinancialYear))'}, CalendarMonthAndYear={'$(=maxstring(CalendarMonthAndYear))'}>}TOTAL <CalendarDayOfMonth>CalendarDayOfMonth),

Count(TOTAL <EmpID> DISTINCT {<CalendarFinancialYear, CalendarMonthAndYear>} EmpID) - Count(DISTINCT {<InOut={0}, CalendarFinancialYear={'$(=Maxstring(CalendarFinancialYear))'}, CalendarMonthAndYear={'$(=maxstring(CalendarMonthAndYear))'}>} EmpID)) > 0,

'qmem://<bundled>/BuiltIn/smiley3_r.png')))

Capture.PNG

For some reason your sample doesn't have 10-12-2017 and 24-10-2017... so that is why you don't see those in the pivot table at all... but if you add them from the back end, you should see them as grey...

kakani87
Specialist
Specialist
Author

Thank you Sunny This is exactly i needed

sunny_talwar

Awesome!!

Please close the thread by marking correct and helpful responses

Best,

Sunny