The Bold BI dashboard designer supports connecting to an InfluxDB database using SQL Live Query (C# API).
Supported Server Version: InfluxDB v1.8
To configure the InfluxDB data source, follow these steps:
Click Data Sources in the configuration panel to add a new data connection.
Click CREATE NEW to launch a new connection from the connection panel.
Select the InfluxDB connection in the connection panel.
NOTE: You can also create a data source from the home page by clicking on the Data Sources menu on the left menu panel and selecting Create Data Source from the data sources page.
After clicking on the data source, the NEW DATA SOURCE configuration panel opens. Follow the given steps to create an InfluxDB data source:
Enter a name and description (optional) for the data source.
Enter a valid InfluxDB server or host name in the ServerName text box.
Enter the port, in which the server is running in the Port text box.
Choose None or Server Authentication in the Authentication Mechanism combo box.
Enter a valid InfluxDB username and password, if you choose a Server Authentication Mechanism
Select a database that you want to query in the listed database associated with the given InfluxDB server in the database combo box.
NOTE: To connect to a data source with SSH, enable the SSH checkbox in the NEW DATA SOURCE configuration panel and enter the necessary credentials.
The schema represents the collection list retrieved from the InfluxDB server. This dialog displays a list of schemas in a tree view and their corresponding values. Measurements will be listed as tables.
Now, the data design view page with the selected table schema opens. Drag the table.
You can use the Code View option for passing a query to display data.
Click Save to save the data source with a relevant name.
NOTE: In future, you can edit the connection information using the Edit Connection option.
We have added support for custom attributes and dashboard parameters in the data source connection. You can now connect to the data source using custom attributes or dashboard parameters.
Custom Attribute
Dashboard Parameter
Note: Refer to the Dashboard Parameter Documentation and Custom Attributes Documentation for more details.
IMPORTANT: InfluxDB is a time series database, therefore there are few limitations for the InfluxDB connector in Bold BI’s live mode connection.
NOTE: Joins are not supported for InfluxDB data source in Bold BI.
InfluxDB is a time series database. The data can only be ordered using the time column and can only be grouped by time intervals.
Expressions can be created for numeric field(s) and calculated field(s) in the selected table.
Supported functions
Function type | Function name |
Numbers | ABS, ACOS, ASIN, ATAN, COS, COT, DEGREES, EXP, LOG, PI, POWER, RADIANS, ROUND, SIN, SQRT, TAN |
Aggregation | AVG, COUNT, COUNTD, MAX, MIN, STDEV, SUM |
Logical | NOT |
Row | RUNNINGCOUNT, RUNNINGAVG RUNNINGMAX, RUNNINGMIN, RUNNINGSUM |
You can only filter numeric columns in the query filters on the query designer page.
You can filter data based on year, month, week, day, and hour for time column only using the Relative Date Filtering.
NOTE: You cannot filter measure columns in the widget level filtering.
The data can be applied to the top and bottom filters for the time column based on the measure fields in the selected list.
(Time column has been filtered top 5 values based on Sum of Alloc)
Supported Server Version: InfluxDB v1.8
The data source type needs to be InfluxDB when creating the data.
Parameters | Details |
---|---|
Servername required | `string` Server name or Host name of the connection |
Port required | `string` Port number used to connect to InfluxDB |
AuthenticationType optional | `string` None or Server Authentication. By default, it is None. |
Username optional | `string` A valid username for the connection. Required for Server Authentication. |
Password optional | `string` A valid Password for the connection. Required for Server Authentication. |
Database required | `string` database which needs to be connected |
Schemaname required for table mode | `string` Enter a valid Schemaname |
Tablename required for table mode | `string` Enter a valid Tablename |
Query required for code view mode | `string` Enter a valid Query |
AdvancedSettings optional | `string` Additional optional connection parameters can be provided. By default, it is empty. |
CommandTimeout optional | `string` Enter a valid Timeout for connection. By default, it is 300 |
IsSshConnection optional | `boolean` Enable or disable SSH. By default, it is false. |
SshServerName optional | `string` Enter a valid Ssh Server name. By default, it is empty. |
SshPort optional | `integer` Enter a valid Ssh Port number. |
SshUserName optional | `string` Enter a valid Ssh Username. By default, it is empty. |
SshPassword optional | `string` Enter a valid Ssh Password. By default, it is empty. |
Expressions optional | `Array of Objects` |
Parameters | Details |
---|---|
ServerName required | string
Server name or Host name of the connection |
Port required | string
Port number used to connect to the postgresql
|
UserName required | string
A valid username for the connection |
Password required | string
A valid Password for the connection |
Database required | string
database which needs to be connected |
AuthenticationType optional | `string` None or Server Authentication. By default, it is None. |
Schema required for table mode | string
Enter a valid Schemaname |
AdvancedSettings optional | string
Additional optional connection parameters can be provided. By default, it is empty. |
CommandTimeout optional | string
Enter a valid Timeout for connection. By default, it is 300 |
IsSshConnection optional | `boolean` Enable or disable SSH. By default, it is false. |
SshServerName optional | string
Enter a valid Ssh Server name. By default, it is empty. |
SshPort optional | `integer` Enter a valid Ssh Port number. |
SshUserName optional | string
Enter a valid Ssh Username. By default, it is empty. |
SshPassword optional | string
Enter a valid Ssh Password. By default, it is empty. |
Parameters | Details |
---|---|
Name required | `string` Name of the Expression |
Expression required | `string`
Expression
|
NOTE: To edit the Data Source via API, all parameters are optional. Only provide the parameter that needs to be changed.
Parameters | Details |
---|---|
Name required | `string` Name of the Expression |
Expression required | `string`
Expression
|
Action optional | `string` add/delete/edit By default, it is add. |
NewName optional | `string` For renaming the expression. This is applicable only if the Action is edit |
"Connection":
{
"Servername": "string",
"Port": "string",
"AuthenticationType": "string",
"Username": "string",
"Password": "string",
"Database": "string",
"Schemaname": "string",
"Tablename": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)"
},
{
"Name": "Expression2",
"Expression" : "UPPER(string expression)"
}]
}
"Connection":
{
"Servername": "string",
"Port": "string",
"AuthenticationType": "string",
"Username": "string",
"Password": "string",
"Database": "string",
"Schemaname": "string",
"Tablename": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)",
"NewName" : "Sum",
"Action": "edit"
},
{
"Name": "Expression2",
"Expression" : "UPPER(string expression)"
"Action": "delete"
}]
}
"Connection":
{
"Servername": "string",
"Port": "string",
"AuthenticationType": "string",
"Username": "string",
"Password": "string",
"Database": "string",
"Query": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)"
},
{
"Name": "Expression2",
"Expression" : "UPPER(string expression)"
}]
}
"Connection": {
"ServerName": "string",
"Database": "string",
"UserName": "string",
"Password": "string",
"Port": "string",
"Schema": "string",
"AuthenticationType": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string"
}