Set-analyse
Als u een selectie maakt in een app, definieert u een subset van records in de gegevens. Aggregatiefuncties zoals Sum(), Max(), Min(), Avg() en Count() worden berekend op basis van deze subset.
Dit betekent dat uw selectie het bereik van de aggregatie definieert; deze definieert de set met records op basis waarvan berekeningen worden uitgevoerd.
Set-analyse biedt een manier om een bereik te definiëren dat verschilt van de set met records die wordt gedefinieerd door de huidige selectie. Dit nieuwe bereik kan ook als een alternatieve selectie worden beschouwd.
Dit kan nuttig zijn als u de huidige selectie wilt vergelijken met een specifieke waarde, bijvoorbeeld een waarde van vorig jaar of het wereldwijde marktaandeel.
Ingestelde uitdrukkingen
Set-uitdrukkingen worden gebruikt in aggregatiefuncties en tussen accolades geplaatst. Bijvoorbeeld:
Sum( {$<Year={2021}>} Sales )
Een set-uitdrukking bestaat uit een combinatie van de volgende elementen:
-
Id's Een set-id vertegenwoordigt een selectie die ergens anders is gedefinieerd. Deze vertegenwoordigt ook een specifieke set met records in de gegevens. Dit kan de huidige selectie, een selectie van een bladwijzer of een selectie van een alternatieve status zijn. Een simpele set-uitdrukking bestaat uit een enkele id, zoals een dollarteken, {$}, oftewel alle records in de huidige selectie.
Voorbeelden: $, 1, BookMark1, State2
Zie: Set-Id's
-
Operatoren Een set-operator kan worden gebruikt om samenvoegingen, verschillen of snijpunten tussen verschillende set-id's te maken. Op deze manier kunt u een subset of een superset maken van de selecties die zijn gedefinieerd door de set-id's.
Voorbeelden: +, -, *, /
Zie: Set-operatoren
-
Modificaties. Een set-modificatie kan worden toegevoegd aan de set-id om de selectie te wijzigen. Een modicatie kan ook afzonderlijk worden gebruikt om de standaard-id te wijzigen. Een modificatie moet tussen punthaken <…> worden geplaatst.
Voorbeelden: <Year={2020}>, <Supplier={ACME}>
Zie: Set-modificaties
De elementen worden gecombineerd tot set-uitdrukkingen.
Elementen in een set-uitdrukking

Deze set-uitdrukking is gebaseerd op de aggregatie Sum(Sales).
De eerste operand retourneert verkopen voor het jaar 2021 van de huidige selectie. Dit wordt aangegeven door de set-id $ en de modificatie die een selectie van het jaar 2021 bevat. De tweede operand retourneert Sales voor Sweden en negeert de huidige selectie, die wordt aangegeven door de set-id 1.
Tot slot retourneert de uitdrukking een set met records die toebehoort aan een van de twee set-operanden, zoals wordt aangegeven door de set-operator +.
Voor een volledige beschrijving van de syntaxis, raadpleegt u Syntaxis voor set-uitdrukkingen.
Voorbeelden
Voorbeelden waarin de bovenstaande elementen van de set-uitdrukking worden gecombineerd, zijn beschikbaar in de volgende onderwerpen:
Natuurlijke sets
Een set-uitdrukking vertegenwoordigt over het algemeen zowel een set met records in het gegevensmodel als een selectie die deze subset van gegevens definieert. In dit geval wordt de set een natuurlijke set genoemd.
Set-id's, met of zonder set-modificaties, vertegenwoordigen altijd natuurlijke sets.
Een set-uitdrukking die gebruikmaakt van set-operators vertegenwoordigt ook een subset van de records, maar deze kan over het algemeen nog steeds niet worden omschreven met behulp van selecties met veldwaarden. Een dergelijke uitdrukking wordt een niet-natuurlijke set genoemd.
De set die wordt verstrekt door {1-$} kan niet altijd worden gedefinieerd door een selectie. Dit is daarom geen natuurlijke set. Dit kunt u zien door de volgende gegevens te laden, deze aan een tabel toe te voegen en dan selecties te maken met behulp van filtervakken.
Load * Inline [Dim1, Dim2, Number A, X, 1 A, Y, 1 B, X, 1 B, Y, 1];
Als u selecties maakt voor Dim1 en Dim2 ziet u de weergave zoals in de onderstaande tabel.
Tabel met natuurlijke en niet-natuurlijke sets

De set-uitdrukking in de eerste meting gebruikt een natuurlijke set: deze komt overeen met de selectie die is gemaakt {$}.
De tweede meting is anders. Deze gebruikt {1-$}. Het is niet mogelijk om een selectie te maken die overeenkomt met deze set, daarom is dit een niet-natuurlijke set.
Dit onderscheid heeft een aantal gevolgen:
-
Set-modificaties kunnen alleen worden toegepast op set-id's. Ze kunnen niet worden toegepast op een willekeurige set-uitdrukking. Het is bijvoorbeeld niet mogelijk om de volgende set-uitdrukking te gebruiken:
{ (BM01 * BM02) <Field={x,y}> }
Hier geven de normale (ronde) haken aan dat de snijpunten tussen BM01 en BM02 geëvalueerd moeten worden voordat de set-modificatie wordt toegepast. De reden is dat er geen elementset aanwezig is die kan worden gewijzigd.
-
U kunt geen niet-natuurlijke set gebruiken in de elementfuncties van P() en E(). Deze functies retourneren een elementset, maar het is niet mogelijk om de elementset af te leiden van een niet-natuurlijke set.
-
Aan een meting die een niet-natuurlijke set gebruikt kan niet altijd de juiste dimensiewaarde worden toegewezen als het gegevensmodel veel tabellen bevat. In het volgende diagram worden enkele uitgezonderde verkoopcijfers bijvoorbeeld toegewezen aan de correcte Country, terwijl anderen NULL en Country bevatten.
Diagram met een niet-natuurlijke set
Of de toewijzing correct wordt uitgevoerd is afhankelijk van het gegevensmodel. In dit geval kan het aantal niet worden toegewezen als het betrekking heeft op een land dat niet in de selectie is opgenomen.