Forum Discussion
Stacked Bar chart as a timeline for individual days
- 1 year ago
Alright, I'm pretty new to this and it took me a while to figure out but I've made some progress and would like your opinion to see if I've done this 'correctly' or if it could be more efficient or if you see any flaws. But this is more or less achieving what I've set out to do and could not have done it without your help!
The main change is I created a "ShiftID" to deal with the wrapping for past midnight shifts as sometimes crews can end and start a shift on the same day:
ShiftID =[Team]& "-" &FORMAT ( [Date], "ddmmyyyy" )& "-" &[Machine]This is the updated JSON:
{"data": {"name": "dataset"},"transform": [{"window": [{"op": "min", "field": "StartTime", "as": "ShiftStart"}],"groupby": ["ShiftID"]},{"calculate": "(datetime(datum.StartTime) - datetime(datum.ShiftStart)) / (1000 * 60 * 60)","as": "OffsetStart"},{// Similarly for EndTime"calculate": "(datetime(datum.EndTime) - datetime(datum.ShiftStart)) / (1000 * 60 * 60)","as": "OffsetEnd"}],"mark": "bar","encoding": {"y": {"field": "ShiftID", "type": "nominal"},"x": {"field": "OffsetStart","type": "quantitative","stack": null},"x2": {"field": "OffsetEnd"},"color": {"field": "Description", "type": "nominal"}}}
Before we get into the finer details of the ask (for example - what should happen when an activity crosses midnight?)
Here is a cheap and cheerful implementation using a Deneb visual. Is that maybe already good enough?
Alright, I'm pretty new to this and it took me a while to figure out but I've made some progress and would like your opinion to see if I've done this 'correctly' or if it could be more efficient or if you see any flaws. But this is more or less achieving what I've set out to do and could not have done it without your help!
The main change is I created a "ShiftID" to deal with the wrapping for past midnight shifts as sometimes crews can end and start a shift on the same day:
This is the updated JSON:
- lbendlin1 year ago
Super User
Looks good. What else do you need?