SQL Analytics (Beta)
SQL Analytics allows you to carry out advanced manipulation of data using a SQL query before you visualize it.
For example:
- You might ask 'What is the average time difference between a ticket created and resolved?' You can use SQL to calculate the difference between the ticket created and resolved time, then you can visualize the Mean Time To Resolution (MTTR).
- For AWS CloudWatch data you might want to know 'What is the 95% percentile response time of my microservice?' use SQL to query the data, and then show the Service Level Indicator (SLI).
- You can also combine entry points and query them before visualizing the data. You might combine your Azure Cost data with your Azure Monitor data and ask 'What is the potential cost saving of turning off my unused VMs?'
Switch to the Analytics Editor
When editing a tile, click on Enable SQL Analytics at the top of the screen. This changes your view from the simple tile editor into the more advanced SQL Analytics Editor. It's best to decide whether you want to stick with the SQL Analytics Editor for a particular tile, or with the simple editor, rather than switching between the two.
If you exit out of the SQL Analytics Editor, choosing to revert to using the simple editor for this tile, then you lose your SQL queries and datasets, as only the first dataset is saved.
As with the simple editor, you can still add Monitoring or KPIs.
Datasets
A dataset is the data stream and selected objects combined. If you had already selected a data stream and objects in the simple tile editor, this will be shown as dataset1 and you will be taken straight to the SQL tab.
Datasets can be renamed by clicking the tab of the dataset to enable editing – hit Enter to save the change, hit Escape to cancel. For example, if you are looking at Zendesk tickets you might rename dataset1 to tickets.
The new name must be alphanumeric, with no spaces or punctuation. At the point of renaming, if the SQL query is unmodified, the name of the dataset is automatically updated in the SQL query.
Dataset buttons
Use the following buttons to create new, copy existing and delete data sets:
- Add dataset : Click to create a new dataset, allowing you to add in further data and then configure the data stream and objects to show the data you want. A new tab appears with a sequential name – dataset2, dataset3, etc. Each dataset can be configured to use a different timeframe, if required, or use the dashboard timeframe.
The dashboard timeframe is the current timeframe setting for a dashboard. Users can change the dashboard timeframe to see data for a different time span, for example, instead of showing data from "the last 12 hours" it can be changed to show data from "the last 7 days".
Tiles can be configured to:
- Use dashboard timeframe (default). For these tiles the data shown will change when the user changes the dashboard timeframe.
- Use a fixed timeframe from the options available. These tiles show a clock icon and hovering shows the fixed timeframe configured. The data will not change when the dashboard timeframe is changed.
If the dashboard timeframe is unavailable, such as when all the tiles on that dashboard are using a fixed timeframe, then the button is disabled. Likewise, if a specific timeframe is unsupported then it is disabled in the timeframe picker.
Set a default dashboard timeframe
To set the default dashboard timeframe, click the pin icon
when using the dashboard timeframe picker. This sets the initial timeframe for all viewers of the dashboard, including shared dashboards.Tip: Indicate with the name of a tile if the tile's timeframe can be changed. For example, naming a tile "Performance during the last week" tells users that this tile always shows data for the last week. Naming a tile just "Performance" indicates to users that changing the dashboard timeframe will change the data.
- Clone: Accessed by hovering over a tab and selecting more . Click to create a new dataset using the properties of an existing one. The copy is initially assigned the name of the original dataset followed by "copy". For example, ticketsCopy. You can then rename and edit the dataset as required.
- Delete: Accessed by hovering over a tab and selecting more . Click to permanently delete a dataset.
SQL Query
This uses standard Structured Query Language (SQL).
The SQL tab of the SQL Analytics Editor will show everything from the first dataset, as a simple query:
Select * FROM tickets
You can edit this query to be something more complex. For example, to find the average difference between two different times you can use DATEDIFF
and display this it as 'MTTR':
SELECT AVG(DATEDIFF(HOUR, created_at, updated_at)) AS MTTR FROM tickets
You can also use SQL to query data from more than one dataset, or combine data with a JOIN, etc.
Click Execute to view the SQL Output at the bottom of the screen.
When you are happy with the tile configuration, click Save.
Columns
The Columns tab of the editor allows you to format the columns of the Data table you retrieve from data streams.
Typically, SquaredUp automatically defines the metadata retrieved from-built-in data streams so that the received data is assigned the correct data type, enabling visualizations to be configured out of the box.
However, in some circumstances (such as when retrieving data using the Web API plugin, scripting, or using custom query data streams such as Splunk Enterprise plugin) you may want to override the data type or the data type may not be quite correct - in which case this tab allows you to manually select a different data type from the Type dropdown.
Additionally, this tab also allows you to rename and copy the data columns you receive.
Formatting
The table contains each data column received by the data stream, and is used to format the following.
Options
Some data types have additional formatting that can be applied to a column in the Options section, displayed by clicking the expand button next to the corresponding Name.
Visualization
Select the visualization for your tile. Which visualizations are offered to you depends on the data available, for example Line Graph will only be offered if there is time series data.
Table Settings
Configuration
Filtering, grouping and sorting of the data can be configured in the Shaping section.
Reset - reverts to the default settings.
Scalar settings
Data Mapping
Configuration
Show formatted value
Toggle whether the scalar shows the formatted string with units, or the raw value. By default this is set to on.
Manual size
Toggle whether to manually size the visualization. When enabled, use the slider to select a size. By default this is set to off.
Reset - reverts to the default settings.
Line Graph settings
Data Mapping
Configuration
Bar Chart settings
Data Mapping
Configuration
Custom Palette
It is possible to use custom colors for this visualization by creating a custom palette. Custom palettes can be declared as either an array or an object as follows:
- Array: Select the colors based on the order of the data (for example, the first series is the first color).
"palette": ["red", "#abcdef", "green"]
- Object: Select colors based on the series label.
"palette": { "EC2": "red", "Lambda": "#abcdef", "CloudWatch": "blue" }
To apply a custom palette, do the following:
- Click the More Options ellipsis button then select Edit JSON.
- Enter the JSON for the palette you want to apply under
visualisation/config/data-stream-bar-chart
. For example:"visualisation": { "type": "data-stream-bar-chart", "config": { "data-stream-bar-chart": { "horizontalLayout": "vertical", "grouping": false, "showValue": false, "displayMode": "actual", "xAxisLabel": "", "yAxisLabel": "", "range": { "type": "auto" }, "showGrid": true, "showLegend": false, "legendPosition": "bottom", "palette": { "EC2": "red", "Lambda": "#abcdef", "CloudWatch": "blue" } } } },
- Click Save to apply the changes.
Blocks settings
Data Mapping
Configuration
Reset - reverts to the default settings.
Donut settings
Data Mapping
Configuration
Custom Palette
It is possible to use custom colors for this visualization by creating a custom palette. Custom palettes can be declared as either an array or an object as follows:
- Array: Select the colors based on the order of the data (for example, the first series is the first color).
"palette": ["red", "#abcdef", "green"]
- Object: Select colors based on the series label.
"palette": { "EC2": "red", "Lambda": "#abcdef", "CloudWatch": "blue" }
To apply a custom palette, do the following:
- Click the More Options ellipsis button then select Edit JSON.
- Enter the JSON for the palette you want to apply under
visualisation/config/data-stream-donut-chart
. For example:"visualisation": { "type": "data-stream-donut-chart", "config": { "data-stream-bar-chart": { "horizontalLayout": "vertical", "grouping": false, "showValue": false, "displayMode": "actual", "xAxisLabel": "", "yAxisLabel": "", "range": { "type": "auto" }, "showGrid": true, "showLegend": false, "legendPosition": "bottom", "palette": { "EC2": "red", "Lambda": "#abcdef", "CloudWatch": "blue" } } } },
- Click Save to apply the changes.
Gauge settings
The Gauge visualization shows a single value, often a percentage, in relation to minimum and maximum values. Monitoring can be added so the gauge color changes based on your configured parameters.
This short one minute video shows how to configure the gauge visualization:
Data Mapping
Configuration
If you exit out of the SQL Analytics Editor, choosing to revert to using the simple editor for this tile, then you lose your SQL queries and datasets, as only the first dataset is saved.