Typisiertes-Attribut-Projektion

Prev Next

Projektion - Kurzfassung

Zweck: Ermöglicht den vereinfachten Zugriff auf Werte von Typisierten Attributen (ohne explizite Konfiguration eines Joins)

Tooltip

  • Verwendung: Die Typisiertes-Attribut-Projektion ermöglicht den vereinfachten Zugriff Werte eines Typisierten Attributs (ohne Join) eines im Kontext der Suche definierbaren Attributbesitzers.

  • Parameter:

    • Name definiert optional den Titel einer Ausgabespalte (soweit relevant). Per Standard wird der Name aus der Auswahl für das Feld abgeleitet.

    • Ein Attributbesitzerpfad muss nur als Projektion definiert werden, wenn nicht die Enität im Kontext der Suche der Attributbesitzer des auszuwertenden Attributs ist.

    • Per Parameter Attribut muss der Attributtyp (Textattribut, Firmen- und Adressattribut, usw.) durch die Auswahl aus den für den Entitätstyp des Attributbesitzers relevanten Optionen definiert werden.

    • Die erforderliche Auswahl für den (Sub-)Typ auf der Basis der Dynamischen Aufzählung (Texttyp, Firmentyp, usw.) hängt von der Attribut-Auswahl ab und ist ggf. eingeschränkt durch Aufzählungsfilter.

    • Optional kann als Rückgabewert ein bestimmtes Feld des Attributwerts ausgewählt werden. Ohne Auswahl wird der Attributwert (aus dem value-Feld der Attribut-Entität) komplett geliefert.

  • Hinweise:

    • Falls ein pluraler (Sub-)Typ ausgewählt wird, liefert die Projektion einen "mehrwertigen" Rückgabewert mit den üblichen Implikationen für die Konzeption einer Abfrage.

    • Multiple Zugriffe auf dasselbe Attribut über mehrere Instanzen der Typisiertes-Attribut-Projektion implizieren auf der Datenbankebene nicht etwa redundante und eigenständige Joins (Details s. Handbuch).

images/download/attachments/161929139/image-2023-12-4_19-18-41-version-1-modificationdate-1701713933798-api-v2.png

Eine Typisiertes-Attribut-Projektion durchsucht die Attribute des durch den Kontext oder einen explizit definierten Attributbesitzerpfad definierten Attributbesitzer nach Attributen mit dem angegebenen Typ.

Abhängig von der optionalen Auswahl für das auszuwertende Feld erscheint im Rückgabewert der Typisiertes-Attribut-Projektion entweder der komplette Attributwert oder der Wert im ausgewählten Feld.

Gilt der angegebene (Sub-)Typ laut der betreffenden Dynamischen Aufzählung (z. B. Texttyp, Nummerntyp, usw.) als "Plurales Attribut", dann liefert die Typisiertes-Attribut-Projektion ggf. mehrere Werte für denselben Attributbesitzer als Liste.

Die Interpretation mehrwertiger Rückgabewerte hängt vom Einsatzumfeld der Typisiertes-Attribut-Projektion ab.

  • Für eine Ausgabespalte können plurale Rückgabewerte durch eine Collection Projektion gebündelt werden.

  • Beziehen sich innerhalb einer Bedingung mehrere Einschränkungen über mehrere Instanzen der Typisiertes-Attribut-Projektion auf denselben (Sub-)Typ werden diese sämtlich je Attributinstanz ausgewertet.

HINWEIS◄ Intern impliziert die Verwendung einer Typisiertes-Attribut-Projektion einen Typisiertes-Attribut-Join für den betreffenden Typ (Join Typ: "LEFT", optional):

Typisiertes-Attribut-Projektion

images/download/attachments/161929139/image-2023-12-5_8-16-35-version-1-modificationdate-1701760609144-api-v2.png

Die Typisiertes-Attribut-Projektion vereinfacht den Zugriff auf ein Feld des Attributwerts:

  • Der Join für den Attribut-Zugriff wird beim Zugriff auf das Feld implizit erzeugt.

  • Dem Benutzer bleibt die Unterscheidung zwischen Attribut (ta) und Attributwert (ta.value) erspart, da die Auswahl für das Feld sich bereits auf den Attributwert (value) bezieht.

Entspricht: Typisiertes-Attribut-Join ...

images/download/attachments/161929139/image-2023-12-5_8-31-1-version-1-modificationdate-1701761475545-api-v2.png

.., und Feldprojektion

