Advanced Configuration enables precise control over creating and editing reports by providing access to options otherwise unavailable in Watershed's report builder. Using JSON, choose what data should be included in reports and configure how that data is displayed.
This guide outlines the properties that can be edited in Advanced Configuration. See Introduction to Advanced Configuration for details of how to access and use Advanced Configuration.
- User Types
- Any user with access to the report builder (Global Admins, Area Admins, and some Users).
- Pricing
- Available on paid plans (Analyst, CLO, and Enterprise).
- Expertise
- Advanced Configuration is designed to be used by expert users who understand JSON and the properties of xAPI statements.
Advanced Data Filters
The first section of every report's Advanced Configuration control the report's Advanced Data Filters. These filters control the data that makes up your report. Learn how to set up Advanced Data Filters.
Advanced Dimensions
Several reports (such as Leaderboard and Correlation) aggregate data using dimensions and measures. In Simple Configuration, dimensions are represented by the Organized field. Data can be organized by person, group, day, week, month, year, activity or activity type. If the dimension you need is not on that list, you can use Advanced Configuration to create a custom dimension. Learn how to set up Advanced Dimensions.
Related:
Advanced Measures
Several reports (such as Leaderboard and Correlation) aggregate data using dimensions and measures. In Simple Configuration, measures are represented by the measures dropdown and list, or simply as two dropdowns in the case of the Correlation report.
The easiest way to create a custom measure is to use the Measure Editor. Details of advanced measure configuration are outlined in the Measure Advanced Configuration.
Related:
TimeZone
The timeZone
property sets the timezone used by the report. It can also be configured within the date section of Simple Configuration.
Color
The colors used in Watershed reports can be customized at the whole account, measure and report level.
Customization at the report level is done using the colors
Advanced Configuration property. This includes a list of valid CSS colors to be used in reports. For example the code below is used to set the chart colors to red, blue and green.
"colors": [ "red", "#00ff00", "rgb(0,0,255)" ]
Caching
Report results are cached to improve performance. By default the cache duration is 1 hour, which means that when you view a report, data can be up to an hour old. You can adjust the number of minutes data will be cached for by using the cachingMinutes
property. This contains an integer number of minutes Watershed will wait before checking for new data. Decrease this to get more immediate results; increase it to improve the speed and performance of your dashboard.
Partition Size
The partitionSize
setting determines how many buckets of data Watershed processes at a time when generating a report and has a default of '5000'. On reports where you see the error "The amount of data needed to run this report is too large.", it may be possible to get the report to run by reducing the partition size.
Determining the right value to set for partition size is a case of trial and error to find the right balance, as lower values may cause the report to take longer to generate and time out. Try 2500 to start with, then drop to 1000, then 500 if the same error persists. Reducing partition size will not always fix this error, and you may still see the same error even with a very small partition size.
Additional Statement Properties
For the most part, Watershed's filters, dimensions and measures use the properties defined as part of xAPI statements. There are some additional properties that Watershed adds to the data for the purposes of reporting. Most of these are added within the statement's actor property and include additional metadata about the person who the statement is about.
Person metadata can be accessed using the actor.person property. actor.person.id
matches the Watershed id of the person the statement is about. actor.person.customId
matches the custom id of the person the statement is about. actor.person.name
matches the name of the person the statement is about as defined within Watershed. This can sometimes be different from the value of actor.name
, which is the name of the actor as defined in the xAPI statement. actor.person.email
matches the email address as defined in Watershed. Unlike actor.mbox
, actor.person.email
is not prefixed with "mailto:" and therefore looks nicer in reports.
Another piece of metadata that can be accessed is the number of centiseconds represented by the result.duration property. In xAPI result.duration is measured using an ISO 8601 duration string such as 'PT6H34M65.56S'. As this can include hours, minutes, seconds, or even years, months and weeks, it can be difficult to compare duration values in reports. Watershed therefore adds a result.durationCentiseconds
property that translates the duration into centiseconds (100th's of a second) to be more easily compared in reports.
Please note: The calculation of result.durationCentiseconds
assumes that the duration includes no leap time such as leap years and leap seconds.
Watershed also has special behavior when it comes to language maps, such as the object.definition.name
property. With language map properties, rather than configuring the specific language (e.g. object.definition.name.en
), you only need to configure the language map itself (e.g. object.definition.name
) and Watershed will choose from the languages available. This makes it much easier to work with data that includes a mix of language tags such as en
and en-US
.