Anwenden einer Funktionstransformation - discovery - 23 - 23.1

Spectrum Discovery-Handbuch

Product type
Software
Portfolio
Verify
Product family
Spectrum
Product
Spectrum > Discovery
Version
23.1
Language
Deutsch
Product name
Spectrum Discovery
Title
Spectrum Discovery-Handbuch
First publish date
2007
Last updated
2023-10-25
Published on
2023-10-25T06:23:10.810287

Mithilfe einer Funktionstransformation können Sie Funktionen auf Zeichenfolgenkategorien, numerische Kategorien, Konvertierungskategorien und „DateTime“-Kategorien anwenden, um das Attribut einer logischen Entität oder einen der Parameter einer übergeordneten Funktionstransformation zu definieren.

  1. Wählen Sie auf der Seite Mapping erstellen <Name des logischen Modells> die Entität aus, die dem Attribut entspricht, auf das der transformierte Wert angewendet werden soll. Klicken Sie anschließend auf die einklappbare Registerkarte Transformationen rechts auf der Seite.
    Der Bereich Transformationen wird mit den Namen aller Attribute in der ausgewählten Entität angezeigt. Die Spalte Transformation bleibt zunächst leer. Nach dem Speichern der Transformation zeigt sie den Transformationstyp an.
    Anmerkung: Der Bereich Transformation zeigt die Details der Tabelle des physischen Modells nicht an. Wenn Sie nach dem Klicken auf eine Entität auf die Tabelle eines physischen Modells klicken und den Bereich Transformation öffnen, werden die Details der zuletzt ausgewählten Entität angezeigt.
  2. Wählen Sie das Attribut aus, auf das der transformierte Wert angewendet werden soll. Klicken Sie anschließend auf das Symbol Transformation .
    Das Popup-Fenster Transformation der Spalte ‚<Spaltenname>‘ wird angezeigt.
  3. Wählen Sie die Option Funktion aus, und wählen Sie aus der Dropdown-Liste Kategorie die Kategorie der Funktion aus, die Sie anwenden möchten. Sie können eine dieser Funktionstransformationen ausführen: Wählen Sie String, Numeric, Conversion und Datetime.
    • Funktionstransformation „String“, z. B. die Verkettung von zwei Zeichenfolgenspalten und die linke bzw. rechte Kürzung.
    • Funktionstransformation „Numeric“, z. B. zum Abrufen des absoluten Wertes einer Zahl aus einer Spalte und zum Zurückgeben einer ASCII- oder Unicode-Ganzzahldarstellung eines Zeichens.
    • Funktionstransformation „Conversion“, z. B. zum Konvertieren oder Parsen von Datentypen
      So wenden Sie die Funktionstransformation String an:
      Wählen Sie im Feld Kategorie den Eintrag String aus.
      Wählen Sie den Namen der erforderlichen Zeichenfolgentransformation aus.
      Klicken Sie auf den Pfeil String und verwenden Sie die Option Spalte, Konstante oder Funktion, um die Parameter der Zeichenfolgenfunktion zu definieren. Wenn Sie beispielsweise lcase(string string) als Funktion Name ausgewählt haben, wählen Sie die Zeichenfolge aus, die in Kleinbuchstaben umgewandelt werden soll.
      Anmerkung: Achten Sie bei der Auswahl der Funktion Name darauf, dass der Rückgabetyp der Funktion dem Datentyp der Spalte entspricht, die Sie für die Transformation ausgewählt haben. Der Rückgabetyp wird unter dem Feld Name angezeigt, nachdem Sie den Funktionsnamen ausgewählt haben.
      So wenden Sie die Funktionstransformation Numerican:
      Wählen Sie im Feld Kategorie den Eintrag Numeric aus.
      Wählen Sie den Namen der erforderlichen numerischen Transformation aus.
      Klicken Sie auf den Pfeil Nummer und verwenden Sie die Option Spalte, Konstante oder Funktion, um die Parameter der numerischen Funktion zu definieren. Wenn Sie beispielsweise abs(integer number) als Funktion Name ausgewählt haben, wählen Sie die ganze Zahl aus, die in ihren absoluten Wert umgewandelt werden soll.
      Anmerkung: Achten Sie bei der Auswahl der Funktion Name darauf, dass der Rückgabetyp der Funktion dem Datentyp der Spalte entspricht, die Sie für die Transformation ausgewählt haben. Der Rückgabetyp wird unter dem Feld Name angezeigt, nachdem Sie den Funktionsnamen ausgewählt haben.
      So wenden Sie die Funktionstransformation Conversion an:
      Wählen Sie im Feld Kategorie den Wert Konvertierung aus.
      Wählen Sie den Namen der erforderlichen Konvertierungstransformation aus. Optionen zum Angeben des zu konvertierenden Werts und des Zielausgabeformats werden unter dem Feld Name angezeigt. Wenn Sie beispielsweise parsedouble(string double, string format) als Funktion Name auswählen, werden die Optionen double und format angezeigt, um den Wert und das Format anzugeben.
      Klicken Sie auf double und verwenden Sie die Option Spalte, Konstante oder Funktion, um die ausgewählten Konvertierungsfunktionsparameter zu definieren.
      Anmerkung: Achten Sie bei der Auswahl der Funktion Name darauf, dass der Rückgabetyp der Funktion dem Datentyp der Spalte entspricht, die Sie für die Transformation ausgewählt haben. Der Rückgabetyp wird unter dem Feld Name angezeigt, nachdem Sie den Funktionsnamen ausgewählt haben.
      Wählen Sie das Format, in das der Quellwert konvertiert werden soll, indem Sie eine der folgenden Ziel-Optionen verwenden: Spalte, Konstante oder Funktion. Weitere Informationen finden Sie unter Unterstützte Datentypen für Konvertierungstransformationen.
      Anmerkung: Das Format entspricht dem Standardschema, das in Java Decimal-Formaten spezifiziert ist. Beispiele für Typ und Wert finden Sie in dieser Tabelle, wenn Sie für die Formatangabe die Option Konstante wählen:
      Tabelle 1. DecimalFormat.java-Ausgabe
      Wert Muster Ausgabe Beschreibung
      123456,789 ###.###,### 123.456,789 Das Nummernzeichen (#) steht für eine Ziffer, der Punkt ist ein Platzhalter für das Gruppierungstrennzeichen und das Komma ist ein Platzhalter für das Dezimaltrennzeichen.
      123456,789 ###,## 123456,79 Der Wert hat drei Ziffern nach dem Dezimalkomma, das Muster jedoch nur zwei. Die Formatmethode löst dies durch Aufrunden.
      123,78 000000,000 000123,780 Das Muster gibt vorangehende und nachfolgende Nullen an, da anstelle des Nummernzeichens (#) das Zeichen 0 verwendet wird.
      12345,67 ###.###,### $ 12.345,67 $ Das letzte Zeichen im Muster ist das Dollarzeichen ($). Beachten Sie, dass es in der formatierten Ausgabe durch ein Leerzeichen getrennt am Ende steht.
      Anmerkung: Weitere Informationen zu Dezimalformaten finden Sie unter https://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html und zu Sonderzeichen für Zahlenmuster unter https://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html.
  4. Klicken Sie auf OK.
    Die angewendete Funktionstransformation wird auf der Arbeitsfläche mit einem Transformationsknoten dargestellt.
  5. Klicken Sie auf Speichern.

Beispiel 1: Anwenden einer Funktionstransformation „String“

Wenn Sie beispielsweise Leerzeichen rechts von jedem Wert der Spalte ItemName in der Relation demo_Customers1 des Physical Models kürzen und die gekürzten Werte in die verknüpfte Spalte Name in der Relation Product des Logical Models einfügen möchten, müssen Sie wie folgt vorgehen:
  1. Wählen Sie die Product-Relation auf der Arbeitsfläche aus.
  2. Klicken Sie im Bereich Transformationen neben der Spalte Name auf , und wählen Sie im Popup-Fenster Transformation der Spalte „NAME“ die Option Funktion aus.
  3. Wählen Sie in der Dropdown-Liste Kategorie den Eintrag String aus.
  4. Wählen Sie in der Dropdown-Liste Name die Funktion rtrim(string string) aus.
  5. Die Funktion String wird zu dem Popup-Fenster unter den Eingabefeldern hinzugefügt. Klicken Sie auf diese Funktion, und definieren Sie die Parameter, auf die diese Funktion angewendet werden soll über die Option Spalte so, dass der resultierende Datentyp des Parameters eine Zeichenfolge ist.
  6. Klicken Sie auf OK.
Die angewendete Funktionstransformation wird auf der Arbeitsfläche wie folgt dargestellt:

Beispiel 2: Anwenden der Funktionstransformation Numeric.
  1. Wählen Sie die Spalte productid in der Produktrelation auf der Seite Mapping erstellen.
  2. Klicken Sie im Bereich Transformationen neben der Spalte productid auf und wählen Sie im Popup-Fenster Transformation von Spalte „productid (integer)“ die Option Funktion aus.
  3. Wählen Sie in der Dropdown-Liste Kategorie den Eintrag String aus.
  4. Wählen Sie in der Dropdown-Liste Name abs(integer number) aus. Die Option zum Angeben der erforderlichen Zahl wird unter dem Feld Name angezeigt.
  5. Klicken Sie auf den Zahlenpfeil und verwenden Sie die Spaltenoption, um die Spalte CustID (Integer) der Relation customer_car im Physical Model FramworkDB2 auszuwählen.
  6. Klicken Sie auf OK.

    Dieses Mapping wird auf der Arbeitsfläche angezeigt.