A quadrant table enables the visualization of two different metrics for a given set of elements, most commonly brands. This is accomplished by plotting each element in a two dimensional chart by using each of the metrics to establish the X and Y coordinates. The table is then divided in two along each axis, creating four quadrants. The point of division for each axis defaults to the average value of the data points collected on that axis, but can be modified. The result is a quadrant table.
Creating a quadrant table
To create a quadrant table, a survey must generate two summary tiles which iterate through a common list. To use the common example of brands, this can be either a table which uses the list of brands as rows, or a question within a block that iterates on that list of brands. In either case, the options in each table/looped question will make up one of the two axes of the quadrant, and so should be a scale (e.g., 1-5, 1-7, 0-10, etc.).
setlist: BRANDS 1. BMW 2. Audi 3. Mercedes 4. Jaguar 5. Cadillac start table: 2 intro: Please rate the following luxury car brands on Quality. type: radio desc: Quality 1. 1 - Poor quality 2. 2 3. 3 - Average quality 4. 4 5. 5 - Extremely high quality rows from: BRANDS end table start table: 3 intro: Please rate the following luxury car brands on Innovation. type: radio desc: Innovation 1. 1 - Poor innovation 2. 2 3. 3 - Average innovation 4. 4 5. 5 - Extremely innovative rows from: BRANDS end table
The above source code generates two summary tiles.
To create a quadrant table, start working from the tile which contains the data that should appear on the X-axis of the table. Navigate to Gear menu > Analyze > Quadrant Table. This reveals a list of all question tiles that can be used to plot data on the Y-axis. Here, T3 is selected from T2.
The result is plotted as a quadrant table, as shown below. Once a quadrant table has been created, an additional display option of Quadrant Table will appear in the tile's Display As options in the Gear menu.
Before creating a quadrant tile, users may want to clone the tile from which they are creating the quadrant tile. This allows both the initial tile's data and the quadrant tile to be displayed simultaneously; otherwise the initial tile will be replaced in the report with the quadrant tile. To clone a tile, select the Clone option from the tile's Gear menu.
Configuration options
There are a handful of configuration options per axis. These options are accessible from the quadrant table sub-menu for each axis:
Option | Description |
---|---|
Title | Allows the user to alter the text title for this axis. The default is the desc tag for the question if defined, and the question text if it is not. |
Expr | An expression to evaluate; default is the average value. |
Center | The axis center line; defaults to the average of all axis data points. |
Max | The maximum value to display on this axis. |
Min | The minimum value to display on this axis. |
Format | The format for the values displayed on the axis. See examples below. |
Expressions
Custom expressions for quadrant tables utilize Perl, where $data
is a hashref mapping each option ID to its count. For example:
Average of Options 1-5 |
---|
sum( map { $_ * $data->{$_} } ( 1 .. 5 ) ) / sum( map { $data->{$_} } ( 1 .. 5 ) ) |
There is also a predefined function: nps_avg
. This is used when the given axis is a 0 to 10 NPS scale. The nps_avg
function transforms the NPS values into -1, 0 ,1 detractor/promoter NPS scores. To use nps_avg
, pass in $data:
NPS Average |
---|
nps_avg($data) |
Format
The Format text box allows users to create different numbers formats for the data labels on each axis. Some helpful examples:
Input | Description | Ex. |
---|---|---|
percent | Converts number to percents when the following is also added in the Expr textfield: $data->{2} / sum( values %$data ) |
.45 => 45% |
usMoney | Displays number as US Currency. | 45 => $45 |
uppercase | Displays text as all uppercase. | label => LABEL |
dateRenderer("m/d/y") | Displays number in M/D/Y format. | |
numberRenderer("0.00") | Displays number in specified format, including arbitrary units. | input of numberRenderer("0.00 units"), 45 => 45.00 units |
Comments
0 comments
Please sign in to leave a comment.