images/download/attachments/161929139/image-2023-12-5_8-20-9-version-1-modificationdate-1701760823294-api-v2.png

Beziehen sich mehrere Instanzen der Typisiertes-Attribut-Projektion oder auch explizit konfigurierte Typisiertes-Attribut-Join (mit dem Join Typ: "LEFT") auf denselben Typ, dann wird nur ein LEFT JOIN "gemeinsam" genutzt.

Konfiguration

Parameter

Typ

Beschreibung

Name

String

Der optionale Parameter Name kann verwendet werden, um der Projektion einen (Alias-)Namen zuzuweisen.

  • Wenn kein Name angegeben ist, wird als Spaltenname (sofern relevant) der Name für das ausgewählte Feld verwendet.

Attributbesitzerpfad

Entität
(Projektion)

Ein Attributbesitzerpfad muss nur explizit durch die Konfiguration einer Projektion definiert werden, wenn die Entität im Kontext der Suche nicht der Besitzer der Attribute ist, die ausgewertet werden sollen.

Dies ist z. B. in den folgenden Fällen relevant:

  • Der Attributbesitzer ist eine per Datenobjekt Join in die Suche einbezogene Entität.

  • Der Attributbesitzer ist eine Position einer Entität im Kontext der Suche.

  • Beim Attributbesitzer handelt es sich um eine in die Daten der Entität im Kontext der Suche eingebettete Entität, z. B. die "Adresse" (address) eines Kontos (s. Benutzer, Firmen/Mandanten).

Attribut

Klasse
(Attributtyp)

Im Auswahlfeld/Combobox-Element für den Parameter Attribut muss eine Auswahl aus den per Dropdown angebotenen Optionen für den Attributtyp erfolgen. Hier stehen nur die Attributtypen zur Auswahl, die der Entitätstyp des anwendbaren Attributbesitzers per Implementierung unterstützt.

HINWEIS◄ Stehen für das Attribut keine Optionen zur Auswahl oder werden Optionen vermisst, dann wurde eventuell versäumt den Attributbesitzerpfad passend zu setzen (z. B. die "Adresse" eines Kontos, für das keine Attribute implementiert sind).

Typ

Dynamischer Aufzählungswert
(Subtyp)

Das Auswahlfeld/Combobox-Element für den Parameter Typ bietet Werte aus der Dynamischen Aufzählung an, die den per Attribut ausgewählten Attributtyp betrifft (z. B. Texttyp → Textattribut, Nummerntyp → Numerisches Attribut, Firmentyp → Firmen- und Adressattribut, usw.).

HINWEIS◄ Die Optionen im Dropdown werden ggf. im Kontext der Konfiguration durch anwendbare Aufzählungsfilter eingeschränkt. Diese haben aber keinen Einfluss auf die Verarbeitung bereits konfigurierter Suchen.

Feld

Feld
(des Attributwerts)

Das Auswahlfeld/Combobox-Element für das Feld erlaubt eine optionale Einfachauswahl für eines der Felder des per Attribut ausgewählten Attributtyps.

  • Ohne Auswahl für das Feld liefert die Typisiertes-Attribut-Projektion den kompletten Attributwert (value).

  • Für plurale (Sub-)Typen kann ein Zugriff auf das index-Feld im Attributwert sinnvoll sein.

  • Ein Zugriff auf die Felder der übergeordneten Attribut-Entität (etwa die id), in der das value-Feld enthalten ist besteht nicht.

Beispiele

Einfaches Beispiel: Einschränkung für ein Typisiertes Attribut mit singulärem Subtyp

Im Kontext von Benutzerkonten wird ein Typisiertes Attribut für die Adresse verwendet, um "bevorzugte" Benutzer zu qualifizieren:

    • Attributtyp: "Kennzeichenattribut" (FlagAttribute)

    • (Sub-)Typ: Kennzeichentyp: VIP

Eine Eigene Übersicht (s. Eigene Übersichten) soll ausschließlich "VIP-Benutzer" anzeigen.

Konfiguration:

