Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Bar Chart (similar like gant) help needed

Hello Users,

I have the following question:
I am loading the following data:
Time Operation Duration
13:00 A 1h
14:00 B 1h
15:00 A 1h
16:00 C 1h

I would like to have a chart with one bar, which has on the y-axis the time and the x-Axis has the one bar.
The bar should show now the operations in the order they happend.

My question, is that possible? If so, how can I do it.

Thanks in advance,

Oliver

1 Solution

Accepted Solutions
johnw
Champion III
Champion III

I'm still kind of just guessing what you're after, but here's a shot at displaying your actual data. Colors are assigned explicitly just like in the room example. The legend to the right is actually a completely different chart overlayed on top of the first, because otherwise the A legend would repeat.

This is assuming that your operations always immediately follow each other and do not overlap. If they overlap, you can't very well display them in a single stacked bar, so I'm guessing you don't have them overlapping. If they also don't immediately follow each other, you'll want to automatically insert more NonOp operations. You could do that in the script in a second pass by making sure you read your data in time sequence order, and for reach record, checking if the previous record bumps up against this one, and if not, inserting a NonOp record for the difference. I'd have to fiddle around to figure out how to do that though, and that wasn't your question, so I'm leaving that for later.

View solution in original post

8 Replies
johnw
Champion III
Champion III

Probably not exactly what you're looking for, but here's a couple of ways of displaying similar data. As far as applying it more specifically to your case, just flip the axis around. The idea is to stack your operations, sorted by their beginning time, at least if I understand what you want.

Not applicable
Author

Hi John,

this works only, if every operation appears once per case, but I could have Operation A at lets say 8:00, then some other operations and then at 15:00 Operation A again for the same case.

Any ideas how that could work?

Thanks for your help,

Oliver

Not applicable
Author

Oliver,

can you check the attached one.

-Raghu

Not applicable
Author

Hi Raguh,
This will work fine, BUT, can you describe how you got there? I tried to rebuilt the table, but can't get it to work 🙂

Thank you very much,

Oliver

johnw
Champion III
Champion III

I'm GUESSING that the part you aren't seeing is the background color for the expression. To see it, click on the + sign next to the expression. Over in Definition, you'll then see the expression that assigns the color to the cell. Creating the data isn't necessarily straightforward, but the script is there for you to study. The expression for Period is where the magic happens. Use something other than 1/48 if you want something other than half hour periods. 24 hours is 1, so divide it into whatever length of period you want.

I didn't think that was what you were asking for, though. 🙂

Not applicable
Author

Thank you for the hint 🙂

It is not exactly what I was looking for, but it is getting close. I will try to work something out based on this. If you have any other ideas let me know.

Thanks,

Oliver

johnw
Champion III
Champion III

I'm still kind of just guessing what you're after, but here's a shot at displaying your actual data. Colors are assigned explicitly just like in the room example. The legend to the right is actually a completely different chart overlayed on top of the first, because otherwise the A legend would repeat.

This is assuming that your operations always immediately follow each other and do not overlap. If they overlap, you can't very well display them in a single stacked bar, so I'm guessing you don't have them overlapping. If they also don't immediately follow each other, you'll want to automatically insert more NonOp operations. You could do that in the script in a second pass by making sure you read your data in time sequence order, and for reach record, checking if the previous record bumps up against this one, and if not, inserting a NonOp record for the difference. I'd have to fiddle around to figure out how to do that though, and that wasn't your question, so I'm leaving that for later.

Not applicable
Author

Hi John, this is exactly what I wanted.

Thank you ,

Oliver