Datenquellen mit dem Match-Assistent kombinieren

Vorgehensweise:

Referenz:

Sie können zwei oder mehrere Datenquellen kombinieren und dabei angeben, welche Datensätze aufgenommen werden und welche aussortiert werden sollen, indem Sie den Match-Assistent MATCH-Befehl verwenden. Der Assistent Befehl erstellt eine neue Datenquelle (eine HOLD-Datei), in der Felder aus ausgewählten Datensätzen zusammengelegt werden. Sie können Reports mit der neue Datenquelle erstellen und diese wie jede andere HOLD-Datei verwenden. Sie können jedoch kein Format für die HOLD-Datei angeben. Sie wird abhängig vom Wert des HOLDFORMAT-Parameters als eine BINARY- oder eine ALPHA HOLD-Datei erstellt. Das Kombinieren ändert die ursprünglichen Datenquellen nicht.

Sie wählen die Datensätze, die in die neue Datenquelle aufgenommen werden sollen, aus, indem Sie Sortierfelder im Match-Assistent MATCH-Befehl angeben. Sie geben (mit der BY-Phrase) eine Sortierfeldgruppe für die erste Datenquelle an und eine zweie Sortierfeldgruppe für die zweite Datenquelle. Der Match-AssistentMATCH-Befehl vergleicht alle Sortierfelder, die für beide Datenquellen angegeben worden sind und nimmt dann alle Datensätze aus der ersten Datenquelle, deren Sortierwerte mit denen in der zweiten Datenquelle übereinstimmen, in die neue HOLD-Datei auf. Sie können bis zu 32 Sortiergruppen angeben. Hierzu gehört die Anzahl gemeinsamer Sortierfelder.

Zusätzlich zum Kombinieren von Datenquellen mit gemeinsamen Werten können Sie Datensätze auch auf anderen Beziehungen basierend kombinieren. Sie können z. B. alle Datensätze in Datenquellen kombinieren, deren Sortierwerte nicht mit der anderen Datenquelle übereinstimmen. Eine weitere Methode ist es, alle Datensätze der ersten Datenquelle mit den übereinstimmenden Datensätzen der zweiten Datenquelle zu kombinieren.

Sie können bis zu 16 Datengruppen in einer Match-Anfrage kombinieren. Sie können z. B. verschiedene Datenquellen oder Daten derselben Datenquelle kombinieren.

Hinweis: Die Begrenzung auf 16 gilt für hoch komplexe Anfragen. Einfachere Anfragen können ggf. mehr als 16 Datenquellen kombinieren.

Greifen Sie auf den Match-Assistent über den Procedure Viewer in Developer Studio zu. Es wird normales Assistent-Verhalten verwendet, so dass Sie einfach von einem Schritt zum nächsten gelangen können.


Nach oben

x
Syntax: Datenquellen kombinieren

Die Syntax des MATCH-Befehls ist der des TABLE-Befehls ähnlich:

MATCH FILE file1 
.
.
.
RUN 
FILE file2 
.
.
.
[AFTER MATCH merge_phrase]
RUN 
FILE file3 
.
.
.
[AFTER MATCH merge_phrase]
END

Hierbei gilt:

file1

Ist die erste Datenquelle, aus der MATCH die gewünschten Datensätze abruft.

merge_phrase

Gibt an, wie die aus den Dateien abgerufenen Datensätze verglichen werden sollen. Genauere Informationen finden Sie unter Kombinationsphrasen.

file2/file3

Sind zusätzliche Datenquellen, aus denen MATCH gewünschte Datensätze abruft.

Beachten Sie, dass auf jeden AFTER MATCH-Befehl (außer dem letzten) ein RUN-Befehl folgen muss. Der END-Befehl muss auf den letzen AFTER MATCH-Befehl folgen.