Die Einschränkung für die Eigene Übersicht (s. Eigene Übersichten) wird wie rechts abgebildet als Feld Einschränkung definiert:

  • Der Prüfwert (links) wird über eine Typisiertes-Attribut-Projektion mit den folgenden Parametern beschafft:

    • Als Attributbesitzerpfad muss hier eine Feldprojektion auf das address-Feld des Benutzerkontos konfiguriert werden, da Benutzer selbst (per Standard, s. Eigene Typdefinitionen) keine Kennzeichenattribute besitzen können.

    • Im Parameter Attribut ist der Attributtyp "Kennzeichenattribut" (FlagAttribute) ausgewählt.

    • Als Typ ist der Kennzeichentyp VIP ausgewählt, also das "Merkmal" auf das die Einschränkung abzielt.

    • Die "Nutzlast" im Kennzeichenattribut ist das Feld "Kennzeichenwert" (flagValue), das deshalb hier als Feld ausgeählt ist.

  • Der Vergleichswert (rechts) wird als statischer Wert direkt über einen Boolescher Wert-Wertauflöser ermittelt. Hier soll die Übereinstimmung (==) mit dem Wert true vorliegen, damit ein Benutzer in der Übersicht aufgelistet wird.

images/download/attachments/161929139/image-2023-12-5_10-37-48-version-1-modificationdate-1701769082007-api-v2.png

Komplexeres Beispiel: Typisiertes Attribut mit pluralem Subtyp in einer Übersicht anzeigen

Die Datengrid-Einstellungsübersicht regelt unter anderem welche Anzeigespalten im Kontext einer Übersicht asngezeigt werden können. Während die Funktion Spalte hinzufügen für Typisierte Attribute mit singulärem Subtyp vordefinierte Spaltenkonfigurationen zur Auswahl anbietet, müssen Projektionen für Typisierte Attribute mit pluralem Subtyp als "Eigene Spalte" ohne eine entsprechende Hilfestellung definiert werden. Am Beispiel eines Typisierten Attributs für den pluralen Texttyp "Container No" (CONTAINER_NO) soll eine mögliche Konfiugration für diesen Zweck im Kontext des Entitätstyps "Sendung" (s. Sendungen) aufgezeigt werden.

Konfiguration:

Über den Button "Spalte hinzufügen wird eine neue Eigene Spalte angelegt, deren Projektion wie rechts abgebildet konfiguriert werden kann:

  • Jede Instanz des pluralen Textattributs mit dem Subtyp "Container No"(CONTAINER_NO) definiert über seinen Textwert (textValue) genau eine "Containernummer" als Zeichenfolge. Da die Spalte im Kontext einer Sendungsübersicht eine Sendung je Zeile anzeigen soll, wird eine eine Collection Projektion verwendet, die alle Containernummern je Sendung als Listenwert zusammenfasst.

  • Als Feld der Collection kommt der Typisiertes-Attribut (Wertauflöser) mit der folgenden Konfiugration zum Einsatz:

    • Als Attribut wird der Attributtyp "Textattribut" ausgewählt.

    • Als Typ kann daraufhin der Texttyp "Container No" (CONTAINER_NO) ausgewählt werden.

    • Für den Parameter Feld wird das Feld "Text" (textValue) ausgewählt, das typischerweise das ausschlaggebende Merkmal des Textattributs ist.

images/download/attachments/161929139/image-2023-12-11_7-33-30-version-1-modificationdate-1702276416152-api-v2.png

Laufzeitbeispiel:

Der Screenshot rechts zeigt Beispieldaten für die Ausgabe von Containernummern in der mit der Beschriftung "Container" versehenen Spalte:

  • Die von der Collection Projektion gelieferte Liste von Textwerten wird für die Ausgabe als Spalte automatisch im Format [<Eintrag>, <Eintrag>, ... ] aufbereitet, weil dies dem String-Abbild einer Liste entspricht.

  • Wie das Beispiel zeigt, wirkt ein Filterausdruck für den Text (hier: "___U%") als Kriterium für Listeneinträge der Collection Projektion. Konkret erscheinen hier nur Sendungen in der Liste, für die mindesten eine "Containernummer" an der vierten Position den Buchstaben "U" enthält.

images/download/attachments/161929139/image-2023-12-11_8-10-30-version-1-modificationdate-1702278636338-api-v2.png

ANMERKUNG◄ Die Klammern ([]) und Trennzeichen (, ) sind für Filterkriterien nicht greifbar, könnten aber bei Bedarf im Beschriftungsausdruck für die "Eigene Spalte" verarbeitet werden:

Der rechts abgebildete Beschriftungsausdruck verwendet die $replace()-Funktion mit einem Regulären Ausdruck (^.(.*).$), um per Ersetzung das erste und letzte Zeichen - also die in der Ausgabe nicht immer erwünschten eckigen Klammern ([]) - zu eliminieren.

images/download/attachments/161929139/image-2023-12-11_8-50-23-version-1-modificationdate-1702281028737-api-v2.png