Dimensions

Each column inn your view is a dimension of your data and each dimension can be used in x, y, color and size configuration elements. Dimension of your data can have one of following types:

  • Category - data that can't be compared, enumerations like type of cars, countries. For category like dimension default scale is ordinal.
  • Order - data that can be only ordered, like enumerations. Default scale here is ordinal.
  • Measure - data that can be ordered and subtract (subtraction of dates is a duration, subtraction of integer is an integer, etc...). Default scale - linear.

Smart QL charts support following scales: ordinal, linear, color, logarithmic, fill, identity, period, size, time, value.

Configuration

You can change default mapping of a column from your view to a dimension type by using dimensions element in a gadget configuration.

Usage of dimensions element in a configuration
{
	"type":  ...,
	"x": "columnA",
	"y": "columnB",
	"size": "columnC",
	"color": "columnD",
	...
	"dimensions" :{
		"columnA" : {
			"type": type-for-columnA,
			dimension-configuration-for-columnA
		},
		"columnB" : {
			type": type-for-columnA,
			dimension-configuration-for-columnB
		},
		...
	}
	...
}

Configuration for type order

With casting your column to order type dimension you can set the appropriate precedence of values you like. 

ElementNotes
typeMust be set to order value.
order

Table of values from specific columns. Describes precedence in order from highest. You may not use all possible values - not used ones will be ordered with lower precedence.


Example of enumeration ordering
{
	...
	"x": "priority"
	...
	"dimensions": {
		"priority": {
			"type": "order",
			"order": ["Low", "Medium", "High"]
		}
	}
}

Configuration of date/time like dimensions

Having a column with a date/time/datetime you can use it either as ordered group of periods or continuous timeline.

Example of using periods scale
{
	...
	"x": "created"
	...
	"dimensions": {
		"created": {
			"type": "order",
			"scale": "period"
		}
	}
}
Example of using continous timeline scale
{
	...
	"x": "created"
	...
	"dimensions": {
		"created": {
			"type": "measure",
			"scale": "time"
		}
	}
}