Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
rustyfishbones
Master II
Master II

Show Potential Finish Time

Hi All,

I have the following Doughnut Chart that shows cases picked versus total.

2014-02-28_1237.png

What I want to do next is to show the potential finish time based on Current Average and Potential finish time if I add more people to a task.

I have the following variables

input.volume.picking = 20,000

input.picking.ops = 0

I have the following Expression to look at what has been picked so far today, which is then divided by the $(input.volume.picking) to get % complete

2014-02-28_1245.png

So I want to get average cases picked per hour and then what that average would be if I added more pickers. Just wondering where to start with this?

Maybe something like this? but i need  a new End Time

Amount / Start Time - End Time /Current Ops* $(input.picking.ops)

Struggling!!

Alan

1 Solution

Accepted Solutions
Gysbert_Wassenaar

The variable input.volume.picking was set to value 50000 instead of 20000.

EndTime is a date. If you add 1 to it you get the next day. If you add 4.06 to it you get a datetime that's 4 days and a bit later. So you need to divide the 4.06 by 24 first since 4.06 is supposed to be a number of hours, not days. Finally you want the end result formatted as a time, not just the EndTime. Try this instead:

=TIME(($(input.volume.picking)

-

SUM({<Date = {"$(=MAX(Date))"},[Trx Type] ={'D'},ActionId ={'PICKCASE'}>}Primary))

/

NUM((SUM({<Date = {"$(=MAX(Date))"},[Trx Type] ={'D'},ActionId ={'PICKCASE'}>}Primary)

/SUM({<Date = {"$(=MAX(Date))"},ActionId ={'PICKCASE'},[Trx Type] = {'D'}>}NewPickTime)),'#,##0')/24

+

MAX({$<Date = {"$(=MAX(Date))"},[Trx Type] = {'D'},ActionId = {'PICKCASE'}>}EndTime))


talk is cheap, supply exceeds demand

View solution in original post

9 Replies
MK_QSL
MVP
MVP

Little understand from your question.

Could you provide at least one example with result so that we can help you by understanding your logic more clearly.

jonathandienst
Partner - Champion III
Partner - Champion III

Hi

To calculate a potential completion time, you need the following:


  • Actual start time
  • Target amount (input.volume.picking)
  • Elapsed time (you don't mention this one) or curent time of measurement
  • Amount picked at elapsed time


Then:

  • Actual pick rate = amount picked / elapsed time
    OR = amount picked / (time of measurement - start time)
  • What-If pick rate = actual pick rate * input.picking.ops (which should be a value of 1 by default)

And

  • Time to completion = target amount / actual pick rate
  • What-If time to completion = target amount / what-if pick rate
  • End time = start time + Time to completion
  • What-if end time = start time + what-if time to completion

HTH

Jonathan

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
rustyfishbones
Master II
Master II
Author

Here is what I have

2014-02-28_1426.png

Obvoiusly I have expressions behind all of these and they are correct.

Right now I can deal with getting average times

So it would be

Cases Due - Cases Picked = 7,108/Average Cases per Hour = 1750

The result is 4.06, Can I just add this to the Max PickTime of 09:30:50?

Here is the Expression I have to do this, but the result is not correct

I am hoping to for a Finish Time of 13:30

2014-02-28_1519.png

However the result being returned is 61683.028078705

rustyfishbones
Master II
Master II
Author

Hi All,

I have attached a reduced version of the file

rustyfishbones
Master II
Master II
Author

Any ideas with this?

rustyfishbones
Master II
Master II
Author

Hi Manish,

Any chance you could take a look at this?

Apologies for being annoying, just trying to get this sorted before the weekend

Thanks

Alan

Gysbert_Wassenaar

The variable input.volume.picking was set to value 50000 instead of 20000.

EndTime is a date. If you add 1 to it you get the next day. If you add 4.06 to it you get a datetime that's 4 days and a bit later. So you need to divide the 4.06 by 24 first since 4.06 is supposed to be a number of hours, not days. Finally you want the end result formatted as a time, not just the EndTime. Try this instead:

=TIME(($(input.volume.picking)

-

SUM({<Date = {"$(=MAX(Date))"},[Trx Type] ={'D'},ActionId ={'PICKCASE'}>}Primary))

/

NUM((SUM({<Date = {"$(=MAX(Date))"},[Trx Type] ={'D'},ActionId ={'PICKCASE'}>}Primary)

/SUM({<Date = {"$(=MAX(Date))"},ActionId ={'PICKCASE'},[Trx Type] = {'D'}>}NewPickTime)),'#,##0')/24

+

MAX({$<Date = {"$(=MAX(Date))"},[Trx Type] = {'D'},ActionId = {'PICKCASE'}>}EndTime))


talk is cheap, supply exceeds demand
rustyfishbones
Master II
Master II
Author

Excellent, this works

I was not far away, I did not format the time and I was not dividing by 24 to get the hours

How long are you using Qlikview? you have all the answers

Thanks so much Gysbert

Kind Regards

Alan

rustyfishbones
Master II
Master II
Author

Hi Gysbert,

One final question, I swear.

2014-02-28_2022.png

If I want the End Time to change based on the number of guys I add to a task, for example if I have 4 current pickers and change to 5 using the $(input.picking.ops).

My question is how do I get the current Pickers, would it be something like if they have picked in the last 2 minutes to get the current pickers?

Not sure how to get this.

Time functions cause me problems for some reason!!

Thanks again

Alan