Skip to main content

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
QlikWorld 2023, a live, in-person thrill ride. Save $300 before February 6: REGISTER NOW!
cancel
Showing results for 
Search instead for 
Did you mean: 
mihai_iov
Creator II
Creator II

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
Employee
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
Employee
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

mihai_iov
Creator II
Creator II
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
Employee
Employee

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

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

HIC

mihai_iov
Creator II
Creator II
Author

That's it, thanks!