Benchmark

This widget allows performing benchmark analysis by comparing a product or an entire customer to others with similar characteristics and discover correlations.

This widget is valuable for:

Sales Manager

Saves the time needed to compare consumption and product use.

R&D

Saves the time needed to analyze and discover correlations between products.

End User

Be aware of the performance of a product by comparing consumption and productivity with similar products.

Benchmark

This widget is context aware, this means that it compare the current context object (e.g. Thing) with others having similar characteristics.

To be configured, this widget requires specifying:

  • The context object you want to compare, one of THING, LOCATION, CUSTOMER, PARTNER.

  • The comparison property used to define the groups of object along the X axis.

  • One or more properties used to retrieve objects which are similar to the context one.

For instance, in case you want to compare the Productivity of your Machine in respect to others, you need to place this width in the machine dashboard, select THING as Search Target, and select thingDefinitionId in the Cluster Properties.

Configuration

Template Syntax

Below you can find some examples of how to use the component within a template.


<benchmark-widget target="THINGS" 
                  minValue="0"
                  maxBarNumber="20" 
                  valueProperty="properties.workingHours" 
                  valueFilter="millisToHours"
                  unit="hours"
                  [clusterProperties]="['thingDefinitionId', 'customer.country']"
                  [query]="[{property:'properties.size', predicate:'eq', value:'100'}]">                                    
</benchmark-widget>

Component Reference

Here is a comprehensive list of all the elements and properties that can be used to configure the component.

Benchmark <benchmark-widget>

PROPERTIES

Cluster Properties

Object properties used to filter target objects that are similar to those in the context.
Type: PROPERTY_ARRAY | Optional
clusterProperties="PROPERTY_ARRAY"

CSS Class

The name(s) of the CSS class used to customize the widget layout.
Type: STRING | Optional
class="my-custom-class"

Filter

The filter used to transform the property value before the visualization.
Type: FILTER | Optional
valueFilter="fooBarFilter"

Max Bar Number

The maximum number of bars to group objects in clusters.
Type: INTEGER | Optional | Default: 20
[maxBarNumber]="123"

Max Value

The X axis maximum value.
Type: INTEGER | Optional
[maxValue]="123"

Min Value

The X axis minimum value.
Type: INTEGER | Optional
[minValue]="123"

Query

The array of conditions filtering out items.
For instance: [query]='[{'property': 'connectionStatus', 'predicate': 'eq', 'value': '1'}]'
Predicates: eq, neq, beginsWith, like, notLike, isEmpty, isNotEmpty, gt, gte, lt, lte.
Type: QUERY | Optional
query="[{'property': 'connectionStatus', 'predicate': 'eq', 'value': '1'}, {...}]"

Query Variable

The id of the page's <things-filter-field> used for searching.
Type: STRING | Optional
queryFieldRef="query-1"

Search Target

The target objects to be used as comparison clusters.
Type: ENUM | Required | Values:

THING

LOCATION

CUSTOMER

PARTNER


target="CUSTOMERS"

Title

The title displayed on the top part of the widget box.
Type: STRING | Optional
[title]="'Details'"

Unit

The unit of measurement to be displayed along the value.
Type: STRING | Optional
unit="&deg;C"

Value Label

The label displayed on the chart tooltip for the property value.
Type: STRING | Optional
valueLabel="fooBar"

Value Property

The object property used to assign each object to a cluster.
Type: PROPERTY | Optional | Default: 20
valueProperty="PROPERTY"

Visibility Condition

The expression that allows you to reduce the visibility of the element.
Type: STRING | Optional
*ngIf="getUser().organizationId != null"