4. ObjectExplorer (XOE) Tutorial Videos

The Object Tree

Here you find elements of the object tree explained, the root-object and recursive sub-objects, dimensions and attributes. You will see how to navigate the object tree, which may be quite extensive in case of a complex object.

View tutorial video

Attributes, States and Hierarchies

Each dimension in the object tree may have one or a number of attributes. An attribute groups the values of a dimension into meaningful categories. Those are typically organized into a hierarchy with top-level categories and sub-categories. You will see how to “open” an attribute on the analysis canvas (the simplest way how to “open” a query).

View tutorial video

Simple Selections

You will see how to put selections onto attributes in the different branches of the object tree. Those selections go into the “global selections” - the current global selections are visualized via yellow icons. You will see how those affect other open queries.

View tutorial video

Adding additional measures / aggregations into a query

We will explain how the term “aggregation” is used, and how additional aggregations can be added into an (open) query - e.g., simply by drag-and-drop. You will learn which aggregation methods exist (COUNT, AVG, SUM, …) and how to switch the aggregation method in a query.

View tutorial video

Aggregations along the edges of the object tree

Similar to adding aggregations into a query or aggregate data along the edges of the object tree, thereby generating additional dimensions in the object tree (“aggregation dimensions”). Aggregating data upward the edges of the object tree is one of the distinct features of ObjectAnalytics.

View tutorial video

Floating vs. fixed semantics aggregations

An aggregation dimension is defined by an aggregation method (COUNT, AVG, SUM, …) and a “where clause” (i.e., what is aggregated). Usually this where-clause (selection) is fixed when generating the aggregation dimension; it henceforth defines the semantics of the aggregation dimension. Aggregation dimensions may have “floating semantics” as well. Here you will get an idea what floating semantics means, and what this is good for.

View tutorial video

How selections Propagate

Selecting some categories in an attribute means adding a selection (an additional where clause) to the global selections. All “open queries” will react to that and will immediately be updated according to this additional selection - that is why they are called “open” because they are open to additional selections. This defines the basic interactive usability concept, i.e., how selections propagate across the object tree. There is no choice in how selections propagate within one object and from one object to sub-objects. There is, however, a choice in how selections propagate upward the object tree. You will see how floating semantic dimensions can be used to define this propagation behavior.

View tutorial video

Multi-dimensional queries

Here you learn how to generate a multi-dimensional query, i.e., a query which has multiple group-by clauses.

View tutorial video


The default presentation of query results is simply a list of numbers. You may switch this list to a chart as well. In particular you may switch a multi-dimensional query to a multi-dimensional chart. Some of the charting capabilities are presented in this clip.

View tutorial video

How to “pin” selected instances / Boolean dimensions

Once you have selected a number of object instances (e.g., a specific class of patients or a market segment of customers), you might want to “pin” those. With that you define a new “Boolean dimension” - a dimension with only two states (yes/no) which defines whether this instance is with the defined segment or not.

View tutorial video

Boolean logical operations

Multiple Boolean dimensions can be combined according to standard Boolean logic operations.

Time dimensions and time attributes in the XOE

Time dimensions play a specific role - they have specific sorts of attributes, i.e., according to a hierarchy of years, quarters, month and days. Learn more about how time dimensions are presented in the XOE.

The relative time axis - basic version

Often, more important than the absolute time is the time of an event relative to that of another event. You will learn how to set up a relative time axis, e.g., how to select all prescribed drugs within 3 months after a broken leg.

With the relative time axis you may analyze different event streams in relation to each other, e.g. diagnoses relative to prescribed drugs, or machine failures relative to prior alarm messages. Often, sub-object to the root object are different sorts of event streams attached to the object in focus of analysis. The relative time axis is an important element of ObjectAnalytics concept, as it allows to analyse sub-objects in relation to each other.

More details on the relative time axis

The relative time axis has a number of options how to define the reference event. The reference event may be the first or the last event of a specific type. Here you learn more how to define the class of events which define the reference time. Relative time axis may also have a “floating semantics”, as one of the advanced features of ObjectAnalytics.

Multiple Selection Sets

In the standard setting there is just one selection set: the yellow selections. You may, however, have multiple selections sets. This video shows how you can use multiple selection and demonstrates the primary purpose of those selection sets. Multiple selection sets are a means for experts to build very generic analytic applications, which then can be used by a larger number of standard users.

View tutorial video

Event flow analysis

The relative time axis is one means to analyze the sequence of events. Another means is so called “rank aggregations”. They help you to analyze the flow of events, i.e., they help you to analyze steps in a business process or a patient journey.

Viewing artifact definitions / working with scripts

For any artifact which you generate in a session - a query, an aggregation dimension, a relative time axis … - you may look up the definition of this artifact, i.e., how this artifact has been generated. Amongst other formats, there is in particular a textual definition in terms of a JSON document. You may copy that definition, change it, put it into a script with a sequence of such method calls - the simplest way how to programmatically work with object data. Those simple “Xplain scripts” are useful automate a sequence of calls. Beyond that, however, there are more powerful development interfaces available, for example the Python interface - see the corresponding section on developer interfaces.

Null values

In case of “missing data” it can get tricky. For example, if you have transactions of a customer, but the customer does not have any master data (i.e., there is data for a sub-object existing, but the corresponding keys are missing for the root-object). This section shows you how you can view this … and why you should avoid this.

Adding additional attributes

Only attributes make data meaningful. This clip details how to add additional attributes to a dimension.

What is a session / login and logout

First step when working with the XOE is “logging in”. With that an Xplain Data session is initiated. The server / backend holds all information about this session, about queries which have been opened and all other artifacts generated in the session. The master of this session is held by the server, the XOE just visualizes this session in the browser. In case our browser crashes - don’t worry - just start the browser again and pull the session from the server again to resume working. The XOE may visualize any Xplain session, no matter where it comes from. This also means that you may develop a session programmatically (e.g. based on the Python interface), and pick this session up to visualize the content. See this in this video clip.

Working with Analyses and the Dashboard

You can persist an analysis on a file on disk, and resume it form there. You can publish particularly interesting analyses via the dashboard and share them with your colleagues. This video shows you how to do this.

Building analytical workflows

A number of those analysis can be packaged into an analytical workflow. This feature is still in an experimental status - but you may want to test it.

Viewing detailed data

ObjectAnalytics is all about statistics - but eventually you want to see concrete data, i.e. concrete patients with all their diagnoses, prescriptions … Object instances can be generically viewed in the object instance view.

Exporting results and detailed data

There are a number of ways to export information. You may export query results into an Excel file (aggregated data), or you may also export detailed data, for example for a very specific segment of customers, export all keys and customer names.

Other helpful stuff, settings and technical information

You can switch to a sample if you have huge amounts of data to work more quickly, you can clean up object tree in case it is getting jammed with too many artifacts which you don’t need any more … in this clip you see a number of features which help you to work with the XOE. You also see what settings are available, and how those can be stored.

Helpful to know with respect to performance

An ObjectAnalytics server may hold a huge amount of data - there are examples existing for 60 million patients with billions of events along lifetime of the patients. This clip gives you some tips and tricks and shows you how to smartly work with huge amounts of data, what information the performance monitor has for you and also what query performance times you may expect.


This section shows individual features of the Xplain ObjectExplorer in terms of short clips on each of those features. A more comprehensive analysis scenario can be found in the following section. Also not covered here is the topic Xplain Causal Discovery - see the dedicated section in that topic.