Jaspersoft OLAP User Guide
Jaspersoft OLAP User Guide
RELEASE 6.1
http://www.jaspersoft.com
Copyright 2005-2015, TIBCO Software Inc. All rights reserved. Printed in the U.S.A. TIBCO, the TIBCO
logo, TIBCO Jaspersoft, the TIBCO Jaspersoft logo, TIBCO Jaspersoft iReport Designer, TIBCO JasperReports
Library, TIBCO JasperReports Server, TIBCO Jaspersoft OLAP, TIBCO Jaspersoft Studio, and TIBCO Jaspersoft
ETL are trademarks and/or registered trademarks of TIBCO Software Inc. in the United States and in
jurisdictions throughout the world. All other company and product names are or may be trade names or
trademarks of their respective owners.
This is version 0515-JSP61-21 of the Jaspersoft OLAP User Guide.
TABLE OF CONTENTS
Chapter 1 Introduction to Jaspersoft OLAP
6
7
10
13
15
15
16
16
18
19
19
20
22
23
24
24
25
27
27
29
29
29
35
38
40
40
49
50
51
53
53
54
56
66
70
71
74
79
80
80
82
82
82
83
Glossary
85
Index
95
CHAPTER 1
The heart of the TIBCO Jaspersoft BI Suite is the server, which provides the ability to:
Easily create new reports based on views designed in an intuitive, web-based, drag and drop Ad Hoc
Editor.
Efficiently and securely manage many reports.
Interact with reports, including sorting, changing formatting, entering parameters, and drilling on data.
Schedule reports for distribution through email and storage in the repository.
Arrange reports and web content to create appealing, data-rich Jaspersoft Dashboards that quickly convey
business trends.
For business intelligence users, Jaspersoft offers TIBCO Jaspersoft OLAP, which runs on the server.
While the Ad Hoc Editor lets users create simple reports, more complex reports can be created outside of the
server. You can either use TIBCO Jaspersoft Studio or manually write JRXML code to create a report that
can be run in the server. We recommend that you use Jaspersoft Studio unless you have a thorough
understanding of the JasperReports file structure.
You can use the following sources of information to extend your knowledge of JasperReports Server:
Our core documentation describes how to install, administer, and use JasperReports Server. Core
documentation is available as PDFs in the doc subdirectory of your JasperReports Server installation. You
can also access PDF and HTML versions of these guides online from the Documentation section of the
Jaspersoft Community website.
Our Ultimate Guides document advanced features and configuration. They also include best practice
recommendations and numerous examples. You can access PDF and HTML versions of these guides online
from the Documentation section of the Jaspersoft Community website.
Our Online Learning Portal lets you learn at your own pace, and covers topics for developers, system
administrators, business users, and data integration users. The Portal is available online from Professional
Services section of our website.
Our free samples, which are installed with JasperReports, Jaspersoft Studio, and JasperReports Server, are
documented online.
JasperReports Server is a component of both a community project and commercial offerings. Each integrates the
standard features such as security, scheduling, a web services interface, and much more for running and sharing
reports. Commercial editions provide additional features, including Ad Hoc charts, flash charts, dashboards,
Domains, auditing, and a multi-organization architecture for hosting large BI deployments.
This chapter includes:
1.1
Ad Hoc views. Created with the Ad Hoc Editor, these views can be based on OLAP client connections. An
Ad Hoc view can be a table, chart, or crosstab and is the entry point to analysis operations such as slice and
dice, drill down, and drill-through. You can save an Ad Hoc view as a report in order to edit it in the
interactive report viewer, schedule it, or add it to a dashboard.
OLAP-based reports. Reports created in the Ad Hoc Editor, iReport, and Jaspersoft Studio can read data
from OLAP data sources. These reports tend to be more static than views based on the same data sources,
but are excellent when data exploration, such as slice or drill-through, yields results you need to distribute
widely.
Jaspersoft OLAP views. A view of multidimensional data that is based on an OLAP client connection and
an MDX query. Unlike Ad Hoc views, you can directly edit an OLAP views MDX query to change the
data and the way they are displayed. An OLAP view is the entry point for advanced analysis users who
want to write their own queries.
Jaspersoft ODBO Connect. This separate client user interface enables Microsoft Excel Pivot Tables to access
Jaspersoft OLAP and other OLAP servers that support the XML for Analysis (XML/A) Simple Object
Access Protocol (SOAP) protocol. It lets users familiar with Excel leverage those skills to explore their
OLAP cubes and create pivot tables based on them. Jaspersoft ODBO Connect is described in its own user
guide, which is installed with the product.
In addition to these end-user tools, the Jaspersoft OLAP workbench helps data analysts define the measures and
dimensions of a cube based on the data in their transactional database. The workbench is described in its own
user guide, which is installed with the product.
The OLAP connections you define in Jaspersoft OLAP can be used to explore data in Ad Hoc views,
which retain the dimension and measure metadata defined for your cubes. For more information, refer to
the JasperReports Server User Guide.
1.2
In addition to these resources, Jaspersoft encourages you to review the Jaspersoft OLAP Ultimate Guide.
CHAPTER 2
Jaspersoft OLAP is an On Line Analytical Processing (OLAP ) application. OLAP applications help users
analyze and understand complex data. Jaspersoft OLAP Community Project uses JPivot for analytical processing
with an improved user interface.
The procedures in this document assume that you installed JasperReports Server with its sample data.
The schemas and views it describes are available only if the samples are installed.
An OLAP view consists of a client connection and an MDX query. A client connection is either a Mondrian
connection or an XML/A connection; it provides the data that appears in the view. Jaspersoft OLAP contains a
number of sample OLAP views. This guide assumes you are logged in as a user with an administrator role (that
is, that you have access to the view and its data).
The following describe Jaspersoft OLAP's analysis capabilities:
2.1
Name
Description
Zoom on Drill
Toggles (that is, turns on or off) the zoom in/out hyperlinks for hierarchy
members. See 2.1.3, Drilling into a Dimension Member, on page15
.
10
Toggles between sort across and sort within hierarchy. See 2.1.1.3, Sort
Options, on page15.
Hide Empty
Rows/Columns
Hides or reveals rows or columns that do not have relevant fact data. See
2.1.4, Row and Column Display Options, on page16.
Swap Axes
Changes the orientation of the table by switching the columns and rows.
Allows users to configure the cube options, drill-through options, and sort
options. 2.1.1, Edit Display Options, on page13.
Icon
Name
Description
Show Chart
11
Icon
12
Name
Description
Changes the navigation table by editing the MDX query that generates the
view. This feature is intended for advanced users familiar with MDX and the
data structures underlying the view.
Export to Excel
Prompts you to view or save the current navigation table in Microsoft Excel
format.
Export to PDF
Prompts you to view or save the current navigation table in Adobe Acrobat
PDF format.
Icon
2.1.1
Name
Description
Save View
Saves this OLAP view. Changes youve made since you opened the view
are saved to the repository. If you dont have permission to save the view in
its current location, the Save View As dialog prompts you to select a new
location.
Save View As
Saves this OLAP view under a new name and location. Changes youve
made since opening the view are saved to the repository in the location you
select. Note that you cannot use the Save View As button to overwrite an
existing view (even if you have sufficient permissions).
13
14
Displays the drill-through table below the navigation table. By default, the drillthrough table appears in a separate browser window.
Hide drill-through
links
Limits the display to only the selected measure in the drill-through table.
2.1.2
Start sorting in
descending order
Save Buttons
Save View
Saves this OLAP view. Changes youve made since you opened the view are saved
to the repository. If you dont have permission to save the view in its current location,
the Save View As dialog prompts you to select a new location.
Save View
As
Saves this OLAP view under a new name and location. Changes youve made since
opening the view are saved to the repository in the location you select. Note that you
cannot use the Save View As button to overwrite an existing view (even if you have
sufficient permissions).
2.1.3
15
2.1.4
2.2
Navigation Table
The navigation table appears at the top of the OLAP view (Figure 2-7 on page 20). It shows the data that is
retrieved by the current MDX query, which appear in both the main view and in drill-through tables.
Table 2-2 Navigation Table Icons and Options
Icon
Name
Expand Position
16
Description
Expands rows at a specific hierarchy member.
Icon
Name
Description
Collapse Position
Expand/Collapse
Member
Zoom In/Out
Click hyperlinked hierarchy members to replace the current table with a subtable that depicts the selected member. This option is only available when
Zoom on Drill is enabled.
Restores the navigation table to its initial view after having zoomed. This
option is only available when youre in Zoom on Drill mode.
Click hyperlinked fact data to display additional columns from that specific
fact data. The following drill-through table shows the drill-through of Total
Unit Sale for Alcoholic Beverages. For more information about the drillthrough tables options, refer to Drill-through Table on page18.
17
Icon
2.3
Name
Description
Natural Order
Located next to measure labels, indicates that the navigation table is sorted
according to the order of hierarchy members. Click it to change the sort
order.
Ascending
Located next to measure labels, indicates that the navigation table is sorted
according to their numeric value, from smallest to largest. Click it to change
the sort order.
Descending
Located next to measure labels, indicates that the navigation table is sorted
according to their numeric value, from largest to smallest. Click it to change
the sort order.
Expand All
Located near the top-left corner of the navigation table, expands all of the
currently displayed members (all those that display the plus sign) to the next
level of detail in the hierarchies. This can be selected repeatedly to expand
all levels of detail. This option is only available when Zoom on Drill is not
active.This operation is limited by the memory available to the application
server that hosts JasperReports Server. It stops expanding members when
this limit is reached.
Collapse All
Drill-through Table
The drill-through table displays supporting details for the selected roll-up value in the navigation table
(described in Navigation Table on page16). The following sections describe the available functionality.
Table 2-3 Drill-Through Table Icons and Options
Icon
18
Name
Description
Edit Properties
Output as CSV
Expand/Collapse
Member
Icon
2.4
Name
Description
First, Previous,
Next, Last
Goto Page
Enter the number of the page you want to view and press
return to display the page.
Rows/page
How did my organization perform this year as compared to last year? Which parts and personnel of the
organization did better and which did not?
For a consumer business, what is my most and least profitable product/customer/salesperson/office/store?
Which factor in my data trend in the same direction as the most profitable, which factors trend in the
opposite direction, and which are neutral? How do those factors trend for the least profitable?
For a hospital, for instance, which patients are staying longer than is typical for their diagnosis? What
symptoms and other diagnoses do the long-staying patients have?
The questions you can answer with Jaspersoft OLAP depend on:
OLAP views give business users a starting point for analysis that can then be sliced and diced to answer
detailed questions. For a particular OLAP data set, there are usually a number of OLAP views defined as
convenient entry points.
As an example, let's answer a specific question: What is the quarterly sales dollar amount for the snack foods
category in 2012 for stores in California?
2.4.1
Scroll through the repository to select an OLAP view or, type the name (or partial name) of the view you
want to see in the search field at the top of the page.
For example, enter Foodmart.
The repository reappears, displaying the objects that match your text.
19
To display an OLAP view, right-click it and select Run. For example, right-click the Foodmart Sample
Analysis View and click Run.
JasperReports Server displays the view.
2.4.2
Click the tool bar buttons and values in the navigation table to explore the data.
20
Click
3.
4.
Click next to Promotion Media and Product to remove them from the view.
5.
6.
7.
8.
Click Measures in the column section, and deselect Unit Sales and Store Cost.
9.
next to the filter you want to use to create a row, then expand it as
10. Click to activate Zoom on Drill. When active, its tool bar button looks like this
cube hierarchy, and Start sorting in descending order are selected, then click OK.
15. Click the navigation tables Expand All Members button again.
16. Click the Sort button next to 2012.
The navigation table displays the top stores for the year ordered by dollar sales amount.
21
2.4.3
22
2.4.4
Displaying Charts
Charts can provide more dramatic visual impact. Create a simple view to display as a chart.
To view a chart:
1. From the Repository, open the Foodmart Sample Analysis View.
2. Click
3. Click the Move to Rows icon next to the Store filter to create a row, then click Store.
4. Expand All Stores, then USA, and select CA, OR, and WA. Click OK.
5. Click the filter icon
the row.
next to Promotion Media and Production in the Rows section to remove them from
6. Click OK.
7. Click Collapse All
8. Click Show Chart
.
.
23
2.4.5
Exporting Output
OLAP views can be exported to Excel and PDF formats:
2.4.6
Click
24
An MDX query consists of data sets, query scope, and filter specifications:
2.
3.
A SELECT statement determines the data sets that will populate the columns (x-axis) and rows (y-axis)
of the navigation table. The SELECT statement includes the measures to use as columns and rows. The
query in this example specifies data sets in terms of:
[Measures].[Unit Sales], [Measures].[Store Cost], [Measures].[Store Sales] as columns; [Promotion
Media].[All Media] and [Product].[All Products] as rows.
The FROM clause specifies the cube that is queried. You can query only one cube at a time.
The WHERE clause uses dimensions to constrain the data sets retrieved by the query, that is, the
clause specifies the filters that screen the data the query returns. In the example, [TIME].[2012] is
the filter.
Click Apply to update the navigation table in the OLAP view. The system validates the query and updates
the navigation table.
Click Revert to discard all changes.
For details about the MDX query language, see Microsoft's Multidimensional Expressions Reference.
2.4.7
25
26
CHAPTER 3
Jaspersoft OLAP administration involves repository management and performance tuning. For information about
more general administrative tasks, such as access control, see the JasperReports Server Administrator Guide and
the JasperReports Server Security Guide.
The Manage menu, discussed in some of the following sections, only appears if you have an
administrative role, such as ROLE_ADMINISTRATOR or ROLE_SUPERUSER. In commercial editions,
the Manage > Server Settings menu item is only available to the superuser account.
3.1
27
This overview assumes that you rely exclusively on JasperReports Servers built-in OLAP engine. If you
rely on a different OLAP engine, such as Microsoft SQL Server Analytic Services, refer to the associated
documentation for instructions on maintenance.
Identify facts or measures (the values to summarize) and dimensions (divisions of the measures for
example, dividing time into weeks, months, and years) in the cube database.
3.
Define an OLAP schema, mapping logical facts and dimensions onto the physical database. The Jaspersoft
OLAP engine uses the schema to interpret the database and perform OLAP queries. The Jaspersoft OLAP
Schema Workbench enables you to develop, validate, and test schemas against the database. The Mondrian
Technical Guide gives details of schemas and their options.
4.
Create an OLAP client connection that includes your schema and a database connection. Optionally, define
data level security for the cube with access grants that limit users to only the data they are allowed to see,
based on their roles and attributes. The repository stores the information you provide to define an OLAP
client connection.
5.
Define entry points for analysis of the cube data, known as OLAP views. OLAP views enable end users to
interact with cubes without having to know query languages, database connections, and other technical
details. An OLAP view is an MDX query that is run against the cube as a starting point for interactive
analysis. OLAP views appear as objects that users can select through the web interface. You can use the
Jaspersoft OLAP Schema Workbench to develop and test MDX queries.
6.
If you have defined access grants, test them by using the Log in As function to impersonate users with
different roles.
7.
Plan for updates to data in the cube, usually on a regular basis (for example, nightly or weekly). After an
update, flush (empty) the Jaspersoft OLAP data cache so that subsequent queries get the results of new data.
For more information, see Flushing the OLAP Cache on page49.
8.
Tune for performance. As a database administrator, analyze the SQL queries that Jaspersoft OLAP issues
against the cube database. Jaspersoft OLAP has built-in tools that enable you to track queries (for
information, refer to Performance Tuning on page79). Tune the cube database accordingly with tools
specific to the database type (for example, indexes and data striping). With large data volumes, you can
create pre-calculated tables during the data load (ETL) process to aggregate measure values. Jaspersoft
OLAP can use the aggregate tables to replace calculations and thus improve query performance.
9.
Design your environment for scalability and availability. Jaspersoft OLAP can run on a single machine.
However, for large numbers of users, large data volumes, and high availability, you can use a multi-host
environment with load balancers and some machines dedicated to either OLAP user interface or OLAP
server duties. You can use XML/A to distribute processing. For more information, refer to Working with
XML/A Connections on page66 and Working with XML/A Sources on page71.
The detailed procedures, beginning in section Creating an OLAP View with a Mondrian Connection on
page29, step you through the process of setting up all components of an OLAP view.
28
3.2
3.2.1
3.2.2
In the Folders panel, navigate to Organization > Organization > Analysis Components > Analysis
Views.
29
3.
Right-click the folder and select Add Resource > OLAP View.
The Name the View page appears and prompts you to provide a name for the new view.
Enter a name and description for the new view. The Resource ID field is auto-generated when you type in
the Name field. After it is saved, it cant be changed.
5.
Click Next.
The Locate Mondrian Client Connection Source page appears and prompts you to select or create a local
Mondrian connection.
Click either:
7.
30
Click Next.
If you chose to define a new Mondrian connection, the Set Connection Type and Properties page appears
and prompts you to define a connection.
To change the type of the connection, select a connection type from the Type drop-down and complete the
fields. Otherwise, enter the requested information. For details see Creating a Mondrian Connection on
page57.
9.
To chose a location for the connection, click Browse, navigate to a folder, and click Select.
31
32
33
Do not link an Access Grant if you dont need to apply data security.
Then click Next and skip to step step22.
34
20. If you chose to upload a new file from your computer, the fields are editable. Enter the requested
information. For details, refer to Uploading an Access Grant Schema on page78. If you chose a file
from the repository, the fields arent editable.
21. Click Next.
The Define the Query page appears and prompts you for an MDX query string.
To learn more about writing MDX queries, refer to the reference material listed in External Information
Resources on page7.
23. Click Submit.
If the view passes validation, it is added to the repository. If you receive an error, it is likely that the
problem is a typo in your query. Carefully review the query to ensure that it is valid.
24. When you have a valid OLAP view, clicking Submit adds it to the repository.
If the view passes validation, it is added to the repository.
3.2.3
In the Folder panel, navigate to Organization > Organization > Analysis Components > Analysis
Views.
3.
Right-click the Analysis Views folder and select Add Resource > OLAP View from the context menu.
The Name the View page appears and prompts you to enter the basic details about the new view.
35
5.
6.
7.
36
Define a XML/A Client Connection in the next step to add a new connection.
Select a XML/A Client Connection from the Repository to select a data source from the
repository.
Click Browse, navigate to the location where you want to add the file, and click Select. Click Next
and skip to step9.
If you chose to create a new client connection, the Set Connection Type and Properties page appears and
prompts you to define the connection, Enter the requested information. For details, refer to Working with
XML/A Connections on page66.
8.
Click Next.
The Define the Query page appears and prompts you for a query string.
37
9.
In the Query String field, enter the MDX query. For example, type:
select {[Measures].[Unit Sales], [Measures].[Store Cost], [Measures].[Store Sales]}
on columns, {([Promotion Media].[All Media], [Product].[All Products])} ON rows from
Sales where ([Time].[2012].[Q4].[12])
To learn more about writing MDX queries, refer to the reference material listed in External Information
Resources on page7.
10. Click Submit.
If the view passes validation, it is added to the repository. If you receive an error, it is likely that the
problem is a typo in your query. Carefully review the query to ensure that it is valid.
11. When you have ca valid OLAP view, clicking Submit adds it to the repository.
If the view passes validation, it is added to the repository.
3.2.4
Right-click a view and click Edit. In this example, were editing the Foodmart Sample Analysis View.
The Name the View page appears with the fields populated.
38
Depending on the type of connection specified, enter values as necessary. Click each field you want to
change and enter new values. For details, refer to Creating an OLAP View with a Mondrian
Connection on page29 and Creating an OLAP View with an XML/A Connection on page35.
5.
Click Next.
The Define a Query page appears with the query language set to MDX.
7.
Click Submit.
If the view passes validation, it is added to the repository. If you receive an error, it is likely that the
problem is a typo in your query. Carefully review the query to ensure that it is valid.
8.
When you have a valid OLAP view, clicking Submit adds it to the repository.
39
3.3
This section describes system configuration and maintenance options, including options that control the OLAP
engines behavior and the various caches that can store the multi-dimensional data that populate your views and
reports.
This section includes:
3.3.1
In JasperReports Server commercial editions, you must be logged in using the superuser account.
In JasperReports Server Community Project, you must be logged in as a user with the ROLE_
ADMINISTRATOR role. Also not that, in this edition, the options are not editable. You must make your
changes in a configuration file on the servers host, instead.
40
If your edition of the server includes it, click the Performance Profiling Enabled check box to generate
performance reports and views, and click Change.
The page displays a message indicating that the setting was updated.
4.
Locate and analyze the performance reports and views. The reports are found in the repository at
/performance/reports. The views are found at /performance/views.
5.
Review the available properties described below to determine if they can be changed to improve
performance.
6.
Adjust any options as needed, click Change, and run the performance views and reports to understand the
impact your changes made.
7.
41
Notes
General Behavior
42
If disabled, Jaspersoft OLAP returns an exception if you attempts to drillthrough. This can be useful when the underlying data contains
confidential information or is so voluminous that drill-through
performance would be unacceptable.
Query Limit
When set to a number greater than 0, result sets are limited to the
specified number of rows.
Property
Notes
When set to a number greater than zero, defines a limit on the number
of cells that can be batched together when building segments.
When set to a value greater than zero, Jaspersoft OLAP times out if the
query takes longer than the specified number of seconds. If a query
exceeds the limit, Jaspersoft OLAP returns an error.
For more information, refer to the Query Limit and Result Limit entries in
this table.
43
Property
Notes
44
Property
Notes
When enabled (the default setting), segment data are rolled up inmemory.
Do elements of a dimension
(levels, hierarchies, members)
need to be prefixed with
dimension name in the MDX query
45
Property
Notes
Aggregate Settings
Enable Aggregate Tables
Optimize predicates
46
Specifies a file that defines aggregate table recognition rules. This file
can either reside in the application server or the file system. Typically,
you can accept the default.
The AggRule element's tag value. Typically, you can accept the default.
Property
Notes
Determines whether Jaspersoft OLAP caches the results of frequentlyevaluated expressions. Enabling this property can reduce the number
of unnecessary computations when processing a large amount of data.
The maximum number of threads per Jaspersoft OLAP instance that can
be used to perform operations on external caches. For more information
about running multiple instances in a single deployment, refer to
Performance Tuning on page79.
The maximum number of threads per Jaspersoft OLAP instance that can
be used to run SQL queries when populating segments. For more
information about running multiple instances in a single deployment,
refer to Performance Tuning on page79.
DB2: 2,500
MySQL: 10,000
Oracle: 1,000
Postgres: 10,000
Other: 10,000
47
Property
Notes
XML/A Settings
XML/A Maximum Drill Through
Rows
If this property is enabled, the first row returned for an XML/A drillthrough request shows the total count of rows in the underlying
database.
s to specify seconds
ms to specify milliseconds
48
Property
Notes
These properties are stored as server-level attributes. We recommend that you allow JasperReports Server to
manage these properties automatically; change the values using the administrator-only Managemenu options,
unless you need to reset the option to the default. For more information about default server-level attributes,
refer to the JasperReports Server Administrator Guide
For more information about these properties, refer to the configuration guide. Use the name of each property
(shown below each descriptive label) when searching this reference.
Many other properties can be set by editing configuration files, but some of them do not affect Jaspersoft OLAP
because they are controlled in the repository user interface. For example, you do not have to provide a
connectString property, or to specify the jdbcDrivers for Mondrian, because Jaspersoft OLAP automatically
generates these properties when the DataSource for an AnalysisClientConnection is selected.
To log the SQL queries Jaspersoft OLAP sends to the database, set the Generate Formatted SQL
Traces option. This ensures that Jaspersoft OLAP writes the SQL queries it executes to the log file you
specify.
3.3.2
49
To flush the cache, click Manage > Server Settings, click OLAP Settings, and click Flush OLAP Cache
near the top of the page.
The OLAP cache is also automatically flushed when an existing Mondrian connection or one of its components
(such as the schema or data source) is changed in the repository.
For more information on caching, see the Jaspersoft OLAP Ultimate Guide and the JasperReports Server
Administrator Guide.
3.3.3
Description
UseContentChecksum
Jaspersoft recommends caution if you configure the server to identify datasets by the checksum of the
associated OLAP schema. Under very specific circumstances, setting this property to true can cause
unexpected behavior in which cached data are reused incorrectly. Users might see data associated with
a different schema whose data is already in the cache simply because the checksums match. The
following scenario presents one such case, though others are certainly possible.
50
The JasperReports Server instance hosts two organizations: Client1 and Client2.
Each organization has a user responsible for data analysis:
Client1s data analyst is Amber.
Client2s data analyst is Huan.
Each organization includes an OLAP-based report that uses identical OLAP schemas:
Client1
Report: Sales Leads OLAP Report (C1)
OLAP Schema: SalesLeadsSchemaC1
Client2
Report: Sales Leads OLAP Report (C2)
OLAP Schema: SalesLeadsSchemaC2
Each OLAP schema relies on a different database with the same data structures, so that the users in each
organization see their own data.
Amber (in the Client organization) opens the Sales Leads OLAP Report (C1).
Amber sees sales leads generated by Client1. In the cache, this data is identified by the checksum of the
SalesLeadsSchemaC1 schema.
2.
Before the cache is flushed, Huan (in the Client2 organization) opens the Sales Leads OLAP Report (C2).
By default, Huan sees sales leads generated by Client2 (which is the expected result). However, when the
UseContentChecksum property is set to true, the server compares the checksum of the of the
SalesLeadsSchema2 with those in the cache. Because this checksum matches the checksum of
SalesLeadsSchema1 (the schema loaded by Amber), the server returns the cached data instead of loading
data from Client2s data source.
In this scenario, Huan sees another clients sales data.
If your JasperReports Server instance hosts multiple organizations, Jaspersoft recommends that you use the
default setting and allow the server to identify OLAP datasets using their connection URL details.
Note that other scenarios can cause similar unexpected behavior when the UseContentChecksum property is set
to true; two checksums could conceivably match for any number of unpredictable reasons.
3.3.4
51
Value
Description
OLAP4J_CACHE
org.olap4j.driver.xmla.cache.
XmlaOlap4jNamedMemoryCache
OLAP4J_CACHE_NAME
org.olap4j.driver.xmla.cache.
XmlaOlap4jNamedMemoryCache
OLAP4J_CACHE_MODE
LFU
OLAP4J_CACHE_SIZE
OLAP4J_CACHE_TIMEOUT
52
3.4
Working
Working
Working
Working
Working
Working
An OLAP view references most of these objects indirectly. The same holds true for Ad Hoc views. For
example, an OLAP schema is a part of a Mondrian connection; the OLAP view refers to the Mondrian
connection which in turn refers to the schema. The following figures can help you understand how the
objects relate:
Anatomy
Anatomy
Anatomy
Anatomy
The repository objects described in this section are also used by Ad Hoc views that return OLAP data. Such
views are created against OLAP client connections (Mondrian or XML/A) using the Ad Hoc Editor. For more
information on Ad Hoc views, refer to the JasperReports Server User Guide.
3.4.1
Right-click the data source and click Edit from the context-menu.
The Set Data Source Type and Properties page appears.
53
3.
Change the values as necessary and click Test Connection to ensure the connection is valid.
4.
A banner at the top of the page displays a message: Connection successful or Connection failed.
If the connection test fails, check the values you entered, or check that the data is available from the service
you specify, and test the connection again.
5.
3.4.2
54
3.
Right-click the folder and navigate to Add Resource > File > OLAP Schema.
The Upload a File From Your Local Computer page appears and prompts you to select a file and set its
properties.
Figure 3-20 Upload a File From Your Local Computer - OLAP Schema
4.
5.
Under Path to File, click Choose File and locate the OLAP schema you want to add.
Enter a name and description for the schema.
The Resource ID is auto-generated as you type in the Name field. You can change the ID if necessary.
6.
Next to the Save Location field, click Browse and navigate to the location in the repository where you
want the file to reside.
7.
Click Submit.
The new file appears in the repository.
55
Figure 3-21 Upload a File From Your Local Computer - OLAP Schema
3.4.3
3.
To upload a new file, next to the Path to File field, click Browse and navigate to and select the file you
want to upload.
4.
5.
Under the Save Location field, click Browse and navigate to the location where you want to store the
file, and click Select.
6.
Click Submit.
The edited schema appears in the repository.
A Mondrian connection describes how to present your transactional data as a multidimensional cube for
analysis.
56
In the Folders panel, navigate to Organization > Organization > Analysis Components > Analysis
Connections.
3.
Right-click the folder and select Add Resource > OLAP Client Connection.
The Set Connection Type and Properties page appears and prompts you to define a connection.
57
Enter a name and description for the new connection. The Resource ID field is auto-generated when you
type in the Name field. After it is saved, it cant be changed.
5.
To change the location of the connection, click Browse, navigate to a folder, and click Select.
6.
Click Next.
The Locate OLAP Schema page appears and prompts you to upload an OLAP schema or select one from the
repository.
8.
58
Click either:
Click Next.
The OLAP Schema Resource page appears.
Click Next.
The Locate Data Source page appears and prompts you to create or select a data source.
59
60
Do not link an Access Grant if you dont need to apply data security.
Then skip to step step16.
61
2.
Right-click the Mondrian connection you want to edit and click Edit.
The Set Connection Type and Properties page appears with the fields populated.
6.
62
Click Upload a Local File and click Browse to upload a new schema from your local computer.
Click Select a resource from the Repository, click Browse, and navigate the repository to the
schema you want to use. Then click Select.
Click Next.
The OLAP Schema Resource page appears.
If you chose to upload a new file, enter a name and description for it.
If you accepted the existing file or selected one from the repository, the fields arent editable.
8.
Click Next.
The Locate Data Source page appears.
63
64
65
3.4.4
Configure Internet Information Services (IIS) to provide connectivity to Microsoft SQL Server Analytic
Services.
Deploy and configure msmdpump.dll, which is an IIS extension that provides data connectivity via HTTP.
Configure security in Microsoft SQL Server Analytic Services according to your needs.
Test Microsoft SQL Server Analytic Services using an XML/A client tool, such as waRehouse EXplorer
(REX; http://sourceforge.net/projects/whex), which is an open source Java client for browsing
multidimensional data sources. Testing with a third-party tool can help you troubleshoot your Microsoft
SQL Server Analytic Services configuration.
For more information about Microsoft SQL Server Analytic Services, refer to the associated documentation.
66
In the Folders panel, navigate to Organization > Organization > Analysis Components > Analysis
Connections.
3.
Right-click the folder and select Add Resource > OLAP Client Connection.
The Set Connection Type and Properties page appears and prompts you to define a connection.
4.
5.
Enter general details, such as the name, label, and description of the connection.
6.
Enter the details, such as the catalog, data source, and URI, that define the XML/A source you want to
connect to:
a.
Catalog: the name of the schema that defines the data cube.
b.
Data Source:
If you are connecting to JasperReports Server, enter full connection string. For example:
Provider=Mondrian;DataSource=JRS
Note that, in previous releases, the DataSource portion of the connection string was the catalog
name; in the current release, it is always JRS.
If you are connecting to Microsoft SQL Server Analytic Services and the connection will be used
by OLAP views and reports created in iReport or Jaspersoft Studio, enter the full connection string.
For example: Provider=MSOLAP.4;Data Source=172.16.254.1;Catalog=AdventureWorks
If you are connecting to Microsoft SQL Server Analytic Services and the connection will be used
by Ad Hoc views and their reports, use the Microsoft SQL Servers instance name. For example:
Win-MyHost
When connecting to Microsoft SQL Server Analytic Service, the form of the data source depends on
the way you plan to use this XML/A connection:
c.
7.
If you plan to use the XML/A connection to create Ad Hoc views, use the Microsoft SQL Servers
instance name. This is typically the name of the computer hosting Microsoft SQL Server. For
example, if your Microsoft SQL Server instance is installed on Win-MyHost, the data source is:
Win-MyHost.
If you plan to use the XML/A connection to create OLAP views, use the full connect string. For
example, if your Microsoft SQL Server instance is installed on a computer with the IP address
172.16.254.1, and your catalog is named AdvnetureWorks, the data source is:
Provider=MSOLAP.4;Data Source=172.16.254.1;Catalog=AdventureWorks
URI (Uniform Resource Identifier): the identifier of the XML/A provider; typically a computer name or
URL.
Enter credentials (the user name and password) that Jaspersoft OLAP can pass to the remote XML/A
provider to log in. If this users password changes, the connection fails. You can leave the User Name and
67
Password fields blank, so the logged in users credentials are passed to the remote server when the
connection is accessed.
If the name of the user includes a backslash (\), you must escape the character by placing a backslash in
front of it. For example, consider the case when the user name includes a domain, such as
domain\username; this is represented in the User Name field as domain\\username.
The credentials you define for an XML/A connection are transmitted to the XML/A provider as clear-text.
Because of the security risk inherent in this approach, Jaspersoft recommends that you always specify a
user name and password when defining an XML/A connection in order to prevent your users passwords
from being transmitted. This user should have restricted rights in the remote XML/A provider. For more
information, see section XML/A Security on page72.
Your XML/A provider may be another JasperReports Server instance where local Mondrian connections
have been defined. For more information, refer to section Working with XML/A Sources on page71.
68
9.
catalog name and test the connection again. If a data source with the specified name isn't found, the
message may indicate that no data source was found; examine your remote server's data sources, update
the connection's details, and click Test Connection again.
Click the Show Details link to learn more about the problem.
Right-click the XML/A connection you want to change and click Edit.
The Set Connection Type and Properties page appears.
69
4.
5.
6.
3.4.5
70
requests are always fulfilled, but the approach necessarily exposes the data to a wider group of users than
keeping the XML/A source in a more tightly-secured location.
When acting as an XML/A server, a server instance that hosts multiple organizations expects the users
organization ID to be passed in with the credentials. Since superuser is not associated with any
organization, you cant pass the organization ID with the credentials. Because of this limitation,
Jaspersoft strongly recommends that you specify a user associated with an organization (and pass the
organization ID along with the user name) when connecting via XML/A. For more information, see
Creating an XML/A Connection on page67 and XML/A Security on page72.
3.4.6
71
72
In the Folder panel, navigate to Organization > Analysis Components > xml/a.
3.
Right-click the folder and select Add Resource > Mondrian XML/A Source from the context-menu.
The Set Mondrian XML/A Source Properties page appears and prompts you to enter basic information.
Name
SugarCrmMondrianXmlaSource
Resource ID
Description
Catalog
The path and name of the connection this XML/A source references. If the
XML/A provider is JasperReports Server, its value is the connections URI.
5.
73
Click each active field you want to change and enter the new data.
4.
Click Submit.
3.4.7
An access grant definition is an XML structure that specifies a users access rights to different parts of the data
defined by an OLAP schema. The access grant definition specifies access rights based on roles. Users with a
given role have the access rights granted to that role. An access grant definition can also refer to attributes that
control access through properties defined for specific users, organizations, and server instances. This allows you
to use variable substitution to create simple, flexible access grants.
This section includes:
74
The following table describes the attributes of the grant elements and lists possible attribute values:
Grant Element
Attribute
Attribute Description
Values
SchemaGrant
access
all
none
CubeGrant
access
all
none
75
Grant Element
Attribute
Attribute Description
Values
HierarchyGrant
access
all
none
custom
(varies)
member
(varies)
access
topLevel
bottomLevel
MemberGrant
all
none
The topLevel and bottomLevel attributes use a dot notation to specify a level in the hierarchy. In the example
in Sample Access Grant Definition on page77, the topLevel attribute for the Store hierarchy has the value
[Store].[Store.Country]. The [Store] designates the Store hierarchy. The [Store.Country] designates the Country
level of the Store hierarchy.
You can use substitution variables in the grant expressions that specify the values of the topLevel,
bottomLevel, and member attributes. The example in Sample Access Grant Definition on page77 includes
variable substitution.
Jaspersoft OLAP applies grants in the order that you define them. For example, if you grant access to USA and
then deny access to Oregon, an affected user cannot see Oregon or any of its children (for example, Portland).
But if you deny access to Oregon and then grant access to USA, the user can see Oregon and all of its children.
Granting access to a member also grants access to the levels above it, except that the grant cannot override the
HierarchyGrants topLevel attribute. For example, if you deny access to USA and then grant access to
California, an affected user can see California and USA, but no other states. If the data includes USA totals, they
will be based on data from all states.
You can test access grant definitions by creating users with various roles and logging in as them. For more
information on roles, users, and the Log in As feature, refer to the JasperReports Server Administrator Guide
76
and the JasperReports Server Security Guide. The Jaspersoft OLAP Ultimate Guide also includes a detailed
implementation example.
Names of roles, users, hierarchical levels, and attributes are all case-sensitive in access grant definitions.
This example describes only how user-level attributes can be used in an access grant the way that
functionality existed in releases before 6.0. This approach still works. In 6.0, we added support for
hierarchical attributes, which can be assigned at the server and organization in addition to the user level.
These new hierarchical attributes can also be used to secure the data displayed in your OLAP views. The
XML for using these attributes in an access grant file follows the same pattern as applies to user-level
attributes.
For more information about attributes, see the JasperReports Server Administrator Guide and the
JasperReports Server Security Guide.
This schema defines access permissions for a role called StateManager. In this example, the SchemaGrant
element defines none as the default access for all objects in the schema. Users with the StateManager role
cannot access anything, unless a lower level grant overrides the default.
The cube attribute has the value Sales, so the definition is for the Sales cube. The access attribute has the value
all. This gives users with this role access to the entire Sales cube. Again, lower level grants can override this
one.
77
HierarchyGrant elements define access to the Store, Customers, and Gender hierarchies. Users with this role
cannot see any of the gender hierarchy. The other two HierarchyGrant elements define custom access to the
Store and Customers hierarchies.
The member grants in this example use substitution variables like %{State} to represent substitutions from the
list of attributes. These particularize the grant to the specific user associated with the StateManager role. For
example, suppose user John has StateManager as one of his roles. Also suppose that John's user account defines
an attribute called State, which is set to CA,OR,WA. If you create a view for John, the line:
<MemberGrant member="[Customers].[USA].[%{State}]"
access="all"/>
In the Folders panel, navigate to Organization > Organization > Analysis Components > Analysis
Schemas.
3.
Right-click the folder and select Add Resource > File > Access Grant Schema.
The Upload a File From Your Local Computer page appears and prompts you to select a file and set its
properties.
Figure 3-43 Upload a File From Your Local Computer - Access Grant Schema
4.
5.
78
Under Path to File, click Choose File and locate the access grant schema you want to add.
Enter a name and description for the schema.
The Resource ID is auto-generated as you type in the Name field. You can change the ID if necessary.
6.
To select a different folder to hold the schema, click Browse next to the Save Location field and navigate
to the location in the repository where you want the file to reside.
7.
Click Submit.
On the Manage > Users page, edit a user and click Attributes to define attributes that control the data
displayed to that user.
On the Manage > Organizations page, edit an organization and click Attributes to define attributes that
control the data displayed to users who belong to that organization.
On the Manage > Server Settings page, click Server Attributes to define attributes that control the data
returned by this server instance.
For more information on attributes, refer to the JasperReports Server Administrator Guide and the JasperReports
Server Security Guide. For a detailed example of data-level security, including a complete example of cube
security based on attributes and roles, refer to the Jaspersoft OLAP Ultimate Guide.
3.4.7.5 Best Practices for Designing Access Control
Best practices for designing access control will emerge as you gain experience with this feature. Here are some
suggestions to get you started:
3.5
Review the detailed implementation example found in the Jaspersoft OLAP Ultimate Guide to understand
the entire implementation process.
Start with a clear description of the requirements before writing XML.
Determine the different roles played by users of your application, and assign specific roles to each user.
Create a hierarchy in each cube that corresponds in a one-to-one way with the different levels of access.
That is, make a hierarchical level that corresponds to a user role. Defining the access control requirements
before building the schema is much easier than adding access control after designing the schema.
Build your access control definition iteratively. Start with the smallest definition that you can test. When it
works properly, add and test additional increments until you have a complete definition.
Use an XML editor to help you format access grants properly.
Performance Tuning
For a simple application with a relatively small dataset for which performance is not critical, (for example, a
small intranet application or developer environment), the simplest server configuration is to run a single
application server that connects to a local database, which contains both the data being analyzed (that is, the
operational data store) and the JasperReports Server repository database. However, this configuration doesnt
perform under a large load. This section describes steps you can take to improve performance for larger
implementations and data sets.
For larger analysis applications, the ROLAP database is often a performance bottleneck. In this case, dedicate a
computer to host the ROLAP database, and configure JasperReports Server to access it. The database and its
79
host should be optimized for disk read and write. This separation of the application from the data is sufficient
for many implementations.
To improve performance further, separate the Jaspersoft OLAP user interface from other elements. Inside
Jaspersoft OLAP, the application that visualizes your results and provides navigation (JPivot) competes for
resources with the analysis engine (Mondrian). To separate these processing resources, run two different
instances of Jaspersoft OLAP: one that handles JPivots tasks, and another that handles Mondrians. The former
instance is called the XML/A client; the latter is called the XML/A provider (or XML/A server). In the XML/A
provider, define Mondrian connections that point to your operational data store. Then define XML/A
connections in the XML/A client that point to Mondrian connections in the XML/A provider.
In this configuration, your users connect to the XML/A client, which sends XML/A requests to the XML/A
provider, which in turn connects to the database (using a Mondrian connection) to retrieve the results; it returns
the results to the XML/A client. The XML/A client then provides visualization and navigation for your end
users.
In this configuration, Mondrian and JPivot dont compete for resources, and performance in large
implementations is improved. For more information, see Working with XML/A Connections on page66 and
Working with XML/A Sources on page71. More detailed information about performance tuning, including
load-balancing multiple Jaspersoft OLAP instances in a single deployment, is also found in the Jaspersoft OLAP
Ultimate Guide.
When connecting to a remote server using XML/A, the performance may be impaired the first time the
data is loaded into the cache. The cache is loaded the first time data is requested from the remote server,
and is subsequently refreshed based on your configuration. For details, refer to Configuring the XML/A
Cache on page51.
3.6
3.6.1
Logging
Performance
Drill-through Behavior for Dimensions with Parent-child Hierarchies
XML/A-based Sample Views and Reports Fail
404 Error When WebLogic Hosts Jaspersoft OLAP
Logging
OLAP logging in JasperReports Server falls into two categories:
80
This section describes configuration of the first two logging categories; for information about logging for Ad
Hoc views and reports, refer to the JasperReports Server Administrator Guide.
3.6.1.1 General Logging of MDX and SQL by log4j
Jaspersoft OLAPs fundamental logging is controlled through log4j settings. log4js statement logging occurs in
the mondrian.mdx and mondrian.sql log4j categories. These categories log the statements and how long they
ran. The SQL log also records the number of results returned in the result set.
To log your MDX and SQL queries, edit the /WEB-INF/log4j.properties file and uncomment these lines:
#log4j.logger.mondrian.mdx=debug, jasperanalysis
#log4j.logger.mondrian.sql=debug, jasperanalysis
To log all possible Mondrian debugging information, add this line to the log4j.properties file:
log4j.logger.mondrian=debug
Adding this property also ensures that Jaspersoft OLAP logs all SQL and MDX queries.
To log the SQL generated when users drill-through to the underlying transactional data, add this line to the
log4j.properties file:
log4j.logger.jasperanalysis.drillthroughSQL=DEBUG,jasperanalysis
You can also use JasperReports Servers audit Domains and reports to log user activity. For more
information, refer to the JasperReports Server Administrator Guide.
Select Manage > Server Settings and choose Log Settings in the left-hand panel.
Scroll to the bottom of the page.
4.
Enter the loggers classname in the text field. See the other properties on the page for guidance, for
example:
com.jaspersoft.ji.ja.security.service.MTXmlaServletImpl
5.
The logger setting is persistent even when the server is restarted. However, the logger setting may not appear on
the Log Settings page again. For information about adding loggers to this page permanently,
81
3.6.2
Performance
Jaspersoft offers a number of tools to help you improve the performance of views and reports based on OLAP
data:
3.6.3
Many of the options on the OLAP Settings page can improve performance. See Changing OLAP
Settings on page40.
Caching can significantly improve performance, especially when you can configure it to handle your
particular data load gracefully. Caching is discussed in:
Changing OLAP Settings on page40
Flushing the OLAP Cache on page49
Configuring the XML/A Cache on page51.
To help you understand bottlenecks and other performance problems, Jaspersoft offers a number of OLAP
views and report that capture information about how the OLAP engine is performing against your views
and reports. See Performance Tuning on page79 and the Jaspersoft OLAP Ultimate Guide.
In the Ad Hoc Editor, drill-through is prevented. When a crosstab includes a dimension with parent-child
hierarchy, and a user clicks the drill-through link, the server returns a message indicating that drill-through
is disabled.
In Jaspersoft OLAP, drill-through returns measures for the current member, but not for members below it in
the parent-child hierarchy. Since the data that is returned is partial, it isnt reliable.
Because of this issue, Jaspersoft recommends that you avoid using parent-child hierarchies in your dimensions. If
you must use parent-child hierarchies, Jaspersoft recommends that you access such dimensions only through Ad
Hoc views.
For more information about Ad Hoc views, refer to the JasperReports Server User Guide. For more information
about the underlying issue, see Mondrians issue tracker at http://jira.pentaho.com/browse/MONDRIAN-388.
3.6.4
82
3.6.5
If Jaspersoft OLAP is hosted by WebLogic, you may encounter 404 errors when changing the data cube in your
OLAP views. To fix the issue, you must update your WebLogic configuration and delete files from your file
system. For more information, refer to the JasperReports Server Installation Guide.
83
84
GLOSSARY
Ad Hoc Editor
The interactive data explorer in JasperReports Server Professional and Enterprise editions. Starting from a
predefined collection of fields, the Ad Hoc Editor lets you drag and drop fields, dimensions, and measures to
explore data and create tables, charts, and crosstabs. These Ad Hoc views can be saved as reports.
Ad Hoc Report
In previous versions of JasperReports Server, a report created through the Ad Hoc Editor. Such reports could be
added to dashboards and be scheduled, but when edited in iReport, lost their grouping and sorting. In the
current version, the Ad Hoc Editor is used to explore views which in turn can be saved as reports. Such reports
can be edited in iReport and Jaspersoft Studio without loss, and can be scheduled and added to dashboards.
Ad Hoc View
A view of data that is based on a Domain, Topic, or OLAP client connection. An Ad Hoc view can be a table,
chart, or crosstab and is the entry point to analysis operations such as slice and dice, drill down, and drill
through. Compare OLAP View. You can save an Ad Hoc view as a report in order to edit it in the interactive
viewer, schedule it, or add it to a dashboard.
Aggregate Function
An aggregate function is one that is computed using a group of values; for example, Sum or Average. Aggregate
functions can be used to create calculated fields in Ad Hoc views. Calculated fields containing aggregate
functions cannot be used as fields or added to groups in an Ad Hoc view and should not be used as filters.
Aggregate functions allow you to set a level, which specifies the scope of the calculation; level values include
Current (not available for PercentOf), ColumnGroup, ColumnTotal, RowGroup, RowTotal, Total
Analysis View
See OLAP View.
Audit Archiving
To prevent audit logs from growing too large to be easily accessed, the installer configures JasperReports Server
to move current audit logs to an archive after a certain number of days, and to delete logs in the archive after a
certain age. The archive is another table in the JasperReports Servers repository database.
Audit Domains
A Domain that accesses audit data in the repository and lets administrators create Ad Hoc reports of server
activity. There is one Domain for current audit logs and one for archived logs.
85
Audit Logging
When auditing is enabled, audit logging is the active recording of who used JasperReports Server to do what
when. The system installer can configure what activities to log, the amount of detail gathered, and when to
archive the data. Audit logs are stored in the same private database that JasperReports Server uses to store the
repository, but the data is only accessible through the audit Domains.
Auditing
A feature of JasperReports Server Enterprise edition that records all server activity and allows administrators to
view the data.
Calculated Field
In an Ad Hoc view or a Domain, a field whose value is calculated from a user-defined formula that may include
any number of fields, operators, and constants. For Domains, a calculated field becomes one of the items to
which the Domains security file and locale bundles can apply. There are more functions available for Ad Hoc
view calculations than for Domains.
CRM
Customer Relationship Management. The practice of managing every facet of a companys interactions with its
clientele. CRM applications help businesses track and support their customers.
CrossJoin
An MDX function that combines two or more dimensions into a single axis (column or row).
Cube
The basis of most OLAP applications, a cube is a data structure that contains three or more dimensions that
categorize the cubes quantitative data. When you navigate the data displayed in an OLAP view, you are
exploring a cube.
Custom Field
In the Ad Hoc Editor, a field that is created through menu items as a simple function of one or two available
fields, including other custom fields. When a custom field becomes too complex or needs to be used in many
reports, it is best to define it as a calculated field in a Domain.
Dashboard
A collection of reports, input controls, graphics, labels, and web content displayed in a single, integrated view.
Dashboards often present a high level view of your data, but input controls can parametrize the data to display.
For example, you can narrow down the data to a specific date range. Embedded web content, such as other webbased applications or maps, make dashboards more interactive and functional.
Data Island
A single join tree or a table without joins in a Domain. A Domain may contain several data islands, but when
creating an Ad Hoc view from a Domain, you can only select one of them to be available in the view.
Data Policy
In JasperReports Server, a setting that determines how the server processes and caches data used by Ad Hoc
reports. Select your data policies by clicking Manage > Ad Hoc Settings.
Data Source
Defines the connection properties that JasperReports Server needs to access data. The server transmits queries to
data sources and obtains datasets in return for use in filling reports and previewing Ad Hoc reports.
JasperReports Server supports JDBC, JNDI, and Bean data sources; custom data sources can be defined as well.
86
Glossary
Dataset
A collection of data arranged in columns and rows. Datasets are equivalent to relational results sets and the
JRDataSource type in the JasperReports Library.
Datatype
In JasperReports Server, a datatype is used to characterize a value entered through an input control. A datatype
must be of type text, number, date, or date-time. It can include constraints on the value of the input, for example
maximum and minimum values. As such, a datatype in JasperReports Server is more structured than a datatype
in most programming languages.
Denormalize
A process for creating table joins that speeds up data retrieval at the cost of having duplicate row values
between some columns.
Derived Table
In a Domain, a derived table is defined by an additional query whose result becomes another set of items
available in the Domain. For example, with a JDBC data source, you can write an SQL query that includes
complex functions for selecting data. You can use the items in a derived table for other operations on the
Domain, such as joining tables, defining a calculated field, or filtering. The items in a derived table can also be
referenced in the Domains security file and locale bundles.
Dice
An OLAP operation to select columns.
Dimension
A categorization of the data in a cube. For example, a cube that stores data about sales figures might include
dimensions such as time, product, region, and customers industry.
Domain
A virtual view of a data source that presents the data in business terms, allows for localization, and provides
data-level security. A Domain is not a view of the database in relational terms, but it implements the same
functionality within JasperReports Server. The design of a Domain specifies tables in the database, join clauses,
calculated fields, display names, and default properties, all of which define items and sets of items for creating
Ad Hoc reports.
Domain Topic
A Topic that is created from a Domain by the Data Chooser. A Domain Topic is based on the data source and
items in a Domain, but it allows further filtering, user input, and selection of items. Unlike a JRXML-based
Topic, a Domain Topic can be edited in JasperReports Server by users with the appropriate permissions.
Drill
To click on an element of an OLAP view to change the data that is displayed:
Drill down. An OLAP operation that exposes more detailed information down the hierarchy levels by
delving deeper into the hierarchy and updating the contents of the navigation table.
Drill through. An OLAP operation that displays detailed transactional data for a given aggregate measure.
Click a fact to open a new table beneath the main navigation table; the new table displays the low-level
data that constitutes the data that was clicked.
Drill up. An OLAP operation for returning the parent hierarchy level to view to summary information.
87
Eclipse
An open source Integrated Development Environment (IDE) for Java and other programming languages, such as
C/C++.
ETL
Extract, Transform, Load. A process that retrieves data from transactional systems, and filters and aggregates the
data to create a multidimensional database. Generally, ETL prepares the database that your reports will access.
The Jaspersoft ETL product lets you define and schedule ETL processes.
Fact
The specific value or aggregate value of a measure for a particular member of a dimension. Facts are typically
numeric.
Field
A field is equivalent to a column in the relational database model. Fields originate in the structure of the data
source, but you may define calculated fields in a Domain or custom fields in the Ad Hoc Editor. Any type of
field, along with its display name and default formatting properties, is called an item and may be used in the Ad
Hoc Editor.
Frame
A dashboard element that displays reports or custom URLs. Frames can be mapped to input controls if their
content can accept parameters.
Group
In a report, a group is a set of data rows that have an identical value in a designated field.
In a table, the value appears in a header and footer around the rows of the group, while the other fields
appear as columns.
In a chart, the field chosen to define the group becomes the independent variable on the X axis, while the
other fields of each group are used to compute the dependent value on the Y axis.
Hierarchy Level
In an OLAP cube, a member of a dimension containing a group of members.
Input Control
A button, check box, drop-down list, text field, or calendar icon that allows users to enter a value when running
a report or viewing a dashboard that accepts input parameters. For JRXML reports, input controls and their
associated datatypes must be defined as repository objects and explicitly associated with the report. For
Domain-based reports that prompt for filter values, the input controls are defined internally. When either type of
report is used in a dashboard, its input controls are available to be added as special content.
iReport Designer
An open source tool for graphically designing reports that leverage all features of the JasperReports Library. The
Jaspersoft iReport Designer lets you drag and drop fields, charts, and sub-reports onto a canvas, and also define
parameters or expressions for each object to create pixel-perfect reports. You can generate the JRXML of the
report directly in iReport, or upload it to JasperReports Server. iReport is implemented in NetBeans.
Item
When designing a Domain or creating a Topic based on a Domain, an item is the representation of a database
field or a calculated field along with its display name and formatting properties defined in the Domain. Items
can be grouped in sets and are available for use in the creation of Ad Hoc reports.
88
Glossary
JasperReport
A combination of a report template and data that produces a complex document for viewing, printing, or
archiving information. In the server, a JasperReport references other resources in the repository:
The collection of all the resources that are referenced in a JasperReport is sometimes called a report unit. End
users usually see and interact with a JasperReport as a single resource in the repository, but report creators must
define all of the components in the report unit.
Level
Specifies the scope of an aggregate function in an Ad Hoc view. Level values include Current (not available for
PercentOf), ColumnGroup, ColumnTotal, RowGroup, RowTotal, Total.
JasperReports Library
An embeddable, open source, Java API for generating a report, filling it with current data, drawing charts and
tables, and exporting to any standard format (HTML, PDF, Excel, CSV, and others). JasperReports processes
reports defined in JRXML, an open XML format that allows the report to contain expressions and logic to
control report output based on run-time data.
JasperReports Server
A commercial open source, server-based application that calls the JasperReports Library to generate and share
reports securely. JasperReports Server authenticates users and lets them upload, run, view, schedule, and send
reports from a web browser. Commercial versions provide metadata layers, interactive report and dashboard
creation, and enterprise features such as organizations and auditing.
Jaspersoft ETL
A graphical tool for designing and implementing your data extraction, transforming, and loading (ETL) tasks. It
provides hundreds of data source connectors to extract data from many relational and non-relational systems.
Then, it schedules and performs data aggregation and integration into data marts or data warehouses that you
use for reporting.
Jaspersoft OLAP
A relational OLAP server integrated into JasperReports Server that performs data analysis with MDX queries.
The product includes query builders and visualization clients that help users explore and make sense of
multidimensional data. Jaspersoft OLAP also supports XML/A connections to remote servers.
Jaspersoft Studio
An open source tool for graphically designing reports that leverage all features of the JasperReports Library.
Jaspersoft Studio lets you drag and drop fields, charts, and sub-reports onto a canvas, and also define parameters
or expressions for each object to create pixel-perfect reports. You can generate the JRXML of the report directly
in Jaspersoft Studio, or upload it to JasperReports Server. Jaspersoft Studio is implemented in Eclipse.
JavaBean
A reusable Java component that can be dropped into an application container to provide standard functionality.
JDBC
Java Database Connectivity. A standard interface that Java applications use to access databases.
89
JNDI
Java Naming and Directory Interface. A standard interface that Java applications use to access naming and
directory services.
Join Tree
In Domains, a collection of joined tables from the actual data source. A join is the relational operation that
associates the rows of one table with the rows of another table based on a common value in given field of each
table. Only the fields in a same join tree or calculated from the fields in a same join tree may appear together in
a report.
JPivot
An open source graphical user interface for OLAP operations. For more information, visit
http://jpivot.sourceforge.net/.
JRXML
An XML file format for saving and sharing reports created for the JasperReports Library and the applications
that use it, such as iReport Designer and JasperReports Server. JRXML is an open format that uses the XML
standard to define precisely all the structure and configuration of a report.
MDX
Multidimensional Expression Language. A language for querying multidimensional objects, such as OLAP (On
Line Analytical Processing) cubes, and returning cube data for analytical processing. An MDX query is the
query that determines the data displayed in an OLAP view.
Measure
Depending on the context:
In a report, a formula that calculates the values displayed in a tables columns, a crosstabs data values, or a
charts dependent variable (such as the slices in a pie).
In an OLAP view, a formula that calculates the facts that constitute the quantitative data in a cube.
Mondrian
A Java-based, open source multidimensional database application.
Mondrian Connection
An OLAP client connection that consists of an OLAP schema and a data source. OLAP client connections
populate OLAP views.
Mondrian Schema Editor
An open source Eclipse plug-in for creating Mondrian OLAP schemas.
Mondrian XML/A Source
A server-side XML/A source definition of a remote client-side XML/A connection used to populate an OLAP
view using the XML/A standard.
MySQL
An open source relational database management system. For information, visit http://www.mysql.com/.
Navigation Table
The main table in an OLAP view that displays measures and dimensions as columns and rows.
90
Glossary
ODBO Connect
Jaspersoft ODBO Connect enables Microsoft Excel 2003 and 2007 Pivot Tables to work with Jaspersoft OLAP
and other OLAP servers that support the XML/A protocol. After setting up the Jaspersoft ODBO data source,
business analysts can use Excel Pivot Tables as a front-end for OLAP analysis.
OLAP
On Line Analytical Processing. Provides multidimensional views of data that help users analyze current and past
performance and model future scenarios.
OLAP Client Connection
A definition for retrieving data to populate an OLAP view. An OLAP client connection is either a direct Java
connection (Mondrian connection) or an XML-based API connection (XML/A connection).
OLAP Schema
A metadata definition of a multidimensional database. In Jaspersoft OLAP, schemas are stored in the repository
as XML file resources.
OLAP View
Also called an analysis view. A view of multidimensional data that is based on an OLAP client connection and
an MDX query. Unlike Ad Hoc views, you can directly edit an OLAP views MDX query to change the data
and the way they are displayed. An OLAP view is the entry point for advanced analysis users who want to
write their own queries. Compare Ad Hoc View.
Organization
A set of users that share folders and resources in the repository. An organization has its own user accounts, roles,
and root folder in the repository to securely isolate it from other organizations that may be hosted on the same
instance of JasperReports Server.
Organization Admin
Also called the organization administrator. A user in an organization with the privileges to manage the
organizations user accounts and roles, repository permissions, and repository content. An organization admin
can also create suborganizations and mange all of their accounts, roles, and repository objects. The default
organization admin in each organization is the jasperadmin account.
Outlier
A fact that seems incongruous when compared to other members facts. For example, a very low sales figure or a
very high number of helpdesk tickets. Such outliers may indicate a problem (or an important achievement) in
your business. The analysis features of Jaspersoft OLAP excel at revealing outliers.
Parameter
Named values that are passed to the engine at report-filling time to control the data returned or the appearance
and formatting of the report. A report parameter is defined by its name and type. In JasperReports Server,
parameters can be mapped to input controls that users can interact with.
Pivot
To rotate a crosstab such that its row groups become column groups and its column groups become rows. In the
Ad Hoc Editor, pivot a crosstab by clicking
91
Pivot Table
A table with two physical dimensions (for example, X and Y axis) for organizing information containing more
than two logical dimensions (for example, PRODUCT, CUSTOMER, TIME, and LOCATION), such that each
physical dimension is capable of representing one or more logical dimensions, where the values described by
the dimensions are aggregated using a function such as SUM. Pivot tables are used in Jaspersoft OLAP.
Properties
Settings associated with an object. The settings determine certain features of the object, such as its color and
label. Properties are normally editable. In Java, properties can be set in files listing objects and their settings.
Report
In casual usage, report may refer to:
Report Run
An execution of a report, Ad Hoc view, or dashboard, or a view or dashboard designer session, it measures and
limits usage of Freemium instances of JasperReports Server. The executions apply to resources no matter how
they are run (either in the web interface or through the various APIs, such as REST web services). Users of our
Community Project and our full-use commercial licenses are not affected by the limit. For more information,
please contact [email protected].
Repository
The tree structure of folders that contain all saved reports, dashboards, OLAP views, and resources. Users access
the repository through the JasperReports Server web interface or through iReport. Applications can access the
repository through the web service API. Administrators use the import and export utilities to back up the
repository contents.
Resource
In JasperReports Server, anything residing in the repository, such as an image, file, font, data source, Topic,
Domain, report element, saved report, report output, dashboard, or OLAP view. Resources also include the
folders in the repository. Administrators set user and role-based access permissions on repository resources to
establish a security policy.
Role
A security feature of JasperReports Server. Administrators create named roles, assign them to user accounts, and
then set access permissions to repository objects based on those roles. Certain roles also determine what
functionality and menu options are displayed to users in the JasperReports Server interface.
Schema
A logical model that determines how data is stored. For example, the schema in a relational database is a
description of the relationships between tables, views, and indexes. In Jaspersoft OLAP, an OLAP schema is the
logical model of the data that appears in an OLAP view; they are uploaded to the repository as resources. For
Domains, schemas are represented in XML design files.
92
Glossary
Schema Workbench
A graphical tool for easily designing OLAP schemas, data security schemas, and MDX queries. The resulting
cube and query definitions can then be used in Jaspersoft OLAP to perform simple but powerful analysis of
large quantities of multi-dimensional data stored in standard RDBMS systems.
Set
In Domains and Domain Topics, a named collection of items grouped together for ease of use in the Ad Hoc
Editor. A set can be based on the fields in a table or entirely defined by the Domain creator, but all items in a
set must originate in the same join tree. The order of items in a set is preserved.
Slice
An OLAP operation for filtering data rows.
SQL
Structured Query Language. A standard language used to access and manipulate data and schemas in a
relational database.
System Admin
Also called the system administrator. A user who has unlimited access to manage all organizations, users, roles,
repository permissions, and repository objects across the entire JasperReports Server instance. The system admin
can create root-level organizations and manage all server settings. The default system admin is the superuser
account.
Topic
A JRXML file created externally and uploaded to JasperReports Server as a basis for Ad Hoc reports. Topics are
created by business analysts to specify a data source and a list of fields with which business users can create
reports in the Ad Hoc Editor. Topics are stored in the Ad Hoc Components folder of the repository and
displayed when a user launches the Ad Hoc Editor.
Transactional Data
Data that describe measurable aspects of an event, such as a retail transaction, relevant to your business.
Transactional data are often stored in relational databases, with one row for each event and a table column or
field for each measure.
User
Depending on the context:
A person who interacts with JasperReports Server through the web interface. There are generally three
categories of users: administrators who install and configure JasperReports Server, database experts or
business analysts who create data sources and Domains, and business users who create and view reports and
dashboards.
A user account that has an ID and password to enforce authentication. Both people and API calls accessing
the server must provide the ID and password of a valid user account. Roles are assigned to user accounts to
determine access to objects in the repository.
View
Several meanings pertain to JasperReports Server:
93
94
INDEX
A
access control
access grant definitions 74
AGXML files 74
and OLAP schemas 75
best practices 79
elements 75
Ad Hoc views 6
administering Jaspersoft OLAP
ETL process 28
implementing 28
maintaining 28
OLAP views 29
security 72
servers 79
Adobe Acrobat 12
aggregate settings 46
attributes 79
creating
Mondrian connections 57
OLAP views 29
XML/A connections 67
XML/A sources 73
CSV format 18
CubeGrant 75
D
data sources
editing 53
types 54
displaying OLAP views. See OLAP views. 20
drill-through behavior when using parent-child
relationships 82
drill-through table options
Edit Properties 18
Output as CSV 18
Page Controls 19
bibliography 7
editing
data sources 53
Mondrian connections 61
OLAP views 38
XML/A connections 69
XML/A sources 73
Excel 12, 18
exporting OLAP views 12
C
cache. See OLAP cache. 49
connections
editing 61, 67, 69
Mondrian 29, 56, 65, 73
Mondrian and XML/A sources 72
XML/A 35, 67, 70-73
XML/A, testing 68, 70
95
GlobalPropertiesList 49
navigation options
Expand/Collapse Member 17-18
Show Source Data 17
Zoom In/Out 17
Zoom Out All 17
navigation table 16
HierarchyGrant 76
ODBO Connect 6
ODBO driver 71
OLAP-based reports 6
OLAP cache
J
Jaspersoft OLAP
administering 72, 79
logging 40
tools 6
Workbench 6
Jaspersoft OLAP prerequisites 5
JPivot 27
L
logging 40, 81
M
MDX queries
defining 35
displaying 12
editing 12
example 35, 38
logging 81
query strings 38
MemberGrant 76
memory monitoring settings 49
Microsoft SQL Server Analytic Services 28, 66-67
Mondrian
debugging information 81
XML/A sources 72-73
Mondrian connections
creating 57
creating OLAP views with 29
editing 61
understanding 72
working with 56, 65
96
flushing 49
managing 49
settings 47
OLAP defined 9
OLAP views
administering 29
and themes 27
compared to Ad Hoc views 6
connections 29, 35
creating 29, 35
displaying 20
editing 38
exporting 12
folder 19
opening 9
output 13, 18
overview 29
samples 9
saving 13, 15, 25
organizations 70
output of OLAP views 13, 18
P
parent-child relationships in hierarchies 82
PDF 12
performance 40
pivot tables 6, 71
prerequisites for Jaspersoft OLAP 5
properties, engine behavior 40
properties, OLAP
aggregate settings 46
Cache and SQL Settings 47
Index
General Behavior 42
Memory Monitoring Settings 49
XML/A settings 48
Public folder 70
Q
queries
defining 39
editing 39
language 27
limiting 42
logging 40
query strings 38
results 42
SQL 40
timing out 43
ROLAP 27
samples
Foodmart 20
OLAP views 9
saving OLAP views. See OLAP views. 25
SchemaGrant 75
schemas, for data security 75, 77
schemas, OLAP
changing file source 56
creating 55
editing 56
Locate OLAP Schema page 62
settings 40
uploading 55
security
data level 75
HTTP authentication 72
XML/A 72
SQL
logging queries 40, 81
property settings 47
superuser 70
X
XML/A
and organizations 70
and superuser 70
configuration 71
connections 35, 66, 74
creating an XML/A source 73
creating OLAP views with 35
definition 72
editing an XML/A connection 69
editing source properties 73
properties 48
security 72
settings 48
source 72
T
themes 27
97
98