%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 alle Felder zusammen in die Ausgabedatei geschrieben (sofern sie nicht versteckt sind, siehe auch ±hide 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 Zusatzdatei mit der ersten Spalte der Eingabedatei verglichen.
Wenn nur das Feld für den lokalen Schlüssel definiert ist, verwendet der Befehl eine Spalte der zusätzlichen Datei mit dem gleichen Namen wie diese Spalte. 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 wird, wird er mit der ersten Spalte der Eingabedatei verglichen.
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 |