IncortaAnalyticsUserGuide 4feb18
IncortaAnalyticsUserGuide 4feb18
User Guide
Reviewed Feb 4, 2018
INCORTA ANALYTICS USER GUIDE, RELEASE 3.1
This software and related documentation are provided under a license agreement containing
restrictions on use and disclosure and are protected by intellectual property laws. Except
as expressly permitted in your license agreement or allowed by law, you may not use, copy,
reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish
or display any part, in any form, or by any means. Reverse engineering, disassembly, or
decompilation of this software, unless required by law for interoperability, is prohibited. The
information contained herein is subject to change without notice and is not warranted to be
error-free. If you find any errors, please report them to us in writing. If this software or related
documentation is delivered to the U.S. government or anyone licensing it on behalf of the U.S.
government, the following notice is applicable:
Programs, software, databases, and related documentation and technical data delivered to U.S.
government customers are "commercial computer software" or "commercial technical data"
pursuant to the applicable federal acquisition regulation and agency-specific supplemental
regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject
to the restrictions and license terms set forth in the applicable government contract, and, to the
extent applicable by the terms of the government contract, the additional rights set forth in far
52.227-19, Commercial computer software license (December 2007).
This software is developed for general use in a variety of information management applications.
It is not developed or intended for use in any inherently dangerous applications, including
applications, which may create a risk of personal injury. If you use this software in dangerous
applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy
and other measures to ensure the safe use of this software. Incorta corporation and its affiliates
disclaim any liability for any damages caused by use of this software in dangerous applications.
This software and documentation may provide access to or information on content, products
and services from third parties. Incorta corporation and its affiliates are not responsible for and
expressly disclaim all warranties of any kind with respect to third party content, products and
services. Incorta corporation and its affiliates will not be responsible for any loss, costs, or damages
incurred due to your access to or use of third party content, products or services.
Contributors: Matthew Halliday, Hichem Sellami, Mohamed Obide, Osama Elkady, Klaus Fabian,
Ahmed Eltanahy, Mohamed El Prince
Contents
Contents 3
About Incorta Analytics 6
Our Product 6
Our Philosophy 6
Organization of this Document 7
PART 1: Get Familiar with Incorta Analytics 8
What Type of User are You? 9
Consumer User 9
Analyze User 9
User Types and Permissions 10
Logging In 11
Functional Areas 13
Security 13
Data Sources & Data Files 13
Schemas 13
Content 13
Get Familiar with the Workspace 14
Elements of Your Workspace 14
Manage and Organize Your Workspace 16
Get Familiar with Dashboards 22
Insights 22
Visualizations 22
Our Product
Incorta Analytics is a seamless, end-to-end analytical warehouse solution
engineered for simple and powerful real-time analysis of massive volumes of
data. High-impact graphical representations transform raw data from arcane
and inaccessible to clear and meaningful, delivering unprecedented insight into
patterns, trends, key performance indicators and their causality. Unification of
data sources into a single and secure source of truth ensures that all users at all
levels of the organization analyze, strategize, and collaborate around the latest
and most relevant information.
The Incorta Analytics platform removes the dependency on star schemas, pre-
aggregation, complex ETL processes, and a large data team. With Incorta’s
cloud technologies and mobile-first design, even a mobile user can merge
external real-time data sets like weather data with large-volume business data,
and then make informed time-sensitive decisions based on the results.
Our Philosophy
Incorta Analytics is driven by the belief that data analytics should not be
complex or frustrating. We are passionate about delivering full analytics for
business users with elegance and efficiency. With over one hundred years
of combined experience in developing applications, analytics and reporting
solutions for enterprise software firms including Oracle, Siebel, IBM & Microsoft,
we have stepped out of the old world of data analytics into a new one we’re
building ourselves.
At Incorta, we are not just passionate about analytics -- We are passionate
about our world. We want to make a positive impact beyond the direct role
of our product in the business sector. At key milestones in the past, we have
celebrated by sharing our success through giving away gifts like meals for
hungry children in Honduras, offering our software at reduced rates for startups,
and free of charge for non-profits, in the hope that our sharing will help others
solve some of the world’s most pressing issues.
Your role in the organization and the permissions you have been given
determine what functions you can perform in the Incorta Analytics application.
This guide is written for the Analyze User and Incorta Analytics administrator.
Consumer User
A Consumer User can view Dashboards and drill down into the details of the
data to gain valuable business insights. A Consumer User can also share and
export Dashboards. This user cannot create, copy, or edit, Dashboards, Insights,
or Schemas. They have no access to the datasources or data files in Incorta
Analytics.
The user should contact their administrator to request new dashboards or
Insights, or changes the structures underlying the Insights. The administrator
cannot assign additional permissions to a user working on a Consumer User
license.
Analyze User
An Analyze User has access to the Analyzer tool to build Insights, can view and
drill down on dashboards and Insights, and may be given other permissions as
well.
The Analyzer allows the user to develop Insights based on existing schemas and
data sources by relating data elements to each other and applying appropriate
filters. This user also customizes the appearance of the Insights by positioning
them on the Dashboard and by choosing table and chart styles.
The Incorta Analytics administrator may assign additional roles or permissions
for an Analyze user.
View ✓ ✓
Share ✓ ✓
Favorite ✓ ✓
Export ✓ ✓
Create Dashboards ✓
Create Insights ✓
Edit ✓
Copy ✓
Move ✓
Delete ✓
Note:
The version number and release date are displayed at the bottom left-
hand side of the screen.
Security
In the Security area, users with the necessary permissions can define and
maintain users, groups, and roles. For more information, see the "Management
Security" section in the Incorta Analytics Security Management Guide.
Schemas
The Schemas area is used by an Analyze User to define and maintain schemas
and session variables. For more information, see Data Management.
Content
The Content page gives you access to Folders and Dashboards. The My
Content tab contains only the folders and dashboards that you own. The Shared
Content tab contains only the content that has been shared with you by another
user. Finally, the All Content tab displays the folders and dashboards that you
both own and have access to (i.e. shared with you by another user).
Add an Object
The "+" icon in the upper right-hand corner of the screen is a context-aware
button. Where available, clicking it allows you to add the object appropriate for
where you are. For example, from the "Content" page, it allows you to create a
folder , or create/import a dashboard to your Workspace. From the "Schemas"
page, it allows you to add or import schemas.
Account Access
The user account icon in the upper right-hand corner of the screen displays the
current user information and allows users to:
1. View and edit profile:
• Change your password and image.
• Set your language, location, and date and time preferences
2. Log out of the application.
You will notice a small difference in the action menus for folders and
dashboards, as dashboard actions are not quite the same as folder actions. You
can share, move, rename, or delete a folder.
6. Click Done.
Copy a Dashboard
Note: Folders cannot be copied.
1. Locate the object you want to copy.
2. Click on Copy, a window with destination folders opens.
Note:
If you do not select a parent folder, the copy will be placed in the root folder,
and the object name will be appended with “Copy.” Additional copies will be
appended with numbers (e.g. “Copy2.”), according to the number of existing
copies.
3. Click Copy.
Import a Dashboard
Incorta Analytics supports the import of data in a .xml format. In order to import
a dashboard, its schema, including tables and columns, you must match the
schema into which it is imported.
1. From your Workspace or a Folder (the destination of the imported dashboard)
click the "+" icon and choose Import Dashboard.
2. Click Select from your PC.
Download Insights
1. Open the Dashboard where the Insight is located.
2. Click on the download icon in the upper right-hand corner of the Insight..
3. Select either "Download CSV" or "Download XLSX".
Insights
In Incorta Analytics, an Insight refers to any component representing data in a
dashboard. There are four types of Insights, any or all of which can be placed on
a single dashboard: Visualizations (charts), Tables, Key Performance Indicators
(KPI)/Highlights and Gauges.
Visualizations
A Visualization presents data in an intuitive graphical form such as a pie chart,
line graph, or bar chart. Incorta creates elegant, feature-rich charts and graphs.
Tables
Incorta Analytics provides a wide and flexible selection of tables, from
simple row-column tables to pivot and summary tables that display complex
Concepts in Filtering
The following concepts and definitions will help you understand and design
Insights in Incorta Analytics. It is useful to think of filters in terms of a data table
with rows, columns, and data.
You could also use “2009” and “2010” as filter parameters. The filter would
read: “(Year = 2009, 2010)” and the table would look as shown below:
By adding filter parameters, you can drill down into the details or narrow the
scope of your data. You can apply as many filters as needed to get to the level
of detail that you want.
No matter which parameters you choose, the dimensions will remain the same.
Single vs. Multi-Select Default Runtime Filters: The Analyze User can choose
to limit a Default Runtime Filter to a single parameter at a time or to allow
multiple parameters. For a single-select filter, a new filter parameter replaces
the previous one. For a multi-select filter, more than one parameter can be
applied to the filter at the same time. A checkmark appears to the right of each
selected value. Check or uncheck values as needed and click “Filter” in the
upper right corner of the menu to apply your changes.
In the above figure, Year is a mandatory, multi-select filter while Category is an
optional, single-select filter.
User Filters
A User Filter is applied when a Consumer or Analyze User drills down in an
Insight.
In this example, the pie chart shows the percentage of revenue for the United
States, by state. Note that there is a Defining Filter applied to this Insight:
“(Region = United States)”. A Consumer User cannot alter a Defining Filter, so
even if the rest of the dashboard shows worldwide data, this Insight shows data
only for the Region specified in the Defining Filter.
2. When the "Add New Bookmark" window appears, enter a name for the new
bookmark (e.g. New Bookmark).
3. Click Add.
2. Click on Edit at the top left of the bookmark drop-down menu, a red circle
will appear next to each bookmark.
3. Click on the red circle to the left of the bookmark you want to delete. Delete
will appear to the right-hand side of the bookmark.
This chapter describes how to set up and manage the data structures that
underlie each dashboard and Insight you build, including data sources and files,
schemas, and tables. Read this before attempting to build dashboards and
Insights.
Data Sources
Data Sources are external databases or applications that you can connect to
Incorta Analytics. The data souces supported by Incorta Analytics are:
Apache Drill, Apache Hive, Box, Dropbox, Google Drive, IBM DB2, Kafka,
MySQL, Netezza, NetSuite, Oracle, PostgreSQL, RedShift, SalesForce, SAP
Hana, SAP Sybase IQ, ServiceNow, SQL Server, SQL Server (jTDS), Teradata,
Vertica, and Zuora. Custom data sources are also supported. You can upload
your custom JDBC library and provide its connection string and driver class to
connect to your data. In order to load the data to the Incorta Analytics engine,
you need to create a connection to your data source.
To view a list of defined "Data Source" connections, go to the"Data Sources"
tab in the "Data Sources & Data Files" page. You can access this page from the
menu on the left-hand side of the screen.
Note:
Ensure that file names inside the drives (Google, Box, and Dropbox) is
UNIQUE. Handling Multiple files with same name (including recovering a
deleted file on Google Drive/Box/Dropbox having the same name as an
existing file) is not handled in current version. In Google drive, It allows to
have multiple files with same name and this is not valid in incorta.
In DropBox, Trial version, it is not allowed to have multiple files with same
name. If you even deleted a file, and then uploaded another one with
same name, the Trash is emptied automatically
Known Issue:
When a file is dropped or renamed in Google drive, the effect is not
reflected immediately in Incorta.
Note:
If you are using a custom JDBC driver that was not shipped with Incorta
Analytics, place your driver in $INCORTA_HOME/server/lib/.
Data Files
Data Files is the place where you can upload data files directly from your
computer.
The "Schema" column contains the name of each schema. Click directly on a
schema name in this column to view or modify its definition, including tables,
columns, filters, and joins. For more information on defining a schema structure,
see Create a New Schema.
The "Status" column indicates whether the schema’s data is loaded and current.
If an exclamation mark appears in this column, it means that the schema’s data
needs to be loaded. For more information, see Load Data.
The "Permission" column lists the permission granted for the logged-in user for
each schema.
The "Owner" column contains the name of the owner for each of the listed
schemas.
"Last Load Status" displays the timestamp from the most recent data load, or a
message indicating that the data needs to be loaded. To view a schema loading
activities and type (full/incremental), hover over that schema and click Details.
For more information, see Load Data.
2. Click on the schema that contains the table to be loaded incrementally, to get
to the schema definition page.
3. Click on the down arrow corresponding to the table of interest on the right-
hand sid.
5. Click on the datasource where the data is located. The "Data Source" window
appears.
9. Click Done at the top right-hand corner of the screen, or click Cancel to ignore
Key - Assign the Key function to columns used to uniquely identify each
record. Keys are used for table joins and for incremental refresh of data.
During an incremental load, each record with an existing key is updated, and
each record with no matching key is inserted.
Dimension - Assign the Dimension function to columns used to categorize
or group data, such as country, state and city, or days, months and years. In
a line graph or bar chart, a dimension used for grouping is plotted on the
x-axis, while a dimension used to give a count is plotted on the y-axis.
Measure - Assign the Measure function to columns used to measure and
aggregate data. Data from these columns must be plotted on the y-axis
and with the proper aggregation function. For information about setting the
aggregation function, see Build and Edit Insights: The Analyzer.
If you are not sure which function to assign, you can change the value at any
time after the schema has been created. See Change the Function of a Column.
3. Expand each table to edit the columns definitions for your schema.
4. Select columns and set labels, mapping types and functions as needed. For
details, see Column Definition Features.
Manage Schemas
Load Data
1. Navigate to the "Schemas" tab in the "Schemas & Session Variables" page.
• Full: Select this option to perform a full schema load. This is typically done
the first time data is loaded into Incorta Analytics, or for a full refresh of the
data. To perform "Full" loading:
a. Select "Full" from the Load drop-down menu. The confirmation box
appears.
b. Click Load to proceed with the full load, otherwise click Cancel.
• Incremental: Select this option to load only the data that has been
generated in the data source since it was last loaded. Incorta Analytics uses
an SQL query to fetch the new data from the server. Incremental loading
only applies to tables for which it has been enabled, see Set up a table for
incremental loading. Note that a CDC (Change Data Capture) column MUST
b. Click Load to proceed with the incremental load, otherwise click Cancel.
• Staging: Select this option to load data from the Incorta Analytics staging
area. This is the area where all the data gets extracted, but only data
specified by the Load Filter (defined in the Table Details page) gets loaded
into the Incorta engine. If there is no load filter defined, choosing this option
would load the extracted data into the staging area only, where as choosing
the "Full" load option would also load the data into the Incorta engine. You
may choose to load all schema tables from staging ( by selecting "Staging"
from the "Load" drop-down menu at the top of the schema definition page),
or individual schema table(s) (by clicking on the down arrow corresponding
to any table in the schema definition page and selecting "Load from
Staging"). In this case, you do not have to refresh the schema if it has
already been loaded. To load data from "Staging":
a. Select "Staging" from the "Load" drop-down menu. The confirmation
box appears.
b. Click Load to proceed with the staging load, otherwise click Cancel.
• Snapshot: Select this option to load data into the schema from an Incorta
Analytics data snapshot persistence, rather than directly from the data
source. The snapshot is updated with every full/incremental load, and could
be used to restore the latest successfully loaded data in the situation of a
load failure. To load data from a snapshot:
b. Click Load to proceed with the load from a snapshot, otherwise click
Cancel.
NOTE:
If you receive a Loading Error, contact your system administrator. The error
is logged in $INCORTA_HOME/server/logs/catalina.out.
2. Select a schema to see its ERD by clicking on its row, not the checkbox.
2. Select the checkbox next to one schema only to edit its settings. The "Actions"
menu appears in the upper right-hand corner of the screen. Note that selecting
ticking more than one checkbox affects the items available in the "Actions"
menu.
4. Select "Schema settings" from the drop-down menu. The "Schema Settings"
window appears.
2. Click on a schema to access the definition page for that schema by clicking on
its row, not the checkbox. The schema definition page opens.
To share a schema with other users and groups, simply use the following
steps:
1. Click on the "Sharing" tab.
To set the tables extraction sequence, simply use the following steps:
1. Click on the "Tables load order" tab. The tables list appears with the
corresponding extraction sequence number, defaulted at 10.
Delete a Table
To delete a table, click on the corresponding down arrow, and select Remove.
NOTE:
Formula columns created in business schemas will not be added to the
default dashboard filters list.
To add additional filters, click the "+" icon in the upper right-hand corner of the
screen.
5. Click Done in the top right-hand corner of the screen, to exit the "Table Details"
page.
Create an Alias
By creating an alias you can refer to a table by an alternative name. You can
create aliases for tables in the same or different schemas, using the following
steps:
1. Use the Schemas page to select the schema to which you want to add an alias.
2. Click on the + icon at the top right corner of the screen, and select "Alias".
3. In the "Schema Name" field, select the schema that contains the original table.
4. From the "Select Table" drop-down menu, select the original table.
Create a Join
Incorta Analytics allows you to join two tables in separate schemas, even if the
source data exists in two separate databases. Joins can be viewed from within
2. Select the parent and child tables, along with the type of join, in the appropriate
fields. You may also add filters by clicking + at the top right-hand corner of the
"Filters" block.
4. To add conditions to any join, select Join Details in the drop-down menu at the
top right-hand corner of the block of that join. To delete a join, click Remove
Join.
5. Add filters to a join by clicking + at the top right corner of the filter block.
Delete a Join
To delete a join, click on the corresponding down arrow, and select Remove.
Overview
In order to use the business schema feature (i.e. business view), you need to:
1. have a physical schema loaded, and the included tables properly joined.
2. navigate to Business Schemas in the menu bar on the left-hand side of the
screen to:
• add, or import, business schemas, by clicking on + in the upper right-
hand corner of the screen, see Create/Import a Business Schema.
• edit existing business schemas to:
• add a new business view, see Create/Delete a view in a business
schema.
• edit and remove an existing view, see Managing business views and
business schemas.
• export, or delete, one or more business schemas, see Managing business
schemas.
• share, or edit the description of, a schema, by selecting a schema in the
"Schemas" page, then selecting "Schema settings" from the "Actions"
menu in the upper right-hand corner of the screen.
In order to create a view in a business schema, you need physical and loaded
schema(s) to use its tables in that view. After selecting the schema(s), you can
drag the columns needed to add to the new view.
Analyze users can define formulas in Business View (Business Schema screen)
and use it in Analyzer. These formulas are saved as logical objects only and are
computed at runtime.
Additionally, in a business view, you can create formula columns and reuse them
in another formula column in the same, or any other, view or business schema.
For more details, read the following example and see Managing business views
and business schemas.
3. Click on + in the upper right-hand corner of the screen, or click Add New
View in the middle of the screen of any empty schema page. The views
page opens in a view editing mode.
5. Click on + in the source element list on the left-hand side of the screen, to
add the physical schema(s) containing the table(s) needed for the view. The
physical schemas menu opens, listing all the available physical schemas.
7. Click Collapse All, at the bottom of the source element list (i.e added
tables panel) on the left-hand side, to collapse the view to the schema level.
Alternatively, you may collapse or expand individual tables and/or schemas,
by clicking on the corresponding down arrow.
10. Click on the trash bin icon corresponding to a column, to remove it.
11. Click on the actions menu (three vertical dots) corresponding to a view/
folder, to delete it.
3. Click on the arrow corresponding to any view to expand and preview a list of
the contained columns within that view.
5. Select "Edit" from the drop-down menu. The views definition page opens in
edit mode.
7. Select "Add New Folder" or "Add New View" to open the views definition
page in edit mode.
3. Select "Add New Folder". A new empty folder gets created in the views
definition page.
• Columns: You can only arrange columns within a view. That is, you cannot
drag a column out of a view. To drag a column:
1. Click and hold anywhere on the row of that column.
2. Move the column vertically to the preferred position.
3. Enter a name and label for the new formula (e.g. Profit), and set the data
type for the new column from the drop-down list.
5. Enter a formula, e.g. Revenue - Cost, by clicking on the "+" icon (which
appears when hovering over a column on the left-hand side) to add a
column (e.g. Revenue).
7. Click Save. The new formula column is added in the view definition page.
11. Select "Views" from the drop-down menu in the upper left-hand corner of
the submenu, and select the view containing the formula column you want
14. Click Save. The new formula column is added in the view definition page.
15. Click on the trash bin icon corresponding to a formula column to delete it.
Now that you understand the underlying data structures, you are ready to build
a new dashboard using one of the following methods:
A. Click the "+" icon in the upper right-hand corner of the "Content" page:
1. Create an empty dashboard that you can build from the ground up, using
the schemas you have already defined.
2. Manually specify a name, choose specific schemas and tables, set
Dashboard Filters, choose a visualization type for your first Insight.
• See Create a New Dashboard from the "Content" Page.
NOTE:
Before creating a dashboard by either method, ensure you have:
1. connected Incorta Analytics to your datasources and data files.
2. defined your schemas based on those datasources and data files.
3. loaded the data to the Incorta Analytics engine.
3. Enter a unique dashboard name, then click Create. The new dashboard
opens in the "Analyzer" mode (this is the mode required in order to build/
edit an Insight), with a column chart selected by default. At this point, there
are no schemas or tables selected.
Because this dashboard was created directly from within a schema, clicking
on Create Dashboard results in opening the Analyzer pre-populated with
the schema tables. You can use this Analyzer to build Insights for the new
dashboard. For an introduction to the Analyzer, See Build and Edit Insights: The
Analyzer.
The new dashboard is automatically given the current schema name followed
by "Dashboard". If the name already exists, the new dashboard name will be
appended with a number, i.e. SchemaName Dashboard-1.
3. Click on the "+" icon in the upper right-hand corner of the screen, to add a
new Insight. The "Visualization" menu opens.
5. Start dragging columns from the Source Elements List (panel), on the left-
hand side of the screen, to the grouping, coloring, and measure dimensions
fields. If the list is empty, i.e. does not contain any tables or columns, click
the "+" icon for a list of the available tables to choose from. See Build a
New Dashboard. Note that the dimensions fields change according to the
type of Insight you select. See Set up Insight Dimensions in the Analyzer.
Measures
It is easiest to define an Insight if you begin by thinking about what you want
your Insight to measure, e.g. units sold or revenue would be a Measure. For
more details about defining a measure, See Specify Filters for Measures.
Grouping
Next, the grouping dimension would be defined by how you want to group, or
slice, the measure you choose. For example, you can group by category, or by
a time period. For details about defining the grouping dimension, See Specify
Filters for the Grouping Dimension(s).
Coloring
Finally, the coloring dimension would help with making visual distinctions. For
example, if you choose to group Revenue (i.e. Measure dimension) by Year
(i.e. Grouping dimension), you can use the coloring dimension to display each
year in a different color. You can also add an additional filter to the coloring
dimension to enable a drill-down. Some visualizations, such as a Grouped-
Column Charts, require the coloring dimension to be defined. See Specify
Filters for the Coloring Dimension(s).
NOTE:
Be sure to set the sort order for each filter in the dimension so that as the
user drills down, the sort order remains consistent.
Max Rows: This setting limits the number of rows of data from the grouping
dimension to be included in the Insight.
Max Groups: Use this to return a large table where there is a group-by of
500,000 values or more.
Logarithmic: Switch on to focus on the part where data points starts fluctuating.
For example, if all the horizontal data points on the chart share the same vertical
values up to a certain point, you may want to start the vertical dimension at
this point to increase the scale and focus on the fluctuating data. Switching
“Logarithmic” on does this automatically.
Auto-Refresh: Auto-Refresh is set on by default. Leave it on if you want the
Insight to update automatically whenever the underlying data is updated. Set it
off if you want the Insight to update only when a new session is begun, as when
the underlying data set is very large.
Join Measures: Calculating the group-by function across joined tables is a very
complex operation impacting the engine’s performance, and thus disabled by
default. Setting the join-measures feature on enables this calculation. A popular
example for this is calculating product cost grouped by years.
Rotation: Select the labels orientation on the horizontal axis of the Insight.
Legend: Switch on to display what dimensions the chart colors represent.
Values: Switch on to display the values on the charts.
X-Axis Labels: Switch on to display labels on the x-axis.
X-Axis Title: Switch on to display the title of the x-axis.
Y-Axis Labels: Switch on to display labels on the y-axis.
Y-Axis Title: Switch on to display the title of the y-axis.
Y-Axis Min: Provide the minimum value of the displayed y-axis value.
Y-Axis Max: Provide the maximum value of the displayed y-axis value.
Drag and drop elements (i.e. columns) from the Source Elements List on the
left-hand side of the screen into the prompts, dashboard applied Filters, or the
presentation variables fields. To completely remove an element, simply click on
the "X"corresponding to it.
Set Up a Prompt
1. Click on the "Prompts" tab, from the Dashboard filters screen.
2. Drag a data element (column name) from the Source Elements List on the left
hand side of the screen and drop it in the Prompts field.
3. Click on the down arrow to open the drop-down menu:
• Click Filter at the top right corner of the drop-down menu to apply.
2. Click on the down arrow next to a (parent) dimension to show its null child
values (e.g. Country). The drop-down menu appears.
4. Click Done in the upper right-hand corner of the page to exit the analyzer
mode. Notice that dimensions with null (child) values are now displayed in the
table.
On the left side of the page is a list of columns, pre-populated according to the
underlying schema definition. To add columns from additional schemas, click
the +.
3. Click on the "+" appearing when hovering over a column name in the panel
on the left-hand side. The formula builder inserts its full path of that column
between the parentheses, in the format "<SCHEMA_NAME>.<TABLE_
NAME>.<COLUMN_NAME>", e.g. "SALES.SALES.COST_OF_GOODS".
Formula Functions
For a complete list of functions, see App. B: Formula Functions.
Formula Variables
For a complete list of formula variables, see App. C: Date Variables.
1. Note that the URL feature is only available for reports of type "List", and for
measures when "Aggregated" is turned off in the dashboard settings menu. To
turn off the "Aggregated" feature, click on the gear icon at the top right corner
of the Insight in the Analyze mode.
Base Table
The "Base Table" feature allows you to join two tables that are not directly
joined (i.e. tables that do not share common dimensions). To use it, a
transactional table has to be selected as the “Base Table”, or driving table, in
order to join the two tables.
Example:
Consider a SALES table that is joined with a CUSTOMERS table, which is joined
with a COUNTRY table. Now assume that there is a PRODUCT table and it is
joined with the SALES table, but not to the COUNTRY table. If you try to build a
report showing the countries where the products were sold, you will get an error
because the COUNTRY table is not directly joined to the PRODUCTS table.
However, if you use the transactional table (SALES in this case) as the Base
Table, this information can easily be obtained. Refer to the ER diagram below
for clarification, and walk through the following steps to learn more about this
feature:
Assumptions:
You have a schema where there is a transactions table (SALES table in this
example), and it is joined with a CUSTOMERS table that is joined with a
COUNTRY table. The SALES table should also be directly joined with the
PRODUCTS table. (Please note that in this example, the COUNTRY table is not
2. When the “Choose a Visualization” window appears, select the Table chart
from the TABLES list. The Insight opens in Analyzer mode.
3. Click on the “+” next to the search box at the top of the source elements
list, on the left-hand side of the screen. The schemas and tables submenu
opens to the right-hand side.
4. Select "Tables" in the drop-down menu at the top of the submenu. A list of
schemas and included tables appears.
Note:
Since we would like to see the number of products sold in each country,
we need to drag the “Product” column to the measure field and drag the
“Country” column to the grouping dimension field.
7. Type “Country” in the search box to quickly locate it and drag it into the
list to the "grouping dimension" field. Another option is to hover over
"Country" in the search results and click on the "+" that appears. The item
will automatically get placed in the "grouping dimension" field, if the circle
next to the item is light-blue. If the circle is dark blue, it will pop in the
"measure" field. In any case, you can move any column from one field to the
other.
8. Similarly, type “Product” in the Search box and place it in the "measure"
field.
Note:
The Base Table feature can only be turned on for the elements in the
“measure” field (i.e. Product in this example).
13. Enable the "Base Table" feature. A new field "Base Table" appears to set
the base table.
16. Select the "SALES" table from the tables list. A new list of all the table
columns appears.
18. Now if you would like to build an Insight Table showing the number of
countries where each product is sold, repeat the previous steps, swapping
"Product" with "Country".
19. Notice the table is updated, listing each product corresponding to the
number of countries where it was sold.
2. Click on the pen icon in the upper right-hand corner of any Insight. The Insight
opens in Analyzer mode.
6. Click Save.
Send a dashboard
You can email a dashboard in an html, csv, or xlsx format. To send a dashboard:
1. Navigate to the dashboard page.
2. Click on the export icon in the upper right-hand corner of the page, a drop-
down menu opens.
Schedule a dashboard
With Incorta Analytics, you can easily schedule dashboards to be sent to internal
users, groups, or even external users with external email addresses either
once or at scheduled intervals. For a list of suspended, active, and completed
dashboards scheduled jobs, go to the "Scheduler" page, by clicking on the
clock icon in the menu on the left-hand side of the screen.
2. Click on the export icon in the upper right-hand corner of the page, a drop-
down menu opens.
Dashboard schedules
Dashboards schedules can only be viewed or deleted in the "Scheduler"
page. To schedule dashboards to be sent to other users, refer to Schedule a
dashboard. To view a list of all the scheduled jobs for dashboards:
1. Click on the "Scheduler" item (clock icon) in the menu column on the left-
hand side of the screen.
2. Click on the drop-down menu in the upper right-hand corner of the "Jobs"
table to toggle the view between "All", "Active", "Suspended", and
"Completed" dashboard schedule jobs. Note that jobs with no recurrence
end date would not show in the "Completed" jobs list, until an end date has
been set.
3. Click anywhere (not the "Dashboard" name) on any job row to view the
details for that job.
8. Click Delete.
Schema schedules
Incorta Analytics offers the option to schedule schemas to load automatically,
replacing the previously known "Automatic Refresh". Scheduled jobs for
schemas can be created, viewed or deleted in the "Scheduler" page. To create
a schema load schedule job, you can either Schedule a schema load from the
"Scheduler" page or Schedule a schema load from the schema definition page.
4. Click anywhere (not the "Schema" column) on any job row to view the
details for that job.
5. Click on the value for the "Schema" column to view the definition page for
that schema.
6. If you would like to delete a schema loading schedule job, select that job.
The "Actions" menu appears in the upper right-hand corner.
7. Click on the "Actions" drop-down menu.
9. Click Delete.
3. Provide a job name and a description in the "Job Name" and "Description"
fields, respectively.
4. Select a schema to load.
5. Select a the type of loading from the drop-down list.
6. Select a "Start By" date and time to schedule a dashboard to send. You
can either type them in the respective fields or select them in the pop-up
calendar (click on the calendar icon) and clock (click on the clock icon).
3. You can also open the scheduler window by from any schema definition
page. Select a schema. The definition page opens for that schema.
4. Click Load in the upper right-hand corner of the screen. A drop-down menu
appears.
5. Select "Schedule". The scheduler window opens.
Data Alerts
Incorta Analytics supports "Data Alerts". This feature tests a trigger on a
scheduled basis and delivers an Insight via email to a list of recipients if the
trigger condition is true. Triggers are based on a selected table and are true if
the table has at least one row of data, and false if the table is empty. That is, to
use this feature, the logged-in user would need to select a target dashboard
that already exists, and creates a condition table Insight (containing a filter). If
the condition table returns at least one row, the condition is true and the target
dashboard will be sent to the recipients listed in the "Alert" editor. If the table is
empty, the condition is then false, and thus no alerts will be sent.
• Start By: Set the date, time, and time zone when the condition
• Click Done in the upper right-hand corner of the screen to finish creating
the data alert.
6. Select an alert from the Data Alerts list, the Alert Editor window appears.
7. Select one or more data alerts, and click on the "Actions" drop-down menu
in the upper right-hand corner to:
• Export the data alert(s).
• Delete the selection(s).
Note:
The Data Alerts feature is available to create and edit for users with the
following roles:
• Analyze User.
• Individual Analyzer.
• SuperRole. (When the "Super User" mode is enabled, users with
this role may view and edit other users' alerts.)
What's an Insight
An Insight is the component that helps you visualize your data, and is placed in
the dashboard. Insights in Incorta Analytics are divided into three categories:
• Tables
• Charts
• Gauges
Part of designing an effective Insight is selecting the appropriate visualization
type. In this Appendix, you will find a description of each of these types. The
choice of a visualization type is not set in stone; after defining an Insight in the
Analyzer, you can still change the visualization type to whatever you find as the
best fit. You can even change a visualtion type to a completely different one,
e.g. you can transform a table into a column chart.
In the Analyzer, you may find one, two, or three fields depending on the
selected visualization type. The common field you will find across all types is the
"measure" field, which is the attribute you want to measure (e.g. revenue). You
can also drag the attributes you want to group by to the "grouping dimension"
field (e.g. Country). Finally, you may also choose to add coloring attributes by
dragging them to the "coloring dimension" field (e.g. Product Subcategory).
Pivot Table
Use a pivot table to plot two dimensions against each
other. The attributes entered in the "grouping dimension"
field define the rows in the pivot table. Those entered in
the "coloring dimension" field define the columns in the
pivot table. Finally, the attributes entered in the "measure"
field define the cells of the pivot table. The "grouping
dimension" and the "coloring dimension" both are required
to build a pivot table.
Table
This is the simplest mode of a table. All attributes and
measures have to be entered in the "measure" field. You
can enter columns from different tables, if they are joined
together. If a column shows as Null, this may indicate a
missing join, or joins in the wrong direction.
Aggregated
The user can group-by the data by certain dimensions.
The group-by dimensions have to be dragged to the
"grouping dimension" field, while the rest of the attributes
should be dragged to the "measure" field. By default,
Incorta will aggregate the data, grouping by the "grouping
dimensions." User can select not to Aggregate, by turning
off the Aggregated button from the Settings drop-down
menu in the upper right corner of the screen.
Aggregated - Total
This table type has a row added at the bottom where the
sum of all the rows would be calculated.
Types of Visualizations
Bar Chart
This chart is similar to the column chart representing the
data in horizontal bars rather than vertical columns. Using
this chart, you may plot grouping dimensions on the
(vertical) y-axis versus measures on the (horizontal) x-axis.
Additional measures are represented by different colors.
Stacked-Bar Chart
This chart is similar to the Stacked-Column chart
representing data in horizontal bars rather than vertical
columns.
Area Chart
In this type of chart, the areas under the lines for multiple
data series are overlayed on each other. This chart requires
a grouping dimension and a measure. A coloring dimension
can be added to slice the area for each dimension value by
another dimension. Similar to the Stacked-Column Chart,
you can choose to stack two measures, but then you cannot
add a coloring dimension in that case.
Line Chart
This graph connects data points in the series with a line,
but does not indicate exact values between data points.
Additional measures will be represented by separate
colored lines.
Stacked-Line Chart
Only the data series plotted at the bottom of the chart starts
at zero on the y-axis, each following series is plotted relative
to the series below it. This chart behaves similar to the
stacked column chart, except that the graphs are drawn with
lines instead of vertical bars.
Pyramid Chart
A pyramid chart can be used to represent categories based
on their hierarchy, importance, or size. A pyramid chart
requires one grouping dimension and one measure. It is the
same as a funnel chart, but inverted.
Treemap Chart
Treemap charts can be used to represent hierarchical
structures, using a specific column for coloring. The size
of the rectangle represents the value of the grouping
dimension. Treemaps can also show the 2nd level of the
grouping dimensions. Any hierarchical type data can be
shown with a glimpse into the next level. They are useful for
showing two levels of values at the same time. Treemaps
only show 1 measure but 2 levels.
Heatmap Chart
Heatmap charts can be used to represent values of each
slot using varying darkness. That is, the darker the slot, the
higher the value it represents.
Pie Chart
Use a pie chart to display distinct categories of data. It can
be used to slice one measure by one grouping dimension.
Additional grouping dimensions can be added to allow for
drill down from one dimension to the next.
Time Series
Use this chart type to represent a time series uisng splines.
This chart requires a minimum of one grouping dimension
and a measure. The graph has zooming capabilities that
enables the user to zoom in different periods. Additional
grouping dimensions may be added for drill-down.
Additional measures are represented by separate colored
splines.
Funnel Chart
A funnel chart displays values as progressively decreasing
proportions. The size of the area is determined by the series
value as a percentage of the total of all values.
Scatter Chart
The Scatter Chart is an X-Y plot in which each entity
represented is assigned a symbol called a point shape.
Both the x and y dimensions are quantitative; that is, they
have magnitude. If there is an independent variable, place
it on the x-axis. The grouping dimension is descriptive or
categorical. The purpose of a scatterplot is to discover or
illustrate correlations between the variables.
Bubble
This chart type uses bubbles to represent a grouping
dimension (e.g. Country) in varying sizes according to the
element numerical value in the measure field (e.g. revenue).
The grouping dimension labels each bubble.
Map Bubble
This chart type maps the grouping dimension values (e.g.
Country) as bubbles in varying sizes according to the
element numerical value in the measure field (e.g. revenue).
Combination Chart
Use this chart type to combine a pie chart with a column
chart in the same Insight.
Angular Gauge
An Angular Gauge shows a single value in relation to a
range of values. You can set stops, or ranges on the gauge
to be displayed in certain colors, independent of the value.
Solid Gauge
A Solid Gauge uses a single block of color to show a single
value in relation to a range. You can set stops, or thresholds,
above or below which a certain color is used. The color of
the fill corresponds to the range in which the data value
falls.
General Rules
• Each open parenthesis must be closed.
• String expressions could be surrounded by either "" (double quotation
marks), or '' (single quotation marks).
Aggregation Functions
and(SALES.SALES.AMOUNT_
SOLD=3696.48, SALES.SALES.
This boolean
COST_OF_GOODS=1670.79,
function takes one
SALES.COUNTRIES.COUNTRY_
(or multiple) boolean
NAME='Argentina')
and(bool exp1, expressions and
bool exp2, ...) returns "true" if
This formula returns "true" where
all are satisfied,
the revenue, cost, and country
otherwise it returns
name columns are of specific
"false".
values. If one of these values are
not matched, it returns "false".
not(SALES.COUNTRIES.
This function takes a COUNTRY_NAME = 'Germany')
boolean expression This function returns "true" for
not(bool exp)
and returns "true" if any record in the country name
it is false. column but "Germany", otherwise
it returns "false".
or(SALES.SALES.AMOUNT_
This boolean SOLD<3600, SALES.COUNTRIES.
function takes one COUNTRY_NAME='Germany')
(or multiple) boolean
or(bool exp1, bool expressions and This boolean function returns
exp2, ...) returns "true" if one "true" if the revenue is less than
(or all) is satisfied, 3600, or the country name column
otherwise it returns is "Germany". If none of these
"false". conditions is satisfied, it returns
"false" .
Conditional Statements
case(SALES.COUNTRIES.
COUNTRY_NAME = 'Spain',
'Great', SALES.COUNTRIES.
COUNTRY_NAME = 'Argentina',
case(bool The "case" statement 'Cool', 'Other_Country')
exp1,result1,bool has the same In this example, for rows with
exp2,result2,..., functionality of the "if" "Spain" in the country name
else) statement. column, the case statement
would return the word "Great".
For "Argentina", it would return
"Cool", otherwise, it would
return "Other_Country".
The "if" statement if(SALES.COUNTRIES.
returns the first COUNTRY_NAME = 'Spain',
expression if the 'Great', 'Other_Country')
boolean expression
if(bool exp, is "true", otherwise In this example, for rows with
expression1, it returns the second "Spain" in the country name
expression2) expression. If the column, the if statement would
first and second return the word "Great". For
expressions are other country names, it would
numbers, the result will return the word "Other_
be of type double. Country".
epoch(SALES.Sales_
The epoch or 'Unix Time' Date_dim.Sales_Date)
is the time elapsed since
January 1, 1970. This function This function returns
epoch(int exp) can be used to return the the number of seconds
number of seconds elapsed elapsed from January
since January 1, 1970 until a 1, 1970 until the date
specified date. of each record in the
Sales_Date column.
int(2306.77) converts
the double into an
integer to equal 2307.
Converts a double expression
int(double exp) int(SALES.SALES.
into an integer.
AMOUNT_SOLD)
converts each record
into an integer.
parseDate(INCORTA.
sales.TIME_ID_
This function takes in a String,"dd/MM/yy")
string date representation to This function takes in a
parseDate(string
Convert it into an equivalent string date expression
exp, string format_
value of a date type in the column in the "dd/
mask)
same format as the given MM/yyyy" format
format_mask. and returns a date
expression in the
format "dd/MM/yy".
Converts a string
representation of a number
into a double specified by a
Java DecimalFormat mask. parseDouble("12,345",
parseDouble(string For more information about "#,##0.0#;(###0.#)")
exp, string mask) DecimalFormat patterns, This function returns
please follow this link: 12,345.00
https://docs.oracle.com/
javase/7/docs/api/java/text/
DecimalFormat.html
This function takes in a string
date (the first parameter),
whose format has to match parseTimestamp
the string mask (the second ("2001-12-24
parameter) and returns it 23:05:33.000", "yyyy-
as a date type in a format MM-dd HH:mm:ss.
matching the logged-in SSS")
parseTimestamp user locale preferences. The
This function
(string exp, string function takes any valid java
converts the string
mask) mask.
representation of the
Note the returned date timestamp into a date
format is not affected by type of a matching
the incoming data, or the format to that of the
string mask. To change the logged-in user locale
returned date format, use the preferences.
formatDate(date expression,
string mask) function.
string(INCORTA.
SALES.AMOUNT_
SOLD)
Converts an integer
string(int exp) This function converts
expression into a string.
the integer records
of the amount_sold
column into a string.
Filter Functions
sum(firstVersion(SALES.
SALES.AMOUNT_
Returns the first occurrence of SOLD, SALES.SALES.
a value with respect to date CUSTOMER_ID,
(i.e. the order-by parameter). SALES.SALES.TIME_
firstVersion(value,
Unless used as a filter, this ID))
group-by, order-by)
function must be used inside
an aggregation function (e.g. This function returns
sum, min, max, avg). the total of the earliest
generated revenue by
each customer.
sum(lastVersion(SALES.
SALES.AMOUNT_
Returns the last occurrence of SOLD, SALES.SALES.
a value with respect to date CUSTOMER_ID,
(i.e. the order-by parameter). SALES.SALES.TIME_
lastVersion(value,
Unless used as a filter, this ID))
group by, order by)
function must be used inside
an aggregation function (e.g. This function returns
sum, min, max, avg). the total of the latest
generated revenue by
each customer.
descendantOf(HR.
EMPLOYEES.FIRST_
NAME, "John")
This function returns
"true" for each record
that is descendant of
an employee with the
first name "John",
This function takes in a field i.e. whose manager is
(column of a hierarchical "John".
table) as the first parameter
descendantOf(field, descendantOf(HR.
and returns "true" for each
$sessionVariable) EMPLOYEES.FIRST_
row where the first parameter
is a descendant of the second NAME, $Emp)
one. If you do not want
to hard-code the
employee first name,
you can create a
presentation variable
with a default name
that can be changed
by the user on the
Insight level.
lookup(SALES.
This function fetches a value CUSTOMERS.CUST_
from a table using primary key LAST_NAME, SALES.
lookup(result lookup values. The first parameter CUSTOMERS.CUST_
field, primary key is the field value to be ID, SALES.SALES.
field 1, primary key returned, while the remaining CUSTOMER_ID)
value 1, primary key parameters are the table This example returns
field 2, primary key primary-key fields and their customers last name
value 2, ..., default respective values. The last whose customer
value) parameter takes in the default IDs found in the
value, which could be through CUSTOMERS table
a presentation variable. match those found in
the SALES table.
Returns the
smallest integer
ceil(double exp) that is greater than, ceil(5.9) = 6
or equal to, an
argument.
round(14.5) = 15.
round(double Returns the closest round(14.4) = 14.
expression) long. round(Sales.Sales.Amount_Sold)
= <ROUNDED_ROW_VALUE>
Example
if(isNull(closeDate, “-”, string(quarter(closeDate)))
In this example, the formula will return the quarter of the "closeDate" column if
CloseDate is not null, and will return '-' if it is Null.
Function
Description Example
Signature
date("2001-12-24
Converts a string to a 23:55:12.000")
date(string date using the “en-US”
expression) locale and the format This function takes a string date
mask "yyyy-MM-dd". representation and returns a
date value.
hour(timestamp ("2001-12-24
23:55:12.000"))
Returns the hour
component of a date/ The timestamp function
hour(date converts the string timestamp
timestamp. The date
expression) representation into a timestamp.
should be in the
format "yyyy-MM-dd". The "hour" function returns
the hour component of the
timestamp, which is "23".
removeTime (INCORTA.EMP.
Removes the time DATE_CREATED)
removeTime
component from a This function removes the time
(Timestamp
timestamp, returning component from the timestamp
expression)
only the date. "1/1/00 12:00:00 AM" and
returns only the date "1/1/00".
This function takes
a date expression second(timestamp ("2001-12-24
in the "yyyy-MM-dd 23:05:33.000"))
second(date exp) HH:mm:ss" format and This function returns the
returns the seconds seconds portion of the given
component of the timestamp, "33".
date/timestamp.
length("San Mateo")
Returns the length of This function returns
length(string exp) a string expression, the length of the string
including spaces. expression including
spaces, which is "9".
lower("Sally")
lower(string Returns the same string in This function returns the
expression) lower-case letters string "Sally" in lower case
to read "sally".
lTrim(" Hello")
This function takes a string This function trims the
lTrim(string expression and returns it leading white space and
expression) without the leading white returns the word "Hello"
space. without the space before
it.
replace(INCORTA.ADMIN_
Searches string field (first EMP.JOB,"Q","Zee")
parameter) for specified
replace(string exp, This function searches
string characters (second
string old, string the "JOB" column in the
parameter) to replace
new) ADMIN_EMP table for
with other characters (third
parameter). the occurrence of "Q" to
replace with "Zee".
rTrim("Hello ")
This function takes a string
rTrim(string expression and returns it This function trims the
expression) without the trailing white trailing white space and
space. returns the word "Hello"
without the space after it.
Formula Variables
For a complete list of supported date variables, see App. C: Date Variables.
The following table describes the date variables supported by Incorta Analytics.
Please note that If they are used in formula columns of a schema, they are
interpreted at load time and stored in memory. But if they are used in Business
Schemas or a Dashboard, then they are calculated at query time.
This appendix describes the supported syntax in the load filter, including examples
to help you create your own load filters. The appendix lists the supported syntax
into three tables; The operators table, The functions table, and The date variables
table.
User != 1
This operator returns the rows
<COL_NAME> != FirstName != "John"
where the data is not equal to
<VALUE> Hire_Date !=
a certain value.
DATE("03/03/2003")
User < 1
This operator returns the rows
<COL_NAME> < FirstName < "John"
where the data is less than a
<VALUE> Hire_Date <
certain value.
DATE("03/03/2003")
User > 1
This operator returns the rows
<COL_NAME> > FirstName > "John"
where the data is greater than
<VALUE> Hire_Date >
a certain value.
DATE("03/03/2003")
User >= 1
This operator returns the rows
<COL_NAME> >= FirstName >= "John"
where the data is greater than
<VALUE> Hire_Date >=
or equal to a certain value.
DATE("03/03/2003")
User <= 1
This operator returns the rows
<COL_NAME> <= FirstName <= "John"
where the data is less than or
<VALUE> Hire_Date <=
equal to a certain value.
DATE("03/03/2003")
daysBetween(
Returns the data of $currentDate, Time_ID)
the days between < 2500
daysBetween (<DATE_ the date variable
VARIABLE>, <DATE_ and a date column, Note that the
COLUMN>) <OPERATOR> where the date supported date
<VALUE> variable must be variables are:
greater than the "$currentDate",
latter. "$currentYear", and
"$currentMonth".
date ("2001-12-24
Converts a string to 23:55:12.000")
a date using the “en-
date(string expression) US” locale and the This function converts
format mask "yyyy- the string date
MM-dd". representation a value
of date type.