Jump to content

Calendar Time graph


crazybake

This topic is 2710 days old. Please don't post here. Open a new topic instead.

Recommended Posts

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?

Link to comment
Share on other sites

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 by comment
Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 by crazybake
Link to comment
Share on other sites

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 by comment
Link to comment
Share on other sites

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"

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

This topic is 2710 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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.