docs: fill for mysql/postgres

ref #10138
This commit is contained in:
Daniel Lee 2018-03-06 09:24:36 +01:00
parent 1a16e588f7
commit 8a1bd2ee22
2 changed files with 29 additions and 0 deletions

View File

@ -50,6 +50,7 @@ Macro example | Description
*$__timeFrom()* | Will be replaced by the start of the currently active time selection. For example, *FROM_UNIXTIME(1494410783)*
*$__timeTo()* | Will be replaced by the end of the currently active time selection. For example, *FROM_UNIXTIME(1494497183)*
*$__timeGroup(dateColumn,'5m')* | Will be replaced by an expression usable in GROUP BY clause. For example, *cast(cast(UNIX_TIMESTAMP(dateColumn)/(300) as signed)*300 as signed) as time_sec,*
*$__timeGroup(dateColumn,'5m',0)* | Same as above but with a fill parameter so all null values will be converted to the fill value (all null values would be set to zero using this example).
*$__unixEpochFilter(dateColumn)* | Will be replaced by a time range filter using the specified column name with times represented as unix timestamp. For example, *dateColumn > 1494410783 AND dateColumn < 1494497183*
*$__unixEpochFrom()* | Will be replaced by the start of the currently active time selection as unix timestamp. For example, *1494410783*
*$__unixEpochTo()* | Will be replaced by the end of the currently active time selection as unix timestamp. For example, *1494497183*
@ -119,6 +120,19 @@ GROUP BY 1, metric_name
ORDER BY 1
```
Example using the fill parameter in the $__timeGroup macro to convert null values to be zero instead:
```sql
SELECT
$__timeGroup(atimestamp,'24h',0) as time_sec,
avg(afloat) as value,
avarchar as metric
FROM testdata.grafana_metrics
WHERE $__timeFilter(atimestamp)
GROUP BY 1, avarchar
ORDER BY 1
```
Currently, there is no support for a dynamic group by time based on time range & panel width.
This is something we plan to add.

View File

@ -49,6 +49,7 @@ Macro example | Description
*$__timeFrom()* | Will be replaced by the start of the currently active time selection. For example, *to_timestamp(1494410783)*
*$__timeTo()* | Will be replaced by the end of the currently active time selection. For example, *to_timestamp(1494497183)*
*$__timeGroup(dateColumn,'5m')* | Will be replaced by an expression usable in GROUP BY clause. For example, *(extract(epoch from dateColumn)/300)::bigint*300 AS time*
*$__timeGroup(dateColumn,'5m', 0)* | Same as above but with a fill parameter so all null values will be converted to the fill value (all null values would be set to zero using this example).
*$__unixEpochFilter(dateColumn)* | Will be replaced by a time range filter using the specified column name with times represented as unix timestamp. For example, *dateColumn > 1494410783 AND dateColumn < 1494497183*
*$__unixEpochFrom()* | Will be replaced by the start of the currently active time selection as unix timestamp. For example, *1494410783*
*$__unixEpochTo()* | Will be replaced by the end of the currently active time selection as unix timestamp. For example, *1494497183*
@ -103,6 +104,20 @@ GROUP BY time
ORDER BY time
```
Example using the fill parameter in the $__timeGroup macro to convert null values to be zero instead:
```sql
SELECT
$__timeGroup("createdAt",'5m',0),
sum(value) as value,
measurement
FROM public.grafana_metric
WHERE
$__timeFilter("createdAt")
GROUP BY time, measurement
ORDER BY time
```
Example with multiple columns:
```sql