Docs: MSSQL data source overhaul (#107478)
* created config doc * updated the config doc * updates to the configure doc * updates to configure doc * updated the templates doc * more query editor edits * final edit on templates doc * final query editor edits and new screenshots * added tables to configure * final edits * final edits * final edits * added admonition and updates based on feedback * ran prettier
This commit is contained in:
@@ -40,50 +40,60 @@ refs:
|
||||
# Microsoft SQL Server template variables
|
||||
|
||||
Instead of hard-coding details such as server, application, and sensor names in metric queries, you can use variables.
|
||||
Grafana lists these variables in dropdown select boxes at the top of the dashboard to help you change the data displayed in your dashboard.
|
||||
Grafana refers to such variables as template variables.
|
||||
Grafana displays these variables in drop-down select boxes at the top of the dashboard to help you change the data displayed in your dashboard.
|
||||
Grafana refers to such variables as **template variables**.
|
||||
|
||||
For an introduction to templating and template variables, refer to the [Templating](ref:variables) and [Add and manage variables](ref:add-template-variables) documentation.
|
||||
For general information on using variables in Grafana, refer to [Add variables](ref:add-template-variables).
|
||||
|
||||
For an introduction to templating and template variables, refer to [Templating](ref:variables) and [Add and manage variables](ref:add-template-variables).
|
||||
|
||||
## Query variable
|
||||
|
||||
If you add a template variable of the type `Query`, you can write a MS SQL query that can
|
||||
return things like measurement names, key names or key values that are shown as a dropdown select box.
|
||||
A query variable in Grafana dynamically retrieves values from your data source using a query. With a query variable, you can write a SQL query that returns values such as measurement names, key names, or key values that are shown in a drop-down select box.
|
||||
|
||||
For example, you can have a variable that contains all values for the `hostname` column in a table if you specify a query like this in the templating variable **Query** setting.
|
||||
For example, the following query returns all values from the `hostname` column:
|
||||
|
||||
```sql
|
||||
SELECT hostname FROM host
|
||||
```
|
||||
|
||||
A query can return multiple columns and Grafana will automatically create a list from them. For example, the query below will return a list with values from `hostname` and `hostname2`.
|
||||
A query can return multiple columns, and Grafana automatically generates a list using the values from those columns. For example, the following query returns values from both the `hostname` and `hostname2` columns, which are included in the variable's drop-down list.
|
||||
|
||||
```sql
|
||||
SELECT [host].[hostname], [other_host].[hostname2] FROM host JOIN other_host ON [host].[city] = [other_host].[city]
|
||||
```
|
||||
|
||||
Another option is a query that can create a key/value variable. The query should return two columns that are named `__text` and `__value`. The `__text` column value should be unique (if it is not unique then the first value is used). The options in the dropdown will have a text and value that allow you to have a friendly name as text and an id as the value. An example query with `hostname` as the text and `id` as the value:
|
||||
You can also create a key/value variable using a query that returns two columns named `__text` and `__value`.
|
||||
|
||||
- The `__text` column defines the label shown in the drop-down.
|
||||
|
||||
- The `__value` column defines the value passed to panel queries.
|
||||
|
||||
This is useful when you want to display a user-friendly label (like a hostname) but use a different underlying value (like an ID).
|
||||
|
||||
Note that the values in the `_text` column should be unique. If there are duplicates, Grafana uses only the first matching entry.
|
||||
|
||||
```sql
|
||||
SELECT hostname __text, id __value FROM host
|
||||
```
|
||||
|
||||
You can also create nested variables. For example, if you had another variable named `region`. Then you could have
|
||||
the hosts variable only show hosts from the current selected region with a query like this (if `region` is a multi-value variable, then use the `IN` comparison operator rather than `=` to match against multiple values):
|
||||
You can also create nested variables, where one variable depends on the value of another. For example, if you have a variable named `region`, you can configure a `hosts` variable to only show hosts from the selected region. If `region` is a multi-value variable, use the `IN` operator instead of `=` to match against multiple selected values.
|
||||
|
||||
```sql
|
||||
SELECT hostname FROM host WHERE region IN ($region)
|
||||
```
|
||||
|
||||
## Using variables in queries
|
||||
## Use variables in queries
|
||||
|
||||
> Template variable values are only quoted when the template variable is a `multi-value`.
|
||||
Grafana automatically quotes template variable values only when the template variable is a `multi-value`.
|
||||
|
||||
If the variable is a multi-value variable then use the `IN` comparison operator rather than `=` to match against multiple values.
|
||||
When using a multi-value variable, use the `IN` comparison operator instead of `=` to match against multiple values.
|
||||
|
||||
There are two syntaxes:
|
||||
Grafana supports two syntaxes for using variables in queries:
|
||||
|
||||
`$<varname>` Example with a template variable named `hostname`:
|
||||
- **`$<varname>` syntax**
|
||||
|
||||
Example with a template variable named `hostname`:
|
||||
|
||||
```sql
|
||||
SELECT
|
||||
@@ -94,7 +104,9 @@ WHERE $__timeFilter(atimestamp) and hostname in($hostname)
|
||||
ORDER BY atimestamp
|
||||
```
|
||||
|
||||
`[[varname]]` Example with a template variable named `hostname`:
|
||||
- **`[[varname]]` syntax**
|
||||
|
||||
Example with a template variable named `hostname`:
|
||||
|
||||
```sql
|
||||
SELECT
|
||||
@@ -105,10 +117,14 @@ WHERE $__timeFilter(atimestamp) and hostname in([[hostname]])
|
||||
ORDER BY atimestamp
|
||||
```
|
||||
|
||||
### Disabling Quoting for Multi-value Variables
|
||||
### Disable quoting for multi-value variables
|
||||
|
||||
Grafana automatically creates a quoted, comma-separated string for multi-value variables. For example: if `server01` and `server02` are selected then it will be formatted as: `'server01', 'server02'`. To disable quoting, use the csv formatting option for variables:
|
||||
By default, Grafana formats multi-value variables as a quoted, comma-separated string. For example, if `server01` and `server02` are selected, the result will be `'server01'`, `'server02'`. To disable quoting, use the `csv` formatting option for variables:
|
||||
|
||||
`${servers:csv}`
|
||||
```text
|
||||
${servers:csv}
|
||||
```
|
||||
|
||||
Read more about variable formatting options in the [Variables](ref:variable-syntax-advanced-variable-format-options) documentation.
|
||||
This outputs the values as an unquoted comma-separated list.
|
||||
|
||||
Refer to [Advanced variable format options](ref:variable-syntax-advanced-variable-format-options) for additional information.
|
||||
|
||||
Reference in New Issue
Block a user