Domains model and present data that report creators may not understand in raw form. Production databases typically contain data in tables optimized for storage and retrieval. A Domain is a virtual view, created and stored in Advanced Reporting without modifying the data source, that models and presents the data in a way that is more accessible to report creators and readers. Columns with data relevant to users can be joined across several tables, filtered by business need, and augmented with calculated fields.

A Domain is a metadata layer that models and presents data accessed through a data source. You can use Domains to structure the data and present it in business terms appropriate to your audience. You can also limit access to data based on the security permissions of the person running the report and provide translations for static report text. Domains in Advanced Reporting are used to create Ad Hoc views and reports.

A Domain has multiple levels that allow you to model and present data:

  • Select schemas and tables from your data source on the Data Management tab, as well as create derived tables using SQL queries. See The Data Management Tab and Derived Tables for more information.

  • Define joins between any included tables and/or derived tables on the Joins tab. See The Joins Tab for more information.

  • Set conditions on field values to limit the data accessed through the Domain on the Pre-filters tab. See The Pre-filters Tab for more information. You can also filter data using calculated fields; see Calculated Fields for more information.

  • Choose which tables and columns to expose to users on the Data Presentation tab, and optionally define or change display properties. See The Data Presentation Tab for more information.

  • Create or upload a security file that defines access permissions on the Security tab. See The Security Tab for more information.

  • Upload locale bundles for the display names on the Locales tab. See The Locales Tab for more information.

Planning a Domain

Plan Domain features before you begin the creation process:

  • Decide on the data source and define it in the server repository.

  • If you need to combine several data sources into a single data source, choose your data virtualization strategy. Either define each data source in the repository and then create a virtual data source that combines them or use Jaspersoft Advanced Data Services and define a data source based on that. See Domains and Data Virtualization for more information.

  • If you want to use attributes, make sure they are defined and that you understand how they will work. This is especially important if you are using attributes for schema names. See Using Attributes in the Domain Designer for more information.

  • Know the elements of your design: tables and columns to choose, joins to perform, pre-filters to define, and items you want to present to users.

  • Determine whether the users of the Domain need localized resources, such as translated labels and local formats such as dates.

  • Determine a security policy for the data retrieved through the Domain. Is there any data that should be restricted to only certain users or roles in your server?