Search results

Connecting Bold BI to InfluxDB data source

The Bold BI dashboard designer supports connecting to an InfluxDB database using SQL Live Query (C# API).

Supported Server Version: InfluxDB v1.8

Choose InfluxDB data source

To configure the InfluxDB data source, follow these steps:

  1. Click Data Sources in the configuration panel to add a new data connection.

    Data source icon

  2. Click CREATE NEW to launch a new connection from the connection panel.

  3. Select the InfluxDB connection in the connection panel.

    Choose data source

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.

Choose data source from server

Connect to InfluxDB

Create InfluxDB data source

After clicking on the data source, the NEW DATA SOURCE configuration panel opens. Follow the given steps to create an InfluxDB data source:

  1. Enter a name and description (optional) for the data source.

  2. Enter a valid InfluxDB server or host name in the ServerName text box.

  3. Enter the port, in which the server is running in the Port text box.

  4. Choose None or Server Authentication in the Authentication Mechanism combo box.

  5. Enter a valid InfluxDB username and password, if you choose a Server Authentication Mechanism

  6. Select a database that you want to query in the listed database associated with the given InfluxDB server in the database combo box.

    InfluxDB Connection

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.

Enable SSH

Data Preview

  1. Click Connect to connect to the InfluxDB server with the configured details.

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.

Treeview schema

  1. Now, the data design view page with the selected table schema opens. Drag the table.

    Query designer

    You can use the Code View option for passing a query to display data.

    Codeview mode

  2. 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.

Connect using custom attribute and dashboard parameter

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

Custom

Dashboard Parameter

Dashboard Parameter

Note: Refer to the Dashboard Parameter Documentation and Custom Attributes Documentation for more details.

Here is the Bold BI supported features in InfluxDB connector

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.

Group by and Order by

InfluxDB is a time series database. The data can only be ordered using the time column and can only be grouped by time intervals.

InfluxDB Group by

Expressions

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

InfluxDB Expressions

Filters

You can only filter numeric columns in the query filters on the query designer page.

InfluxDB Filters

InfluxDB Filters1

Widget level filtering

You can filter data based on year, month, week, day, and hour for time column only using the Relative Date Filtering.

InfluxDB WidgetLevelFiltering

Relative date filtering

NOTE: You cannot filter measure columns in the widget level filtering.

Top N filters

The data can be applied to the top and bottom filters for the time column based on the measure fields in the selected list.

InfluxDB Top N

(Time column has been filtered top 5 values based on Sum of Alloc)

Connecting Bold BI to InfluxDB Data Source via REST API

Prerequisites

Supported Server Version: InfluxDB v1.8

The data source type needs to be InfluxDB when creating the data.

Rest API - v4.0

Parameters for creating Data Source

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 for edit the connection while upload the dashboard via API

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 for adding expressions when creating Data Source

Parameters Details
Name

required

`string`

Name of the Expression

Expression



required

`string`

Expression


Parameters for editing Data Source

NOTE: To edit the Data Source via API, all parameters are optional. Only provide the parameter that needs to be changed.

Parameters for modifying expressions when editing Data Source

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 Sample for Table Mode

For creating connection:

"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)"
}]
}

For editing connection:

"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 Sample for Code View Mode

"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)"
}]
}

Sample connection for editing the connection while uploading the dashboard via API.

"Connection":  {   
       "ServerName": "string",
       "Database": "string",
       "UserName": "string",
       "Password": "string",
       "Port": "string",
       "Schema": "string",
       "AuthenticationType": "string",
       "AdvancedSettings": "string",
       "CommandTimeout": "string"  
  } 

Data Transformation

Editing a Data Connection

Dashboard Designer Walkthrough