DifficultySchwierigkeitsgrad: noviceAnfänger
Inhalt
Table of Contents | ||||
---|---|---|---|---|
|
Learning Objectives
After reading this article, you’ll be able to:
Create new report
Understand and make some changes to reports
Set the general settings
Add totals/sorting to reports
Basics
If you have not read the articles under Reporting basics be sure to check those out beforehand. In this article we will go over some of the basics and go more into detail.
A report consists out of three components:
The report definition (NB: objectReport): here the report settings are made and the other two report components are linked (the filter and list page)
The filter page: the filtering determined what results are displayed
The list page: on the list page we determine what fields should be shown when running the report
title | Creating a new report |
---|
Creating a new report
Navigate to the reports module in the navigationmenu.
Click on ‘Folder’
Click on the folder in which you want to create the report. The name of that folder is now highlighted. The report can easily be moved to another folder at a later stage.
Click: new report
What you have now created is an empty report. We first have to give it a name using Languages and translation strings. After that we can decide the filters which will be explained using an example.
Note: Alternatively REPORTS > Reports > new report can be used. We do not advise this becaeue than the report is not linked to a folder making it more difficult to find.
Example: create a report that searches for all cars
Tip |
---|
Before adding any filters or list items you have to decide what the main object of your report will be. The first field you add to the filter and list page should ALWAYS be from the same object. |
In this example we want to see the number of cars per property. The car will be the main object and since car are added as asset, we add fields from the Asset object as filtering.
This is the main object since 1 car (1 Asset) only has 1 property linked to it. While 1 property has multiple cars that could be linked to it. So by using the asset as the main object we make sure we know for each car what property is linked to it (in the propertyId field).
Create filter page
To create the filter page, click add filter:
First select the object we want to filter on: “Asset” > Search
Select asset in the list of results > OK
Now al the fields of the object ‘Assets’ are shown. Select the fields that you want to show on the filter page. In this example, we select: categoryFolderId, propertyId, purchaseDate > now click 'Ok' to add the fields.
The filterpage is now automatically created (the name of the page is based on the report reference). The filter fields are shown at the bottom of the report.
When you want to add more fields, repeat the steps above.
If you want to delete a field: select the field in the ‘Filter fields’ include > Selection > Delete selected objects
Create list page
These steps are pretty much the same as for creating the filter page:
To create the list page, click add field.
First select the object we want to show: “Asset” > Search
Select asset from the list of results > Ok
Lernziele
Nach der Lektüre dieses Artikels werden Sie in der Lage sein:
Neuen Bericht erstellen
Verstehen und Ändern von Berichten
Legen Sie die allgemeinen Einstellungen fest
Summen/Sortierung zu Berichten hinzufügen
Grundlagen
Wenn Sie die Artikel nicht gelesen haben unter Reporting basics sollten Sie sich vorher informieren. In diesem Artikel gehen wir auf einige der Grundlagen ein und gehen mehr ins Detail.
Ein Bericht besteht aus drei Komponenten:
Die Berichtsdefinition (NB: objectReport): hier werden die Einstellungen für den Bericht vorgenommen und die beiden anderen Berichtskomponenten verknüpft (die Filter- und die Listenseite)
Die Seite filtern: die Filterung bestimmt, welche Ergebnisse angezeigt werden
Die Listenseite: Auf der Listenseite legen wir fest, welche Felder beim Ausführen des Berichts angezeigt werden sollen.
Search
Expand | ||||
---|---|---|---|---|
| ||||
Einen neuen Bericht erstellen
Hinweis: Alternativ können Sie auch REPORTS > Berichte > Neuer Bericht verwenden. Davon raten wir ab, da der Bericht dann nicht mit einem Ordner verknüpft ist und somit schwerer zu finden ist. Beispiel: Erstellen eines Berichts, der nach allen Autos sucht
In diesem Beispiel wollen wir die Anzahl der Autos pro Eigenschaft sehen. Das Auto wird das Hauptobjekt sein, und da Autos als Asset hinzugefügt werden, fügen wir Felder aus dem Asset-Objekt als Filterung hinzu. Dies ist das Hauptobjekt, da 1 Auto (1 Asset) nur mit 1 Eigenschaft verknüpft ist. Während 1 Eigenschaft mehrere Autos hat, die mit ihr verknüpft sein könnten. Indem wir also das Asset als Hauptobjekt verwenden, stellen wir sicher, dass wir für jedes Auto wissen, welche Eigenschaft mit ihm verknüpft ist (im Feld propertyId). Filterseite erstellen
Listenseite erstellenDiese Schritte sind im Wesentlichen die gleichen wie bei der Erstellung der Filterseite:
Changing the order of the fields
View the report The report is now created. To view it click: “view”. To see all the cars we have to fill in Car in the Category drop down. Keep reading this article to find out how you can optimize your report. | ||||
Expand | ||||
|
Expand | ||
---|---|---|
| ||
Copy and change an existing reportWhen creating reports you can use an existing reports. We often choose a report that partially shows what we already want to see and add on to that.
To change an existing report we first have to make a copy of it. To copy the report click the copy button at the top right. |
title | Operators |
---|
Operators
For each filter that is added to the report we can change the operator. Operators arecharacters that represent a specific action or process. In Workplace Management operators are mainly used for reporting purposes.Most operators like =, >, <, are fairly straightforward. We can compare two dates or characters. The ones that need more explanation are discussed in this section
= Equals
=| Pipe equal operator (see additional explanation below)
< Smaller than
<= Smaller or equal to
<> Not equal
>= Bigger or equal to
> Bigger than
= (exact) Equals exactly
Set and Special are not used in reporting.
!= Pipe operator
Info |
---|
=| Pipe operator: The pipe operator is easily explained by using an example. When we use the pipe operator we look for objects that are either equal, or have sub-objects that are equal. Take a problemtree for example with problemtype-1.0 Facility request and problemtype 1.1 Coffee machine. Problemtype 1.1 has a parent: problemtype-1, say we are looking for all requests that are within problemtype-1 the operator will look like this: |
This will return all the requests that are either problemtype 1.0, 1.1 and every other problemtype that has 1.0 as a parent problemtype.
Adding the same filterfield twice
Using operators on date fields: In the screenshot below the field startDate is added twice as a filter, but with differente operators. This allows a user to for example search for reservation that started within a specific time span.
Contains, not contains, Starts, Ends, Matches
When using any of the operators Contains, not contains, Starts, Ends or Matches we assume to be comparing a set of characters. Contains can be compared to the = operator. When looking for names typing in “Spacew”, will result in finding the organisation “Spacewell”.
This works when using contains, =, Starts and Matches.
Info |
---|
= (exact): When looking for names using the = (exact) operator only returns the names that are exactly equal. When looking for “Spacew” the report will not return organisation “Spacewell”. |
Note |
---|
A default operator that is very often used is for the field: closeTime. When this field is filled in it means the object that you are looking for is closed (Requests, reservations etc.). When we use this field with the operator “Empty” we only look for those objects that are not yet closed. |
Hide operator
An operator can be hidden in case you don’t want users to be able to change the operator.
click on the magnifying glas of the filterfield in the ‘Filter field’ include
Change the setiting “Visible = no'
AND / OR logic
By default the operator AND is set when adding a filter field. This makes sure that all filter values are met when running the report.
When using the option ‘Or’ multiple values in the same field are allowed. In the example below, defaults are set on the categoryFolderId field (default are also explained in this article).
So when running this report, assets with the category ‘Car’ (row 10) or with the category ‘Car training' (row 20) will be returned.
If the ‘And’ operator would have been used on row 20, the report would not return any results, because an asset cannot have the category ‘Car’ AND the category ‘Car training'. An asset only has one value set in the field 'categoryFolderId’
title | Set default values |
---|
Set default values
In reports we can set default values:
To make your reports easier to execute
To use a report as a list on a page
Fixed value
When we look for a a assets within a specific category we can set the category by default:
Navigate to the ‘categoryFolderId’ filter by clicking on the magnifying glass in the ‘Filter field’ include
Click: Set default
Select the default value in the drop down
Save and return
To delete click ‘'Delete default. Changing the field ‘Value’ to empty does not delete the default and can cause to unexpected report result! So always make sure to use 'Delete default’.
Initialization value
When we want to set default dynamic values, like dates or user contacts we use initialization scripts. This works in the same way. We use these when we for example look for all requests that have been created today.
Navigate to the category filter
Click: Set default
Select the default value in the drop down
Select the Value, 0 means today +/- 0 days (So the date of today at 00:00). When you change the value to 1 the date will be changed to tomorrow at 00:00.
Save and return
To delete click ‘'Delete default. Changing the field ‘Value’ to empty does not delete the default and can cause to unexpected report result! So always make sure to use 'Delete default’.
About the initialization scripts
The available initialization scripts are mostly self-explanatory.
All script are selectable for all fields, but not all scripts will work of course. You can, for example, apply the ‘Today (+/- days) script to the categoryFolderId field, but that won’t work. Initialization script regarding date/ time only work for date/ time fields like startDate, approveDate, and cancelDate.
Expand | ||
---|---|---|
| ||
Hiding filtersWhen setting default values we can hide these filters. Since there is already a default value set, the user does not need to see the filter anymore. When all filters are set by default and hidden the user will be shown a list. To hide a filter:
This setting is also available via the filter include in the report overview: |
title | Sorting |
---|
Sorting
After you have created a report or changed an existing report we are still able to change some of the basic settings. For explaining the sorting, we will continue with the Asset report we created earlier in this article.
Default sorting order
By default, results are sorted based on the first column in the list. So if reference is the first column in your list page, the results will be sorted based on their reference.
Change sorting
We can change this by referring to field (left example) or column (right example). Do not combine these two options. Use either the fields or the column numbers.
A maximum of 3 sorting columns can be defined. This for example allows you to first sort on property, and then on reference.
We can directly link the sorting to a specific field from the result list. This method is best practice
We can also define a column from the result list. So if ‘Name’ is the third column, set 3 as 'Sort column 1.
When the ‘sorting column 1 = propertyId’ and ‘sorting column 2 = reference’ the report would look like this:
Although the sorting now makes sense, say we want to see the total car prices per property. Keep reading!
title | Subtotals |
---|
Subtotals
To be able to represent the car prices we have to use subtotals.
1. Because subtotals work together with sorting we first define our SORTING to be based on propertyId.
2. When this is done change the setting subtotals 1 = yes.
3. Then we define what subtotals we want to see, in this case the originalValue. To configure this find the field in the ‘Page fields' include’and set the “Totals = Sum”.
Info: aside from the sum we could also decide to show the average, maximum, minimum and many others.
4. The results will come out like this:
Collapse/ expand and bold totals
In this example we only want to know the total price per property, to do so we can change the sub totals field to: “Collapsed level 1” and for good measure we set the Totals style to bold.
When we set the sub totals to Collapsed level 1, the user is always able to see the full list by clicking on expand.
In the subtotals we can also decide the subtotals look, these can also be set to: Normal, bold or suppressed (suppressing the subtotal all together).
Object counter
Aside from using existing fields to sum up we could also be interested in the amount of cars per property, this is not a field that is readily available. To do this we use a field called: objectCounter. Up until this point we used fields from the object Asset only, the objectCounter however is a field on the Client object.
Info |
---|
Info: The objectCounter can be used for any object, in all cases the field comes from the client object as shown below. |
We add a field like we normally would:
Click ‘Add field’
First select the object “client” > Search
Select ‘Client’ from the list of results > Ok
Select the field ‘objectCounter’ > Ok
the field client.objectCounter is now added to the include ‘Page fields’include
In this include, set the totals column to sum (same as for the originalValue)
The finished report will then look like this:
title | Other settings |
---|
Other settings
In the table below we go over some other general settings that can be set in reports.
Field
Description
Section
This specifies the section (which top or side menu) the report belongs to.
Concerns
The section object.
Maximum find
Maximum number of rows that the filter page may find. If more rows are found an error message is displayed. The number is determined before filtering on access rights. F.e. searching all request would not show all request for every user (because of limited access per user) but might still throw an error when searching since the total amount of requests is used. This field is often used as a security measure.
File name
The JSP file name or Java class that is used to generate the report.
Report script
A report script allows to create the report in an Axxerion Script. The script determines the contents of the report.
Logging
Whether or not to turn on logging for the current report. If logging is turned on, then all views of the report data will be logged as object history items.
Hyperlinks
Whether hyperlinks should be shown for the first column of the report.
Empty filter
If not legal values have been set for a filter, then this field determines what will happen. The report can show all data (the default behavior) or an empty list. It is also possible to show an error message.
Pivot
Should the report be displayed as a pivot table? Pivot tables have fixed layouts.
Heading style
Heading style of pivot table.
Header formula
The header formula can be made by using the Word template syntax.
Hide empty rows
Whether or not to hide rows for which all floating point columns have empty values.
Resorting
Should the report be resorted. When set to yes the user can resort by clicking on the column header.
Resort column
Column number of the report, that should be used to resort the report before it is being cropped. You must take collapse into account.
Hierarchy
Hierarchy can be shown as collapsed or expanded. For large hierarchies you can select the option ‘incremental'. In this case the lower level objects are collected after the user has opened a certain level. This reduces the time to display the initial screen.
Number of rows
Specifies the maximum number of rows that are displayed after sorting. You can create a list of the top ten items.
Auto select
Setting to specify if items should be opened or not. ‘Single result’ means that auto select is only one row in the list. ‘Always’ means that auto select is done always, even if there is more than one row.
Cover
You can select a template document here that will be used to create a nice cover page when a PDF is created for the report.
Cover usage
Specify in which situation the cover page should be used.
title | Move a report to another folder |
---|
Move a report to another folder
Moving a report to a folder actually means linking the report that folder. The report will also still be linked to the folder it was created in. You can link one report to as many folders as you like.
Linking/ move a report to a folder
Navigate to the folder to which you want to move (of should we say link) the report to
Make sure you click the folder so it is highlighted
Click the little arrow pointing down on the top right of your screen
Click ‘Move to’
In the search screen that now appears type the reference of name of your report > Search
Select the report from the list
OK
The report is now added to the folder
Unlink/ delete a report from a folder
Open the report
On the top right click on the gears symbol > related
Select the folder(s) (NB: objectFolder) from which you want to delete the report
Selection > delete selected objects
Info: The objectReport object links a report to a folder
Summary
Rw ui textbox macro |
---|
|
Ändern der Reihenfolge der Felder
Den Bericht ansehen Der Bericht ist nun erstellt. Um ihn anzusehen, klicken Sie: "Ansicht". Um alle Fahrzeuge zu sehen, müssen Sie in der Dropdown-Liste "Kategorie" "Auto" eingeben. Lesen Sie diesen Artikel weiter, um herauszufinden, wie Sie Ihren Bericht optimieren können. |
Expand | ||
---|---|---|
| ||
Filtern und Anzeigen von Feldern aus anderen Objekten als dem HauptobjektBis jetzt wurden alle Filterfelder, die wir hinzugefügt haben, im Hauptobjekt (Asset) verwendet. Es ist jedoch auch möglich, andere Objekte zu filtern. Die Logik dahinter ist recht einfach zu verstehen. Bevor Sie Felder aus einem anderen Objekt hinzufügen können, müssen Sie zunächst die richtige Verknüpfung zu diesem Objekt mit einem id-Feld herstellen. Danach können Sie Felder aus anderen Objekten hinzufügen. Dies ist am einfachsten zu verstehen, wenn man sich diese Beispiele ansieht: Beispiel 1 (Filter):
Beispiel 2 (Listenseite):
|
Expand | ||
---|---|---|
| ||
Kopieren und Ändern eines bestehenden BerichtsBei der Erstellung von Berichten können Sie vorhandene Berichte verwenden. Oft wählen wir einen Bericht, der einen Teil dessen zeigt, was wir bereits sehen wollen, und fügen diesen hinzu.
Um einen bestehenden Bericht zu ändern, müssen wir zunächst eine Kopie des Berichts erstellen. Um den Bericht zu kopieren, klicken Sie auf die Schaltfläche Kopieren oben rechts. |
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
BetreiberFür jeden Filter, der dem Bericht hinzugefügt wird, können wir den Operator ändern. Die Operatoren sindZeichen, die eine bestimmte Aktion oder einen Prozess darstellen. Im Workplace Management werden Operatoren hauptsächlich zu Berichtszwecken verwendet. Die meisten Operatoren wie =, >, <, sind ziemlich einfach. Wir können zwei Daten oder Zeichen vergleichen. Diejenigen, die mehr Erklärung benötigen, werden in diesem Abschnitt behandelt
!= Rohrleitungsoperator
Dies gibt alle Anfragen zurück, die entweder dem Problemtyp 1.0 oder 1.1 angehören, sowie alle anderen Problemtypen, die 1.0 als übergeordneten Problemtyp haben. Doppeltes Hinzufügen desselben FilterfeldesVerwendung von Operatoren für Datumsfelder: Im Screenshot unten ist das Feld startDate zweimal als Filter hinzugefügt, aber mit unterschiedlichen Operatoren. So kann ein Benutzer zum Beispiel nach Reservierungen suchen, die innerhalb einer bestimmten Zeitspanne begonnen haben. Enthält, nicht enthält, Beginnt, Endet, EntsprichtBei der Verwendung der Operatoren Enthält, Nicht enthält, Beginnt, Endet oder Entspricht gehen wir davon aus, dass wir eine Menge von Zeichen vergleichen. Enthält kann mit dem Operator = verglichen werden. Bei der Suche nach Namen führt die Eingabe von "Spacew" zur Suche nach der Organisation "Spacewell". Dies funktioniert bei der Verwendung von contains, =, Starts und Matches.
Operator ausblendenEin Operator kann ausgeblendet werden, wenn Sie nicht möchten, dass die Benutzer den Operator ändern können.
UND/ODER-Logik Standardmäßig wird beim Hinzufügen eines Filterfeldes der Operator AND gesetzt. Dadurch wird sichergestellt, dass bei der Ausführung des Berichts alle Filterwerte erfüllt werden. Bei Verwendung der Option "Oder" sind mehrere Werte im selben Feld zulässig. Im folgenden Beispiel werden Standardwerte für das Feld "categoryFolderId" festgelegt (Standardwerte werden auch in diesem Artikel erläutert).
|
Expand | ||
---|---|---|
| ||
Standardwerte festlegenIn Berichten können wir Standardwerte festlegen:
Fester WertBei der Suche nach einem Asset in einer bestimmten Kategorie können wir die Kategorie standardmäßig festlegen:
InitialisierungswertWenn wir dynamische Standardwerte wie Daten oder Benutzerkontakte festlegen wollen, verwenden wir Initialisierungsskripte. Dies funktioniert auf die gleiche Weise. Wir verwenden diese, wenn wir zum Beispiel nach allen Anfragen suchen, die heute erstellt wurden.
Über die Initialisierungsskripte
|
Expand | ||
---|---|---|
| ||
Ausblenden von FilternBeim Setzen von Standardwerten können wir diese Filter ausblenden. Da bereits ein Standardwert eingestellt ist, braucht der Benutzer den Filter nicht mehr zu sehen. Wenn alle Filter standardmäßig eingestellt und ausgeblendet sind, wird dem Benutzer eine Liste angezeigt. Um einen Filter auszublenden:
Diese Einstellung ist auch über den Filter include in der Berichtsübersicht verfügbar: |
Expand | ||
---|---|---|
| ||
SortierungNachdem Sie einen Bericht erstellt oder einen bestehenden Bericht geändert haben, können Sie immer noch einige der Grundeinstellungen ändern. Um die Sortierung zu erklären, fahren wir mit dem Anlagenbericht fort, den wir in diesem Artikel erstellt haben. Standard-SortierreihenfolgeStandardmäßig werden die Ergebnisse nach der ersten Spalte in der Liste sortiert. Wenn also "Referenz" die erste Spalte auf Ihrer Listenseite ist, werden die Ergebnisse nach ihrer Referenz sortiert. Sortierung ändern
Wenn die "Sortierspalte 1 = propertyId" und die "Sortierspalte 2 = reference" gewählt werden, würde der Bericht wie folgt aussehen: Auch wenn die Sortierung jetzt sinnvoll ist, wollen wir doch die gesamten Autopreise pro Immobilie sehen. Lesen Sie weiter! |
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
ZwischensummenUm die Autopreise darstellen zu können, müssen wir Zwischensummen verwenden. 1. Da Zwischensummen mit der Sortierung zusammenarbeiten, definieren wir zunächst unsere SORTIERUNG auf der Grundlage von propertyId. 2. Wenn dies geschehen ist, ändern Sie die Einstellung Zwischensummen 1 = ja. 3. Dann legen wir fest, welche Zwischensummen wir sehen wollen, in diesem Fall den Originalwert. Um dies zu konfigurieren, suchen Sie das Feld in der Rubrik "Seitenfelder" und setzen Sie "Summen = Summe". 4. Das Ergebnis sieht folgendermaßen aus: Verkleinern/Erweitern und Fettdruck der SummenIn diesem Beispiel wollen wir nur den Gesamtpreis pro Immobilie wissen, dazu können wir das Feld für die Zwischensummen auf: "Zusammengeklappt Ebene 1" und zur Sicherheit setzen wir den Summenstil auf fett. Wenn wir die Zwischensummen auf die Stufe 1 "Eingeklappt" setzen, kann der Benutzer immer die gesamte Liste sehen, wenn er auf "Erweitern" klickt.
ObjektzählerAbgesehen von der Verwendung vorhandener Felder für die Zusammenfassung könnten wir auch an der Anzahl der Autos pro Grundstück interessiert sein, aber dieses Feld ist nicht ohne weiteres verfügbar. Zu diesem Zweck verwenden wir ein Feld namens: ObjektZähler. Bis zu diesem Punkt haben wir nur Felder aus dem Objekt Asset verwendet, der objectCounter ist jedoch ein Feld des Client-Objekts.
Wir fügen ein Feld hinzu, wie wir es normalerweise tun würden:
|
Expand | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||
Andere EinstellungenIn der folgenden Tabelle werden einige weitere allgemeine Einstellungen erläutert, die in Berichten vorgenommen werden können.
|
Expand | ||
---|---|---|
| ||
Verschieben eines Berichts in einen anderen OrdnerDas Verschieben eines Berichts in einen Ordner bedeutet eigentlich, dass der Bericht mit diesem Ordner verknüpft wird. Der Bericht ist auch weiterhin mit dem Ordner verknüpft, in dem er erstellt wurde. Sie können einen Bericht mit so vielen Ordnern verknüpfen, wie Sie möchten. Verknüpfen/Verschieben eines Berichts in einen Ordner
Verknüpfung aufheben/einen Bericht aus einem Ordner löschen
|
Zusammenfassung
Rw ui textbox macro |
---|
|
Suche
Live Search |
---|