CM/EBIA
Introduction to CM/EBIA
CM/EBIA is a ConSol CM add-on which allows to create reports directly in the Web Client. The created reports are shared with the regular users as dashboard widgets.
The following figure illustrates how CM/EBIA integrates with ConSol CM:
Definitions
- CM/EBIA: Name of the ConSol CM add-on which allows to create reports directly in the Web Client
- Metabase: Third-party application used in CM/EBIA
- Widget: An item displayed on the ConSol CM Web Client dashboard. Widgets can contain charts and tables backed by ConSol CM's runtime data by default. With CM/EBIA, a widget can also contain CM/EBIA questions and dashboards backed by DWH data, which allows much more powerful analytics.
Purpose and usage
The ConSol CM add-on CM/EBIA allows to create reports directly in the Web Client. CM/EBIA uses a licensed enterprise version of the third-party application Metabase, which is integrated via SSO. It can be accessed using the menu item Analytics, which is displayed for all the users with general administrator permissions or CM/EBIA administrator permissions. The link Open full application within the embedded CM/EBIA application allows to open CM/EBIA in its own tab to access the complete functionality, including administration, of CM/EBIA.
The created reports are shared with the regular users as dashboard widgets.
Usually, the data from the DWH database is used for reporting with CM/EBIA. For this purpose, a cube which contains the data in an appropriate format for reporting is created on the DWH database.
CM/EBIA needs to be licensed separately.
Available reports in CM/EBIA
CM/EBIA allows to define reports which analyze data from a database. There are four types of reports:
- Question: A question is a single chart or table which visualizes certain data.
- Dashboard: A dashboard consist of several questions. You can add headlines, text and filters to make the dashboard more appealing.
- Pulse: A pulse is a message which contains one or several questions. It is sent by email or Slack in regular intervals to the users to inform them about current metrics.
- Collection: A collection can include questions, pulses and dashboards. Access to collections can be limited by permissions, which can be set in the CM/EBIA administration.
Basic tasks
Creating reports in CM/EBIA
Please proceed as follows to create a report:
- Click Ask a question.
- Choose the mode:
- Simple question: Allows to create a question based on a single table. You can filter and group the data using the graphical user interface. Ideal for beginners.
- Custom question: Allows to create a question based on several tables. You can join the tables and then filter and group the data using the graphical user interface.
- Native query: Allows to create a question based on a SQL query. For experts only.
- Follow the instructions on the graphical user interface to create the question. You can use the following features:
- Filter: Filter by the content of certain columns to use only a subset of the table data in your report.
- Summarize: Use counts, sums, averages, etc. on certain table columns in your report.
- Visualization: Choose a type of chart for the report. CM/EBIA automatically suggests appropriate types.
- Settings: Fine-tune the chart by modifying the data, display and drill-through options.
- Upon saving the report, you can directly add it to a dashboard.
- Edit the dashboard which should be shared with the users by adding several questions, a headline and text boxes to illustrate its contents.
Once the dashboard is finished, you need to create a widget to share it with the end users.
Sharing reports as dashboard widgets
You can publish reports on the Web Client dashboard using generic widgets.
Use the methods of the class metabaseService
to reference reports in the widget visualization script:
- getDashboard(String pId, String pAttributes): Returns an
iframe
tag with the dashboard by ID - getQuestion(String pId, String pAttributes): Returns an
iframe
tag with the question by ID - getCollection(String pId, String pAttributes): Returns an
iframe
tag with the collection by ID - getMetabaseIframe(String pReturnToURI, String pAttributes): Returns an
iframe
tag with the CM/EBIA application according to certain parameters (can be used to access the full CM/EBIA application) - getMetabaseURL(String pReturnToURI): Returns the URL with the authentication token, which is used as the value of the
src
parameter in theiframe
tag
The following parameters are used in the above methods:
- pId: Dashboard, question, or collection identifier. You can see the identifier of questions and dashboards in the URL when opening the CM/EBIA application in its own tab (link Open full application on the Analytics page).
- pAttributes:
iframe
tag attributes, see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#Attributes - pReturnToURI: The part of the URL that is used for
iframe src
(e.g."/dashboard/ 5"
,"/question/7"
)
The following example shows how to use the method getDashboard()
to render a CM/EBIA dashboard in the widget.
def render(String pParams) {
return """
${metabaseService.getDashboard("3", 'height="700px"')}
""" as String
}
Advanced tasks
Fine-tuning CM/EBIA
The following settings, which can be made in the CM/EBIA administration, have been proven useful.
Section General:
- In Friendly Table and Field Names, use the setting Only replace underscores and dashes with spaces to stop CM/EBIA from trying to interpret and beautify column names.
Section Localization:
- Do not change the settings Report Timezone. Use the database default instead.
- For German environments: change the date, time, decimal number format and currency.
Section Data Model:
- Edit the display names of your cubes and most used tables and columns to provide more user-friendly labels. This affects both the labels used for the tables and table columns when creating questions and the labels displayed to the end users.
Managing permissions
There are two regular ConSol CM permissions which grant access to the CM/EBIA application:
- Administrate system (full access)
- EBIA full access
One of these two permissions is required to see the Analytics link and create questions and dashboards in CM/EBIA.
Regular users, e.g. the users who see the dashboard which contains the reports, are created automatically in CM/EBIA in the user group All users. By default, they get access to the complete database, i.e. they can execute SQL queries and drill into the data. If this is not desired, you need to change the permission settings within CM/EBIA:
- Go to the administration page and open the Permissions page.
- In Collection permissions, set the permission View collection in the All users column.
- In the Data permissions, revoke data access and SQL queries in the All users column.
The users can still see the dashboard widgets, but they cannot view the underlying data or modify the dashboard contents. This configuration is recommended in most cases. You can grant EBIA full access permissions to those user who should be allowed to create questions.
Configuring the display of CM/EBIA administration
The CM/EBIA page can be configured using the page customization. The respective section is called analyticsPage. It has three attributes:
- adminLinkVisible: Determines whether the Admin link is displayed. Default: true.
- iframeHeight: Determines the height of the iFrame with the CM/EBIA application. Default: 1000
- navigationLinksVisible: Determines whether the links Home, Create question and Open full application are displayed. Default: true