Reports Designer
Jaspersoft Studio is a tool that allow us to develop reports.
With this reports we can provide statistical and detailed data to our customers, helping them in their business to take decisions based on real data.
Content
Basic Concepts:
Query:
is a search to the database to find the information that we need.
Design:
In this section we can see the UI of the report to be created.
Repository Creation
Open JasperSoft Studio.
Expando data adapter on the top left.
Right click on data adapter by default.
Click ‘Create Data Adapter’.
The following window will pop-up and choose 'Database JDBC Connection' then Next.
Properties
Properties
Property of a selected element on the Report.
Palette
This section has all the elements we can include inside a report.
Outline
Bottom left we have this window, we can see the report structure in a tree format.
Element of the Outline
As explained above, the query returns the data that we want to show.
The question is:
¿Where and how these data show?
Detail
By default the report creates an element Detail.
Detail is where the rows returned from the query are inserted.
For each row of the query we will have a detail withe the data of the fields.
Group
Allow us to group collection of rows of the details in real groups.
Example: If you want to group by Client, Agent, Campaign in that order.
Is important to show the different between the Groups and the Group By of SQL.
Groups: Group rows of a column in a secuencial way.
Example:
If we create a group for Columna 1 the result is
Group: foo
foo_12 foo_13
foo_22 foo_23
Group: Example
Example_32 Example_33
Group: foo
No all elements foo are under the same row, this is the main difference with GroupBy.
The way to solve this is to create a query that orders first by the column we want to group, in our case columna 1.
Example Query:
SELECT *
FROM myFooTable
ORDER BY columna1
In this case the result is:
To create a new group:
Right click on the report outline.
Create Group.
Add a name and select the element we want to be part of the group.
Click on finish
If we want the group header to repeat on every page we have to set on the group header property Reprint Header On Each Page = true.
For the header to be on the same page and no pass to the next we have to assign the max height, we do this from the properties of the header group under the attribute Min Height to start new page.
In this way we avoid it is the header without the associated detail.
TextField
Free text field.
Used to assign variables, parameters and fields.
To show a textfield element we can do it in 2 ways, draggin the same textfield or modifying the regular expression of the textfield.
Internationalization
To add a file of internationalization of Integra, we must follow some steps:
Select the report on the outline.
On the properties we select Report.
Inside the dataset property ‘Resource Bundle’ click on examine.
Select the internationalization file integra.resources.language
You have to add the variables to the properties files in all the languages: language_es.properties, language_en.properties y langauge_pt.properties
The notation is: KEY=VALUE in the language.
If has especial characters (accent, ñ, others) use unicode example ó = \u00f3. Distribution would be Distribuci\u00f3n.
Then on the report we put the titles and headers with TextField that point to this values: Example: INITIAL_DATE a Text Field with the Expression $R{FROM}.
To change the language : Menu Window -> Preferences -> Jaspersoft Studio -> Report Execution -> Locale.
If you want to test a particular language you have to import the resource for that language, this is done on the proyect properties on the attribute Resource Bundle.
Example to test español put resource bundle ‘language_es’.
Subreports
The subreport is to decouple login inside the same report.
To add a subreport we have to drag the control subreport from the palette on the right top.
In our case we want the report that already exists so we click in the option select report file, otherwise we create a new one.
We add an existing one.
DataSets
Collection of data.
Has different columns (fields).
When a new record is created on the dataset, this fields are added.
Each dataset is independent, has its own datasource.