crazybake Posted October 20, 2016 Posted October 20, 2016 I have reviewed many of the developer solutions for calendars, but they are too elaborate for what I need. Part of my solution tracks courses, times and days on a quarterly basis, so I do not need a perpetual calendar. The courses do not change days or times during the quarter. I am hoping to create a calendar bar graph (I have forgotten the term for this type of graph) with a layout to see which courses are offered on which days and at which times for a particular quarter in 20 minute increments. My thought was to create a collection of portals that butted up against each other to represent the length of time for each course and to evaluate overlap. However, I cannot seem to create the proper calculation for the portal filter (e.g., StartTime >= Time(9,0,0) and StartTime <(10,0,0). For example, a course starting at 9:00 may end at 9:40, 10:00, 10:20.. but I need the portals to account for this to create the appearance of a "continuous line" for the length of the course thoughts? A better way for a static weekly time calendar?
comment Posted October 20, 2016 Posted October 20, 2016 (edited) It believe you are describing a timeline chart. But I am not sure what the length of your timeline should be: with 20-minute increments and say 8 hours per day, 5 days per week, a weekly chart would have 120 segments - is that what you're looking for? In any case, I don't see how this could be implemented using portal filters. A filtered portal omits filtered records. The line of Course B would break and jump up when Course A above it has ended. I would suggest you use a repeating calculation field (with 120 repetitions, under the above assumption). Or produce the chart in a web viewer, using either a calculation or a third-party chart tool (e.g. Google charts). Edited October 20, 2016 by comment
crazybake Posted October 24, 2016 Author Posted October 24, 2016 Thanks - I attempted what you suggested (calc field with 120 reps) - and I cannot seem to come up with the paper calculation for overlapping times.
comment Posted October 24, 2016 Posted October 24, 2016 1 hour ago, crazybake said: I cannot seem to come up with the paper calculation for overlapping times. I am not sure what you mean by that.
crazybake Posted October 24, 2016 Author Posted October 24, 2016 Can you clarify On October 19, 2016 at 11:36 PM, comment said: use a repeating calculation field (with 120 repetitions, under the above assumption). I may not understand how this would work
comment Posted October 24, 2016 Posted October 24, 2016 Let me understand first exactly what you want. I thought you wanted a simple timeline chart showing a bar for each course. Each bar would be drawn independently of others, and overlaps would be detected by eye, something like: Course A ███████ Course B █████████ Course C █████ where you (hopefully) can see an overlap between A and B.
crazybake Posted October 25, 2016 Author Posted October 25, 2016 Yes - that's it! In my courses table, I have fields for days, start time and end time. I would need some direction on the calculation field to draw the bars. Do you have such an example already built?
milanm Posted October 25, 2016 Posted October 25, 2016 There is a chart as described above in Nightwings scheduling solution. You could buy a developer version if you are up for spending some money and see how it's done exactly. It does not work so well with Webdirect though.
comment Posted October 25, 2016 Posted October 25, 2016 1 hour ago, crazybake said: I would need some direction on the calculation field to draw the bars. Have a look at the attached demo. It is practically identical to what you described, except the slots are half an hour long. I have added a comment to the calculation so you will know which values to change when adapting this to your situation. WeeklyTimelineOverlapR.fp7
crazybake Posted October 25, 2016 Author Posted October 25, 2016 (edited) Thank you! This is exactly what I was looking for and does the job. However, for a point of reference (or if it might help), I am getting the data from another department in Excel format. For example, the days field from the Excel file may look like any of the following: "M", "MTF", "Daily". So, the solution you provided works well if I use the CourseDays field and the course is only on a single day. At the same time, I created a CourseDaysCalc field within the courses layout that is a checkbox set with a days of the week value list. When I import the data, I have a calculation that runs (e.g., If (Filter(Courses::CourseDays ; "M" ) > 0; List ( Courses::CoursesDaysCalc ; "Monday");Courses::CoursesDaysCalc). This works well and checks the appropriate days. However, I am not sure if or how I can use the checkbox data for the days portion of the solution - thoughts? Edited October 25, 2016 by crazybake
comment Posted October 25, 2016 Posted October 25, 2016 (edited) Well, a checkbox field contains a return-separated list of checked values - and if you have a calculation field named cWeekDays that returns a list of the applicable weekday names (e.g. for an input of "MWF" it would return "Mon¶Wed¶Fri"), then you can change this part in my calculation: d = Extend ( WeekDay ) to: not IsEmpty ( FilterValues ( d ; Extend ( cWeekDays ) ) ) Note that I am using short day names; you can change that if you also change the definition of the d variable. -- P.S. I did not understand your description of the calculation that produces the checkboxes, and I suspect it could be a lot simpler. But I would have to know exactly what input values are expected and what do they mean - for example, "MTF" is ambiguous. Edited October 25, 2016 by comment
crazybake Posted October 26, 2016 Author Posted October 26, 2016 That worked perfectly. Sorry about the vagueness in my example. I was simply trying to illustrate that the other department hand codes the days, so the syntax is rarely consistent. A course on Monday, Tuesday and Friday, may look like "MTF", while a daily class might list "daily" or it might list "MTWThF"
webko Posted October 26, 2016 Posted October 26, 2016 I would make them not do that - inconsistent data will produce inconsistent results. Maybe give them a checkbox set with the days of the week, for them to mark the relevant days, so the data is consistent.
Recommended Posts
This topic is 3005 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now