July 30, 2023

tSQLTemplateAggregate – Docs for ESB 7.x

tSQLTemplateAggregate

Provides a set of matrix based on values or calculations.

tSQLTemplateAggregate collects data
values from one or more columns with the intent to manage the collection as a single
unit. This component has real-time capabilities since it runs the data transformation on
the DBMS itself.

tSQLTemplateAggregate Standard properties

These properties are used to configure tSQLTemplateAggregate running in the Standard Job framework.

The Standard
tSQLTemplateAggregate component belongs to the ELT family.

The component in this framework is available in all Talend
products
.

Basic settings

Database Type

Select the database type you want to connect to from the
list.

Component List

Select the relevant DB connection component in the list if you use
more than one connection in the current Job.

Database name

Name of the database.

Source table name

Name of the table holding the data you want to collect values
from.

Target table name

Name of the table you want to write the collected and transformed
data in.

Schema and Edit
schema

A schema is a row description, that is to say, it defines the
number of fields that will be processed and passed on to the next
component. The schema is either built-in or remote in the
Repository.

Click Edit
schema
to make changes to the schema. If the current schema is of the Repository type, three options are available:

  • View schema: choose this
    option to view the schema only.

  • Change to built-in property:
    choose this option to change the schema to Built-in for local changes.

  • Update repository connection:
    choose this option to change the schema stored in the repository and decide whether
    to propagate the changes to all the Jobs upon completion. If you just want to
    propagate the changes to the current Job, you can select No upon completion and choose this schema metadata
    again in the Repository Content
    window.

 

Built-in: You create and store
the schema locally for this component only. Related topic: see

Talend Studio User
Guide
.

 

Repository: You have already
created the schema and stored it in the Repository. You can reuse it
in various projects and Job flowcharts. Related topic: see
Talend Studio User
Guide
.

Operations

Select the type of operation along with the value to use for the
calculation and the output field.

 

Output Column: Select the
destination field in the list.

 

Function: Select any of the
following operations to perform on data: count, min,
max, avg, sum, and
count

(distinct)
.

 

Input column position: Select the
input column from which you want to collect the values to be
aggregated.

Group by

Define the aggregation sets, the values of which will be used for
calculations.

 

Output Column: Select the column
label in the list offered according to the schema structure you
defined. You can add as many output columns as you wish to make more
precise aggregations.

 

Input Column position: Match the
input column label with your output columns, in case the output
label of the aggregation set needs to be different.

Advanced settings

tStatCatcher Statistics

Select this check box to gather the Job processing metadata at a
Job level as well as at each component level.

Global Variables

Global Variables

NB_LINE: the number of rows read by an input component or
transferred to an output component. This is an After variable and it returns an
integer.

QUERY: the query statement being processed. This is a Flow
variable and it returns a string.

ERROR_MESSAGE: the error message generated by the
component when an error occurs. This is an After variable and it returns a string. This
variable functions only if the Die on error check box is
cleared, if the component has this check box.

A Flow variable functions during the execution of a component while an After variable
functions after the execution of the component.

To fill up a field or expression with a variable, press Ctrl +
Space
to access the variable list and choose the variable to use from it.

For further information about variables, see
Talend Studio

User Guide.

Usage

Usage rule

This component is used as an intermediate component with other
relevant DB components, especially the DB connection and commit
components.

SQL Template

SQL Template List

Filtering and aggregating table columns directly on the
DBMS

The following scenario creates a Job that opens a connection to a Mysql
database and:

  • instantiates the schemas from a database table whose rows match
    the column names specified in the filter,

  • filters a column in the same database table to have only the data
    that matches a WHERE clause,

  • collects data grouped by specific value(s) from the filtered
    column and writes aggregated data in a target database table.

To filter and aggregate database table columns:

  • Drop the following components from the Palette onto the design workspace: tELTMysqlconnection, tSQLTemplateFilterColumns, tSQLTemplateFilterRows, tSQLTemplateAggregate, tSQLTemplateCommit, and tSQLTemplateRollback.

  • Connect the five first components using OnComponentOk links.

  • Connect tSQLTemplateAggregate to tSQLTemplateRollback using an OnComponentError link.

