Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

On this page (-tree) we will gather guides and best practices how to operate the segmentation editor as well as how to define segmentations

Videos

...

Name of Video

...

Script

...

Prio

...

Video

...

Segmentation Editor - Basics

...

  • Find the UI in the menu

  • Search for an existing segmentation and view it

  • Create a new segmentation, select a source segmentation (e.g. ratings) and define the translation for language en

...

Status
titlelow

...

Project page: Video "Segmentation Editor - Basics"

...

Segmentation Editor - Grouping of segments

...

  • Open a newly create (empty) segmentation

  • Note that the source segmentation is ratings

  • Create a first segment named “A” and

    • give it a default translation of A

    • select all source segments that match (AAA, AA, A)

  • Create a second segment named B

  • Create a third segment named HY

    • give it a translation en as “High Yield”

    • select segments C, D, E

  • Define the rest segment as “Others”, set “Include unmapped segments…”

  • No ordering or selection needed

Note

Potential problem is that in our sample / demo solution there are many (base) segmentations named “csamXYZ” that should not be shown in a public video…

...

Status
colourRed
titleHIGH

...

Segmentation Editor - Sorting of segments

...

Status
colourYellow
titleMedium

...

Segmentation Editor - Define the selection of segments

...

Status
colourYellow
titleMedium

...

Segmentation Editor - Define segments via predicates

...

Status
colourYellow
titleMedium

All features

This is a list of (most) tickets about the segmentation editor

...

Segmentations

Segmentations are used to generate the optimal structure for a visualisation (e.g. table or chart) by defining how data will be aggregated. Segmentations are a part of the reporting business logic (see Business Logic (Concepts Guide)).

This page describes the features of a segmentation. See also Best practices to use Segmentation for a more in depth discussion about how to use segmentations.

Types of segmentations

Type

Description

Base Segmentation

Base segmentations like currency, country, asset class are typically delivered by the source systems (e.g. a portfolio management system) and are described by a source API segmentations delivering

  • the native order of the segments

  • the structure of a multi-level segmentation (tree)

Derived Segmentations

In reporting we typically don’t want to list all currencies invested but a rather more optimised break down to populate a table or chart., e.g. CHF, USD + next 3 largest currencies + a rest segment (aggregating all other currencies).

Derived segmentations allow features like grouping, ordering, selection of segments on top of base segmentations or even other derived segmentations.

  • mostly stored, reuse them by name

  • create ad-hoc by modifiers (segmentationId<6)

The Segmentation Editor

To create or modify a derived segmentation, the Segmentation Editor can be used. The UI is organised into the following sections:

Listing of segmentations

The list of segmentations allows to

  • search for segmentations

  • upload a segmentation from a json file

  • create a new segmentation

  • filter for drafts or published segmentations

  • on a segmentation (icons appear when hovering):

    • duplicate/export/delete a published segmentation

    • publish/export/revert a draft segmentation

Image Added

Header and Settings

  • label for translation will always be segmentation_segmentationId

Image Added

Segments (Grouping)

  • create and define segments

  • label for translation will always be segment_segmentId$

rule language

  • “in”

  • use normal javascript logic (!, &&, || )

Image Added

Segments

rule language

Alternatively to an include list, a segment can be defined by a rule (just toggle the type). A rule has a priority (number) and a filterPredicate:

Image Added

Supported syntax for filterPredicate:

  • Javascript logic (!, &&, ||)

  • in can be used for checking array members, e.g. "'foo' in ['foo','bar']" evaluates to true

  • Segmentations are available like this: "filterPredicate": "OVERALL_CONTROVERSY_FLAG in ['Green']"

  • figures are available like this: "filterPredicate": "mktValuePflCcy > 100000"

  • there is a pure js mode in filter predicates: "filterPredicate": "pure(p.details.isin === 'LU2479964202')"

    • p is just e.g. the valuation of the portfolio

    • within pure(..) all javascript is possible

    • only use this if you know what you are doing

Rest Segment

  • define a rest segment

Image Added

Ordeing

  • define the order (sorting) of segments

Image Added

Selection

  • define segments to be mandatory

Image Added