7.3 Für jedes MARC-Feld eine Spalte

Aktuell sind die Inhalte eines Datensatzes über viele Zeilen verteilt. Die MARC-Felder stehen untereinander in Zeilen. Wir transformieren die Daten nun so, dass die Daten wie in einer üblichen Tabelle strukturiert sind, d.h.:

  • Die MARC-Felder in den Spaltenüberschriften.
  • Jeder Datensatz nur über eine Zeile.

Hinweise:

  • Wir nutzen dazu die Funktion "Transpose / Columnize by key/value columns". Vor dem Transpose müssen die Daten in zwei Spalten zusammengeführt werden.
  • Für manche zeilenbasierte Operationen müssen Sie wieder auf den Modus "Rows" (statt "Records") wechseln.
  • In der Version 2.6rc2 von OpenRefine ist ein Bug in der Funktion Columnize by key/value columns, daher müssen wir für diese Aufgabe die Version 2.6rc1 oder die aktuelle Entwicklungsversion nutzen.
sudo docker run --rm -p 8888:3333 -v /home/stud/refine:/data felixlohmeier/openrefine:2.6rc1 -i 0.0.0.0 -m 3G -d /data

Vorgehen

Beenden Sie zunächst OpenRefine auf der Kommandozeile (mit STRG+C) und starten Sie die Version 2.6rc1 von OpenRefine mit dem obigen Befehl. Da der Container mit der anderen Version von OpenRefine erst heruntergeladen werden muss, dauert das einen Moment länger. Anschließend können Sie OpenRefine wie gewohnt im Browser öffnen.

Schritt 1: Öffnen Sie das in Kapitel 7.2 erstellte Projekt. Wechseln Sie dazu auf die Startseite von OpenRefine und klicken Sie im Menü "Open Project" das Projekt an.

Schritt 2: Vorerst nicht benötigte Spalten löschen

  • All / Edit columns / Re-order / remove columns...
  • Spalten "record", "record - datafield", "record - datafield - ind1", "record - datafield - ind2" "record-controlfield" und "record-controlfield-tag" nach rechts schieben

Schritt 3: MARC-Felder durchgängig belegen

  • Spalte "record - datafield - tag" / Edit cells / Fill down

Schritt 4: PPN aus Spalte record-leader in Spalte mit MARC-Feldern verschieben (und dafür eine neue Zeile einfügen)

  • Spalte "record - leader" / Add Column based on this column...; Name für neue Spalte: NEU
  • Spalte "record - leader" / Transpose / Transpose cells across columns into Rows; In der zweiten Feldliste Spalte NEU ganz oben auswählen, rechts die Option "One column" auswählen und Name PPN eingeben
  • Spalte "record - datafield - tag" / Facet / Customized facets / Facet by blank / Wert true auswählen und in Modus "rows" wechseln
  • Spalte "record - datafield - tag" / Edit cells / Transform... / Wert "001" (also mit Anführungszeichen) eingeben und Facette schließen
  • Spalte "record - datafield - tag" / Facet / Text facet / Wert 001 auswählen
  • Spalte "record - datafield - subfield" / Edit cells / Transform... / Wert cells["PPN"].value eingeben und Facette schließen

Schritt 5: MARC-Feld mit Feld MARC-Code zusammenfassen

  • Spalte "record - datafield - tag" / Edit cells / Transform... den Wert value + " : " + cells["record - datafield - subfield - code"].value eingeben
  • Spalte "record - datafield - subfield - code" / Edit column / Remove this column

Schritt 6: Sortieren und Aufräumen

  • Spalte "PPN" / Edit cells / Fill down
  • Spalte "PPN" / Sort...
  • Spalte "record - datafield - tag" / Sort...
  • Im neu verfügbaren Menü "Sort" den Menüpunkt "Reorder rows permanently" auswählen
  • Spalte "PPN" / Edit column / Remove this column

Schritt 7: Felder mit Mehrfachbelegungen zusammenführen

  • Spalte "record - datafield - tag" / Edit cells / Blank down
  • Spalte "record - datafield - subfield" / Join multi-valued cells und als Trennzeichen angeben (das Trennzeichen Unit Separator ␟ aus dem Unicode-Zeichensatz kommt mit Sicherheit nicht in den Daten vor, daher ist dieses gut geeignet. Das Zeichen ist am einfachsten per copy & paste einzufügen).

Schritt 8: Transpose

  • Spalte "record - datafield - tag" / Transpose / Columnize by key/value columns...

Schritt 9: Leere Zeile löschen

  • Spalte "001" / Facet / Customized facets / Facet by blank / Wert true auswählen
  • All / Edit rows / Remove all matching rows und Facette schließen

Literatur

results matching ""

    No results matching ""