Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


Introduction

The Report Search Datalist Binder plugin is a database Binder Using JDBC with support for search filters before performing aggregate and pivot.


JDBC Datalist Database Binder (Report) Properties

Configure Database SQL Query

Figure 1: Configure JDBC Datalist Database Binder (Report)


NameDescription
Datasource
  • Custom Datasource - setup to connect to an external database, has additional configuration.
  • Default Datasource- connect to the Joget database.

By selecting Default Datasource, the database your Joget is currently using will be selected. 

Custom JDBC Driver

Custom JDBC Driver. This field is required when Custom Datasource is selected in Datasource above.

Example: com.mysql.jdbc.Driver

Custom JDBC URL 

Custom JDBC URL. This field is required when Custom Datasource is selected in Datasource above.

Example: jdbc:mysql://localhost/jwdb?characterEncoding=UTF8&useSSL=false

Custom JDBC Username 

Custom JDBC Username. This field is required when Custom Datasource is selected in Datasource above.

Custom JDBC Password

Custom JDBC Password. This field is required when Custom Datasource is selected in Datasource above.

Info
titleTest the connection parameters

Click on the "Test Connection" button at the bottom of the page to quickly test out your configurations.

SQL SELECT Query *

The SQL query specific to your database type (MySQL, MSSQL, Oracle, etc.). Use question mark ? in your query to represent the primary key or foreign key.

Code Block
languagesql
titleExample
linenumberstrue
SELECT
   * 
FROM
   app_fd_table 
WHERE
   id = ?
Note

If a column name contains reserved keywords, do ensure it is encapsulated properly.

For example for MySQL, if the column identifier itself contains a dot symbol ( . ), it should be encapsulated like this:

Code Block
languagesql
SELECT `myAppName.myColumn` FROM app_fd_myTable;
Info
titleTable & Column Naming
  • For database tables created by Joget Forms, Joget adds a "c_" in front of table column names (or "t_" if your column name starts with a number) and "app_fd_" in front of database table names.
  • If you use environment hash variables to store SQL query strings, use "?noescape" to escape SQL query strings in JDBC binders to prevent the "<>" "not equal" operator from being converted, i.e. disables XSS prevention checking. Read here for more information.

This is the query to fetch all columns.

E.g.: SELECT * FROM dir_user

SQL Select Query (Data) *

This is the aggregated query to group and summarize data from the database.

E.g.: SELECT locale, active, COUNT(active) as `count` FROM #data# GROUP BY active, locale

Primary Key *

Primary key to uniquely identify each row of the table.

Pivot Data

If checked, Pivot Column Name, Pivot Value Column Name, and Value to Fill Up Empty Cell will be shown.

Pivot Column Name *

Refers to selecting the field or column in your dataset that you want to use as a basis for creating columns or headers in the pivot table. Multiple columns supported. Separate multiple columns using semicolon. (e.g. year;customer)

Pivot Value Column Name *

Refers to the field or column in your dataset that contains the data you want to summarize or aggregate in your pivot table. Multiple columns supported. Separate multiple columns using semicolon. (e.g. outstanding;paid)

Value to Fill Up Empty Cell

The value to fill up if there is an empty cell. E.g. 0.00



Plugin Usage

1. Create a datalist and attach this plugin as source of data at "Select Data Store".

Image Added

Figure 2: List Builder Select Data Store


2. Fill in the plugin configurations as shown in Figure 1.

3. If everything is filled appropriately, you can preview the pivot table.

Image Added

Figure 3: List Builder Preview


4. Create an UI using UI Builder. You can pair this plugin 2. Pair with EChart Userview Menu Plugin to dynamically change the chart value and shape based on the datalist value. "Show Filters" must be enabled so that you can dynamically change the chart display parameters. Under "Data Mappings", attach the List created previously.

Image Added

Figure 4: UI Builder


5. Save and return to the front end UI. We can see the List attached with the EChart. Below shows that filter is not used.

Figure 25: Pivot table with EChart without filter


6. 2021 is entered at "year" filter. You can see that the datalist dynamically changed based on the filter. The EChart's value was also updated based on the modified datalist.

Figure 36: Pivot table with EChart with "year" filter