Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Some help with the use of aggr(

I need to sum the amount of worked hours/day,in an expression, however if the amount of worked hours is above 8 hours, then the value is equal with 8.

the column headers are: Employee_ID, Date, Hours_Worked.

How should I use the aggr function inside a sum to get the results I need?

1 Solution

Accepted Solutions
hic
Former Employee
Former Employee

Then you need Aggr() to create an intermediate iterator. Try

Sum(Aggr(RangeMin(8,Sum(Hours_Worked)),Date,Employee_ID))

HIC

View solution in original post

5 Replies
Gysbert_Wassenaar

Try something like this: RangeMin(8, sum(Hours_Worked)).

Or perhaps sum(aggr(RangeMin(8, sum(Hours_Worked)), Employee_ID, Date))


talk is cheap, supply exceeds demand
hic
Former Employee
Former Employee

If you want to show number of hours per day and employee, you should use Date and Employee_ID as dimensions, and

   If(Sum(Hours_Worked)>8,8,Sum(Hours_Worked))

as measure.

No need for an Aggr().

HIC

Anonymous
Not applicable
Author

It seems to work for showing the number of worked hours per day per employee, but I need the sum of all the worked hours. Tried   Sum(If(Sum(Hours_Worked)>8,8,Sum(Hours_Worked))) but I get an "Error in expression" message

hic
Former Employee
Former Employee

Then you need Aggr() to create an intermediate iterator. Try

Sum(Aggr(RangeMin(8,Sum(Hours_Worked)),Date,Employee_ID))

HIC

Anonymous
Not applicable
Author

That's it, thanks!