%merge
Fügt alle Felder aus einer zusätzlichen CSV Datei in die aktuelle Zeile ein.
Beschreibung
Dieser Befehl fügt zusätzliche Spalten aus einer anderen CSV Datei in die aktuelle Zeile der Eingabedatei ein.Für jede Zeile der Eingabedatei verwendet er ein lokales und ein entferntes Schlüsselfeld und vergleicht beide Felder, um die richtigen Daten (CSV Zeile) in der zusätzlichen Datei zu finden. Dann fügt es die Felder dieser Zeile an die lokalen Datenfelder an.
Alle "+"-Befehle vor dem
Alle "-" Spalten- oder Feldbefehle beziehen sich dann auf die kombinierten Eingabe- und zusammengeführten Felder in der Ausgabedatei. Schließlich werden dann alle Felder zusammen in die Ausgabedatei geschrieben (sofern sie nicht nachträglich entfernt wurden, siehe auch ±delete und ±columns).
Muster
Wenn alle Feldnamen weggelassen werden, verwendet der Befehl die erste Spalte der Eingabedatei als lokalen Schlüssel und, falls vorhanden, eine Spalte mit demselben Namen in der zusätzlichen Datei als entfernten Schlüssel.
Wenn es keine Spalte mit einem identischen Spaltennamen gibt, wird die erste Spalte in der zusätzlichen Datei mit der ersten Spalte der Eingabedatei verglichen.
Wenn nur das lokale Schlüsselfeld oder der Ausdruck definiert ist, verwendet der Befehl das gleichnamige Feld oder den gleichen Ausdruck für die zusätzliche Datei. Wenn eine solche Spalte nicht existiert, wird die erste Spalte der zusätzlichen Datei als entfernter Schlüssel verwendet.
Wenn nur der entfernte Schlüssel angegeben ist, wird er mit der ersten Spalte der Eingabedatei verglichen.
Wenn weder der lokale noch der entfernte Schlüssel definiert sind, werden die ersten Spalten jeder Tabelle als Schlüssel für den Abgleich verwendet.
Beispiele für die Verwendung
Angenommen, wir haben eine Tabelle mit Artikeln:ID | Description | Price | VAT | foo |
---|---|---|---|---|
12 | Bread | 0.75 | 1 | bla |
15 | Milk | 1.50 | 1 | blub |
18 | Trousers | 49.99 | 2 | bar |
23 | Golden Watch | 2000.00 | 3 | what |
55 | Pair of Shoes | 99.90 | 2 | brand |
Und es gibt eine weitere Tabelle über die Mehrwertsteuersätze:
ID | Name | Rate |
---|---|---|
0 | VAT free | 0 |
1 | Reduced VAT | 7 |
2 | Normal VAT | 19 |
3 | Luxus VAT | 25 |
Wie wir sehen können, ist die Spalte
Auf diese Weise können wir die jeweiligen Mehrwertsteuersätze in die Artikeltabelle einfügen:
- articles.csv %merge[VAT]=[ID]@vat-rates.csv articles-with-vat.csv
ID | Description | Price | VAT | foo | ID | Name | Rate |
---|---|---|---|---|---|---|---|
12 | Bread | 0.75 | 1 | bla | 1 | Reduced VAT | 7 |
15 | Milk | 1.50 | 1 | blub | 1 | Reduced VAT | 7 |
18 | Trousers | 49.99 | 2 | bar | 2 | Normal VAT | 19 |
23 | Golden Watch | 2000.00 | 3 | what | 3 | Luxus VAT | 25 |
55 | Pair of Shoes | 99.90 | 2 | brand | 2 | Normal VAT | 19 |
Wahlweise:
Wenn Sie dies getan haben, können Sie auch den Bruttopreis in einer zusätzlichen Spalte berechnen.
Zu guter Letzt können Sie die Spalten neu anordnen, um eine übersichtlichere Artikeldatei zu erhalten, falls gewünscht.
- articles.csv %merge[VAT]=[ID]@vat-rates.csv -add[GrossPrice]="{([Price]+[VAT]%).2}" -columns=ID,Description,Price,Rate,GrossPrice articles-with-vat.csv
ID | Description | Price | Rate | GrossPrice |
---|---|---|---|---|
12 | Bread | 0.75 | 7 | 0.80 |
15 | Milk | 1.50 | 7 | 1.60 |
18 | Trousers | 49.99 | 19 | 59,49 |
23 | Golden Watch | 2000.00 | 25 | 2500.00 |
55 | Pair of Shoes | 99.90 | 19 | 118,88 |