Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Concatenate - wie wende ich es an?

Ich habe zwei SQL Tabellen, die ich in die gleiche QVD im Generator laden möchte. Die Spalten a und b sind gleich. die anderen Spalten unterschiedlich. Ich will aber Spalten von beiden Tabellen übernehmen.

Also bekannt

Load

a,

b,

c;

Select a, b, c from table_x;

Concatenate

Load

a,

b,

d,

e,

f;

Select a, b, c from table_y;

Was kann schief gelaufen sein, wenn ich keine Verbindung von beiden Tabellen erreicht habe.Ich habe die Concatenate - Funktion nicht ganz verstanden.

8 Replies
datanibbler
Champion
Champion

Hallo Matthias,

also, die Syntax für einen SQL_SELECT ist noch ein bisschen falsch. Aber das kriegst Du hin, denk ich.

Wenn Du beide Tabellen einfach separat lädst, ohne > Concatenate <, dann werden sie erst mal automatisch anhand der gleich benannten Felder, also A und B, verlinkt.

Dan musst Du diese beiden Tabellen nicht aneinanderhängen (vertikal), sondern joinen (horizontal). Dabei werden sie dann automatisch auf den Spalten A und  B gejoint, weil die gleich benannt sind.

Damit hast Du dann eine Tabelle mit allen Spalten A bis F.

HDH

robert_mika
Master III
Master III

Es gibt keine c in Tabelle y ....?

Select a, b, c from table_y;

Können Sie Ihre QVD oder screeshoot angebracht ?

Not applicable
Author

Die Sache ist, ich will im Script QVD's mit den grundsätzlichen, festen Angaben, Kundennummer, Adresse oder Lieferantennummer,..., Länder, Postleitzahlen, also Kunden.qvd, Länder.qvd, Lieferant.qvd, PLZ.qvd

Und daneben eine QVD, die die Daten enthält, Umsatz, Einkaufspreis, Bestelldatum, zu den jeweiligen Äufträgen. Die ist dann auch entsprechend umfangreicher. Klappte bisher auch ganz gut so. Daher verknüpfe ich die Daten aus den zwei Tabellen.

Not applicable
Author

Nein, es gibt keine Spalte c in der table_y. Dafür aber x andere Spalten, deswegen will ich beide Tabellen auch verknüpfen um eine umfangreiches Datentool zu haben.

Aber ist dies für Concatenate Vorraussetzung?

Not applicable
Author

Die Datei kann ich leider nicht anhängen, die mit den Vertriebspositionsdaten hat 177 MB. Die mit den Kunden.qvd hat nur 143 KB. Daher packe ich die festen Daten in die kleinen, kann mir dann schnelle Apps bauen. Also eine für Lieferanten. Dann eine für Kunden. Ländercheck,..

Not applicable
Author

Bei Concentanete werden beide Tabellen rücksichtslos hintereinander gereiht, aber mit allen Spalten, die geladen werden, d .h. die jeweilig fehlenden Spalten von z. B. table_x sind dann leer. Hat man aber einen >Key<, kann man die Zeilen über die Dimensionen später in den Apps zusammenbringen.

Man braucht einen gemeinsamen >Key< um sie später zu bündeln. Die Tabellenfelder a, b büssten eindeutig sein, sonst werden sie nicht später in den Apps zusammengebracht. Hier liegt wohl mein Fehler.

MarcoWedel

Hi,

es könnte tatsächlich sinnvoller sein, die Daten wie von DataNibbler beschrieben, zu joinen, anstatt sie aneinanderzuhängen, und anschließend in den Visualisierungsobjekten zusammengehörende Zeilen umständlich wieder zusammenfassen zu müssen.

Auch das Belassen der beiden geladenen Tabellen ist eine Option. In Deinem Beispiel würden hier allerdings synthetische Schlüssel entstehen, die allerdings nicht unbedingt schaden müssen, siehe

Should We Stop Worrying and Love the Synthetic Key?

Gruß

Marco

Anonymous
Not applicable
Author

Vielleicht hilft dir zum grundlegenden Verständnis ein Überblick über die Join Möglichkeiten.

Join - QlikView Info