Best practices to use Segmentation
This article should help using segmentations in a reporting solution.
Level | Segmentations | Ordering | Selection | Best Practices / Examples |
---|---|---|---|---|
Base Segmentations | Base Segmentations are defined by the data sources and typically have too many segments. Still they can be used in any of the below scenarios by adding a short form of derived segmentation | The base segmentations have their natural ordering defined. |
|
|
Stored (derived) Segmentations | Segmentations designed with the Segmentation Editor and stored in the solution are typically used to group the assets based on one (or multiple) base or derived segmentations.
| Don’t use any fixed ordering clause here if you want to use the automatic ordering features of building blocks. | Don’t use |
Use the in operator {
"id": "abcd-0016-EquitiesUS",
"name": { "label": "segment_EquitiesUS" },
"rule": { "prio": 7, "predicate": "assetCategory in ['Equities'] && riskCurrency in ['United States']" }
} For a negated rule (e.g. not in segmentxyz) you have to use the {
"id": "bond-2345-all",
"name": { "label": "segment_Bonds" },
"rule": { "prio": 1, "predicate": "!(iboxxSect in ['FX', 'Cash and Cash Equivalents'])" }
} |
Profiles | The profiles define the default segmentations to be used for
| Don’t use any ordering here if you want to use the automatic ordering features of building blocks. | Use the short hand form to define derived segmentations in profiles to modify the underlying segmentations to fit the need in charts & tables: use the | "assetBreakdownSegmentations": [
"riskCurrency<6",
"sample_creditRatingL1<6",
"sample_effectiveDurationBucket",
"sample_iboxxSectL1<6"
], |
Report-level Building Block | A this level no changes to the segmentations are done anymore as this would complicate the configuration |
|
|
|
Report Types | In a report type the final parameters to a building block can be defined | normally no ordering needed | normally no selection needed | "segmentation": "=params.assetBreakdownSegmentations[1]" |
Building Blocks | The building blocks partially modify the incoming segmentation to
|
| Selection is done based on parameter |
|