tSQLTemplateAggregate_1.png
  • In the design workspace, select tMysqlConnection and click the Component tab to define the basic settings for tMysqlConnection.

  • In the Basic settings
    view, set the database connection details manually or select Repository from the Property Type list and select your DB connection if it has
    already been defined and stored in the Metadata area of the Repository tree view.

For more information about Metadata, see
Talend Studio User Guide
.

tSQLTemplateAggregate_2.png
  • In the design workspace, select tSQLTemplateFilterColumns and click the Component tab to define its basic settings.

tSQLTemplateAggregate_3.png
  • On the Database type list,
    select the relevant database.

  • On the Component list,
    select the relevant database connection component if more than one connection is
    used.

  • Enter the names for the database, source table, and target table
    in the corresponding fields and click the three-dot buttons next to Edit schema to define the data structure in the
    source and target tables.

Note:

When you define the data structure for the source table, column names
automatically appear in the Column list in
the Column filters panel.

In this scenario, the source table has five columns: id, First_Name, Last_Name, Address, and id_State.

  • In the Column filters
    panel, set the column filter by selecting the check boxes of the columns you
    want to write in the source table.

In this scenario, the tSQLTemplateFilterColumns component instantiates only three columns: id, First_Name, and id_State from the
source table.

Note:

In the Component view, you can
click the SQL Template tab and add system SQL
templates or create your own and use them within your Job to carry out the coded
operation. For more information, see tSQLTemplateFilterColumns Standard properties.

  • In the design workspace, select tSQLTemplateFilterRows and click the Component tab to define its basic settings.

tSQLTemplateAggregate_4.png
  • On the Database type list,
    select the relevant database.

  • On the Component list,
    select the relevant database connection component if more than one connection is
    used.

  • Enter the names for the database, source table, and target table
    in the corresponding fields and click the three-dot buttons next to Edit schema to define the data structure in the
    source and target tables.

In this scenario, the source table has the three initially instantiated
columns: id, First_Name, and id_State and
the source table has the same three-column schema.

  • In the Where condition
    field, enter a WHERE clause to extract only those records that fulfill the
    specified criterion.

In this scenario, the tSQLTemplateFilterRows
component filters the First_Name column in the source
table to extract only the first names that contain the “a” letter.

  • In the design workspace, select tSQLTemplateAggregate and click the Component tab to define its basic settings.

  • On the Database type list,
    select the relevant database.

  • On the Component list,
    select the relevant database connection component if more than one connection is
    used.

  • Enter the names for the database, source table, and target table
    in the corresponding fields and click the three-dot buttons next to Edit schema to define the data structure in the
    source and target tables.

The schema for the source table consists of the three columns: id, First_Name, and id_State. The schema
for the target table consists of two columns: customers_status
and customers_number. In this scenario, we want to group
customers by their marital status and count customer number in each marital group. To do
that, we define the Operations and Group by panels accordingly.

tSQLTemplateAggregate_5.png
  • In the Operations panel,
    click the plus button to add one or more lines and then click in the Output column line to select the output column
    that will hold the counted data.

  • Click in the Function line
    and select the operation to be carried on.

  • In the Group by panel,
    click the plus button to add one or more lines and then click in the Output column line to select the output column
    that will hold the aggregated data.

  • In the design workspace, select tSQLTemplateCommit and click the Component tab to define its basic settings.

  • On the Database type list,
    select the relevant database.

  • On the Component list,
    select the relevant database connection component if more than one connection is
    used.

  • Do the same for tSQLTemplateRollback.

  • Save your Job and press F6
    to execute it.

A two-column table aggregate_customers is created
in the database. It groups customers according to their marital status and count
customer number in each marital group.

tSQLTemplateAggregate_6.png


Document get from Talend https://help.talend.com
Thank you for watching.
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x