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.
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:
Ist die erste Datenquelle, aus der MATCH die gewünschten Datensätze abruft.
Gibt an, wie die aus den Dateien abgerufenen Datensätze verglichen werden sollen. Genauere Informationen finden Sie unter Kombinationsphrasen.
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.
Die Komponenten-Konnektor-Toolbar öffnet sich.
Die Dialogbox Öffnen wird aufgerufen.
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.
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.
Hinweis: Sie müssen wenigstens ein BY-Feld haben.
Die Open-Dialogbox wird geöffnet.
Schritt 4 des Assistenten wird geöffnet.
Hinweis: In der folgenden Abbildung ist die zweite Datenquelle CENTCOMP und das hinzugefügte Feld ist STATE.
Es wird der Schritt 5 des Match-Assistent geöffnet, wie es in der folgenden Abbildung zu sehen ist.
Es wird in der nachfolgenden Abbildung das Fenster Match-Assistent - Übersicht geöffnet, in dem Sie die endgültige Match-Anfrage ansehen können.
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.
Genaueres finden Sie im Handbuch Reports mit der WebFOCUS-Sprache erstellen .
Details finden Sie in Reportdaten anzeigen.
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 |