MATCH erzeugt eine HOLD-Datei mit nur einem Segment. Sie können die Inhalte der HOLD-Datei drucken, indem Sie den PRINT-Befehl zusammen mit dem Platzhalterzeichen (*) ausgeben. Weitere Informationen zu diesem Thema finden Sie unter Datenquellen kombinieren.


Nach oben

x
Vorgehensweise: Den Match-Assistent verwenden
  1. Klicken Sie im Procedure Viewer auf einen Komponenten-Konnektor (gelber Diamant).

    Die Komponenten-Konnektor-Toolbar öffnet sich.

  2. Klicken Sie in der Komponenten-Konnektor-Toolbar auf Match .

    Die Dialogbox Öffnen wird aufgerufen.

  3. Wählen Sie die erste Masterdatei aus, die in der logischen MATCH-Formel verwendet werden soll, wie es in der folgenden Abbildung zu sehen ist.

  4. Klicken Sie auf Öffnen.

    Es wird der Match-Assistent geöffnet, wie es in der folgenden Abbildung zu sehen ist. Es wird typisches Assisten-Verhalten verwendet, wobei Sie auf mehrere Weiter--Buttons klicken, um von einem Fenster zum nächsten zu gelangen. Sie können auch die Match-Vorschau verwenden, um im Assistent zu navigieren.

  5. Wählen Sie in der Verfügbare Felder-Liste die Felder aus, die Sie verwenden möchten, um die Match-Anfrage zu erstellen.

    Sie können für jedes Feld einen Match-Alias hinzufügen (wie das Feld in der Hold-Datei-Feldliste angezeigt wird) und einen Präfixoperator.

    Hinweis: Sie können Felder aus dieser Liste entfernen, indem Sie auf den Löschen-Button klicken. Wenn Sie mehr als ein Feld hinzufügen, können Sie auch die Buttons Nach oben verschieben und Nach unten verschieben verwenden, um die Reihenfolge der Dateien zu ändern.

  6. Wählen Sie in der Dropdown-Liste entweder PRINT, SUM oder LIST aus.
  7. Klicken Sie, um ein Feld als ein BY-Feld hinzuzufügen, auf ein Feld in der Verfügbare Felder-Liste und klicken Sie auf den Feld hinzufügen-Button im BY-Felder-Listenfeld.

    Hinweis: Sie müssen wenigstens ein BY-Feld haben.

  8. Klicken Sie auf den Where/If-Tab, wenn Sie eine WHERE-Formel oder eine IF-Bedingung erstellen möchten. Dies schränkt die Datensätze ein, die kombiniert werden.
  9. Klicken Sie auf die Schaltfläche WHERE-Formel hinzufügen oder IF-Bedingung hinzufügen , um den Expression Builder zu öffnen. Verwenden Sie den Expression Builder, um die Where/If-Bedingung zu erstellen.
  10. Klicken Sie auf Weiter. Es wird der Schritt 3 des Assistent geöffnet, wie es in der folgenden Abbildung zu sehen ist.

  11. Klicken Sie auf den Durchsuchen-Button, um die Datenquelle auszuwählen, die Sie mit der ursprünglichen Datenquelle kombinieren möchten.

    Die Open-Dialogbox wird geöffnet.

  12. Wählen Sie eine Masterdatei aus und klicken Sie auf Öffnen.
  13. Klicken Sie auf Weiter.

    Schritt 4 des Assistenten wird geöffnet.

  14. Fügen Sie die Felder für die zweite Datenquelle hinzu sowie Where/If-Kriterien, wie im Schritt 5.

    Hinweis: In der folgenden Abbildung ist die zweite Datenquelle CENTCOMP und das hinzugefügte Feld ist STATE.

  15. Klicken Sie auf Weiter.

    Es wird der Schritt 5 des Match-Assistent geöffnet, wie es in der folgenden Abbildung zu sehen ist.

  16. Geben Sie einen Namen für die Hold-Datei ein und wählen Sie den Typ der Match-Phrase aus.
  17. Klicken Sie auf Beenden.

    Es wird in der nachfolgenden Abbildung das Fenster Match-Assistent - Übersicht geöffnet, in dem Sie die endgültige Match-Anfrage ansehen können.

  18. Falls Sie:
    • Ihre Match-Anfrage fertiggestellt haben, wählen Sie die Option Einen Report erstellen, Ein Diagramm erstellen oder Weder noch aus und klicken Sie auf Schließen. Klicken Sie optional auf die Die HOLD-Datei an einer dauerhaften Stelle speichern-Checkbox. Wenn Sie diese Option auswählen, wird die HOLD-Datei im aktuellen Projektverzeichnis gespeichert, wie es in dieser Abbildung zu sehen ist.

      Es wird, wenn Sie die Option Einen Report erstellen, Ein Diagramm erstellen oder Weder noch auswählen, wird entsprechend der Report Painter, InfoAssist oder der Procedure Viewer geöffnet.

    • Weitere Änderungen an der Match-Anfrage vornehmen möchten, klicken Sie Zurück oder verwenden Sie die Match-Vorschau. Siehe Eine Match-Anfrage bearbeiten.

