Arguably the most requested feature we've had over the last few months has to be capacity reporting. We heard you, and that's why we are happy to announce a brand new pivot component which will help you to gain insights on your resources' utilization. With the pivot grid, you can slice and dice your data in a shape that enables you to determine your resources' occupation rate in a meaningful way, and alleviate any bottlenecks that have been exposed by your reports accordingly in the planning board.
Dime.Scheduler's capacity pivot grid works just like you could reasonably expect from a pivot table. By selecting a set of (layered or grouped) rows, columns and values, you can inspect the resources' capacity from any perspective you want to. By using the configurator at the right hand side of the component, you can drag and drop any field from the list to one of the axes. A common query would be the expression of the resources' load (grouped by a common field such as department or resource type) over time, where the resources are displayed in the rows (X-axis) and the days and weeks in the columns (Y-axis). Every additional field adds a new level to the report. The example below shows a multi-layered capacity report. With just one view, you can consult the daily, weekly and quarterly capacity for resources, departments and resource types.
The configurator is particularly powerful because it allows you to drag and drop fields to any dimension. On the left hand side is a column with all fields. Three field categories can be distinguished:
- Resource fields like department, type, team, etc.
- Date fields like day, week, month, etc.
- Value fields like planned quantity, capacity, load and variance
Even though these categories have no actual significance other than to informing the user, it is likely you will create reports across these three categories. The row labels are displayed on the vertical axis of the pivot. The first item will be on the top level, which will group all subsequent row labels. Same principle applies for the second level, which will group all labels beyond itself, etc.
As an example, this configuration...
... will create the following result:
More of the same for the column labels, which are displayed on the horizontal axis of the pivot. For example, this...
... will create the following result:
The values column are the intersection of the column and row labels and will display the aggregates. For example, this following configuration...
...will result in:
There are extra capabilities that give you the possibility to create powerful reports. Row labels and column labels can be sorted and filtered. By clicking on a field's cogwheel in the configurator, the following context menu will be displayed:
Label filters are those that filter on the data in the axes. For instance you could create a report for a resource type for a given time span. The pivot grid subsequently will filter out all records that do not match this query. Value filters are slightly different because they query the capacity values directly rather than the underlying resources. For example, value filters let you search for resources with a load that exceeds 100%. The pivot grid will execute this filter on the lowest level (capacity per resource per day), which will have its implications on the aggregated level. However, the filtering will eventually be done on the totals. A pivot grid would not complete without having the possibility to see sub totals and grand totals. Dime.Scheduler allows you to configure the position of these total fields:
By now you noticed that the pivot grid has the same look and feel as the other components. You can add as many pivot grids as you want to the user profile, and each one can have its own state. This means you can save layouts and share them with other users. This effectively converts your ad hoc reports into report templates.
Page size limit
Dime.Scheduler was built with scalability in mind. One of those areas in which this becomes apparent is the paging model. By splitting up the data set in a set of pages, you can have thousands of records without harming the performance of the application. We initially put a hard limit on a maximum page size of 200 records, but sometimes this is not enough. Therefore in the spirit of the application's philosophy, we decided to remove this limit. If you decide you want to see more than 200 records at the same time, that's entirely up to you.
Resource validation with copy/paste
Avid users may work very efficiently and most likely very quickly as well. In fact, sometimes they may be too fast for Dime.Scheduler in the area of cutting, copying and pasting. When you cut and paste an appointment very quickly, Dime.Scheduler needs to figure a few things out – such as the date and resource you selected. In some scenarios, appointments slip through the net and are pasted without a valid time or resources. Therefore, we added extra validation so we can guarantee a valid transaction.
Extra free decimal fields for the resources
Shrewd observers will have noticed resources have ten free decimal fields at their disposal in the database, whereas only five of these fields were available in Dime.Scheduler's web application. This has been rectified, giving you ten free decimal fields to work with. Each one comes with its own fields and formatting, just like you're used to.
Besides the traditional performance and stability improvements, the following bugs have been fixed:
- It is no longer possible to cut, copy and paste locked appointments.
- The delete shortcut key on the planning board is disabled while an appointment is being dragged.
- The bulk select feature will ignore hidden markers (which were rendered at some point) on the map.
- The application's logging system will once again print out the user's name. This will improve troubleshooting and diagnostics.
- Job filters on the open tasks grid will no longer break when the back office sends back empty job data.
- Unauthorized requests or expired credentials will once again be handled gracefully.
- Resource GPS tracking updates are processed correctly again since the introduction of the resource home locations layer.
In the forthcoming months, we intend to work on another popular request: recurring appointments. This will require a major upgrade of our code base and it will take some time until we can ship a stable product, which is why we won't release a new version until summer.