CSVfox
Leverage Your Data.
 Deutsch

%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.

Er verwendet für jede Zeile der Eingabedatei 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 %merge Befehl beziehen sich auf die Eingabedatei, während sich alle "+"-Befehle danach auf die zusätzlich zusammengeführte Datei beziehen.
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

%merge=filename
%merge[localfield]=filename
%merge[localfield]=[remotefield]@filename

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 Mehrwertsteuersätzen:
umsatzsteuersätze.csv
IDNameSatz
0Mehrwertsteuerfrei0
1Ermäßigte Mehrwertsteuer7
2Normale Mehrwertsteuer19
3Luxus-Mehrwertsteuer25
Und es gibt eine weitere Tabelle mit Artikeln:
artikel.csv
IDBeschreibungPreisMwStfoo
12Brot0.751bla
15Milch1.501blub
18Trousers49.992bar
23Goldene Uhr2000.003was
55Paar Schuhe99.902Marke
Jetzt werden wir die jeweiligen Mehrwertsteuersätze in die Artikeltabelle einfügen:
artikel.csv %merge[MwSt]=[ID]@Mehrwertsteuersätze.csv artikel-mit-mwst.csv
Dies wird die resultierende Tabelle sein:
artikel-mit-mwst.csv
IDBeschreibungPreisMwStfooNameSatz
12Brot0.751blaErmäßigte Mehrwertsteuer7
15Milch1.501blubErmäßigte Mehrwertsteuer7
18Hose49.992barNormale Mehrwertsteuer19
23Goldene Uhr2000.003wasLuxus MwSt25
55Paar Schuhe99.902MarkeNormale MwSt19
Wahlweise:
Wenn Sie dies getan haben, können Sie auch den Bruttopreis in einer zusätzlichen Spalte berechnen und dann die Spalten für eine übersichtlichere Artikeldatei neu anordnen, falls gewünscht.
articles.csv %merge[VAT]=[ID]@vat-rates.csv -add[GrossPrice]="{([Preis]+[VAT]%).2}" -columns=ID,Beschreibung,Preis,Satz,BruttoPreis articles-with-vat.csv
Dies wird die resultierende Tabelle sein:
artikel-mit-mwst.csv
IDBeschreibungPreisSatzBruttopreis
12Brot0.7570.80
15Milch1.5071.60
18Trousers49.991959,49
23Golden Watch2000.00252500.00
55Paar Schuhe99.9019118,88
Under construction, coming soon