Nach oben

x
Vorgehensweise: Eine Match-Anfrage bearbeiten
  1. Öffnen Sie die Match-Anfrage.
  2. Klicken Sie in der Match-Vorschau auf die Datei oder die Option, die Sie bearbeiten möchten. Es wird im Match-Assistent im linken Bereich der entsprechende Schritt geöffnet.
  3. Nehmen Sie die gewünschten Änderungen vor und schließen Sie den Assistent.

Nach oben

x
Referenz: Verwendungshinweise für Match-Anfragen


Beispiel: Datenquellen kombinieren
MATCH FILE EDUCFILE
SUM COURSE_CODE
BY EMP_ID
RUN
FILE EMPLOYEE
SUM LAST_NAME AND FIRST_NAME
BY EMP_ID BY CURR_SAL
AFTER MATCH HOLD OLD-OR-NEW
END
-******************************
-*  PRINT CONTENTS OF HOLD FILE
-******************************
TABLE FILE HOLD
PRINT *
END

Die Kombinationsphrase in diesem Beispiel ist OLD-OR-NEW. Dies bedeutet, dass sowohl Datensätze aus der ersten (alten) Datenquelle als auch aus der zweiten (neuen) Datenquelle in der HOLD-Datei angezeigt werden.

Beachten Sie, dass, wenn Sie in der Befehlszeile vom Developer Studio arbeiten, nach der Eingabe des RUN-Befehls eine Meldung mit der Anzahl der abgerufenen Datensätze angezeigt wird und Sie, falls Sie die MATCH-Anfrage in der Befehlszeile eingeben, aufgefordert werden, den Namen der nächsten Datenquelle einzugeben, die aufgenommen werden soll.

Die Ausgabe ist:

EMP_ID     COURSE_CODE         CURR_SAL  LAST_NAME        FIRST_NAME
------     -----------         --------  ---------        ----------
071382660  101               $11,000.00  STEVENS          ALFRED    
112847612  103               $13,200.00  SMITH            MARY      
117593129  203               $18,480.00  JONES            DIANE     
119265415  108                $9,500.00  SMITH            RICHARD   
119329144                    $29,700.00  BANNING          JOHN      
123764317                    $26,862.00  IRVING           JOAN      
126724188                    $21,120.00  ROMANS           ANTHONY   
212289111  103                     $.00                             
219984371                    $18,480.00  MCCOY            JOHN      
315548712  108                     $.00                             
326179357  301               $21,780.00  BLACKWOOD        ROSEMARIE 
451123478  101               $16,100.00  MCKNIGHT         ROGER     
543729165                     $9,000.00  GREENSPAN        MARY      
818692173  302               $27,062.00  CROSS            BARBARA   

WebFOCUS