DSPL (Generation)

DSPL Gen ist ein Befehlszeilen-Dienstprogramm, mit dem CSV-Datentabelle in ein einfaches DSPL-Dataset um. Das Tool parst die Eingabe. erstellt alle erforderlichen Datentabellen und legt eine DSPL-XML-Datei fest. Das Ergebnis ist ein fast vollständiges Dataset, "Vorlage" der vor dem Hochladen nur geringfügig verfeinert werden muss, Visualisierungen.

Die grundlegende Annahme hinter DSPL Gen ist, dass jede Spalte im CSV-Eingabedatei entspricht einem einzelnen DSPL-Konzept eine einzige Beobachtung für eine Kombination von Dimensionen. Das Tool funktioniert durch die Spalten iterieren und für jede Spalte die Spalte oder Konzept (z.B. ID, Typ, Dimension oder Messwert, usw.) und generieren dann alle notwendigen Konzeptdefinitionen und Segmente, Tabellen.

DSPL Gen ausführen

Syntax

Hinweis:In dieser Anleitung wird davon ausgegangen, dass folgen Sie bereits dem Installationsanleitung finden Sie auf der Seite mit den DSPL-Tools.

Um DSPL Gen auszuführen, gehen Sie zum Terminal / zur Eingabeaufforderung auf Ihrem System und geben Sie Folgendes ein:

python dsplgen.py -o [output path] [path to CSV file] 

wobei die in Klammern gesetzten Begriffe wie folgt ersetzt werden:

  • [output path]: Pfad zum gewünschten Verzeichnis die zu platzierenden Ausgabedateien; Dieses Verzeichnis muss bereits in in Ihrem Dateisystem.
  • [path to CSV file]: Pfad zur eingegebenen CSV-Datei. Weitere Informationen finden Sie in der unten finden Sie weitere Informationen dazu, wie Sie um diese Datei zu formatieren.

Die Komponente „-o [output path]“ ist optional. Bei Auslassung wird der Parameter Ausgabedateien werden im aktuellen Verzeichnis abgelegt.

Das Tool wird dann ausgeführt, iteriert durch Ihre CSV-Datei und extrahiert das Konzept und Slice-Tabellen generieren. Sofern keine Fehler gefunden werden, wird eine XML-Datei und eine oder mehrere CSV-Dateien werden in das Ausgabeverzeichnis geschrieben.

Öffnen Sie abschließend die XML-Datei in einem Texteditor Ihrer Wahl und die gewünschten Änderungen vornehmen. Sie sollten mindestens die Namen, Beschreibungen und anderen Werten, die vom Tool mit dem ** INSERT ... **-Notation.

Einfaches Beispiel

Angenommen, wir haben eine CSV-Datei, in der die Gesamtzahl der Fälle für Krankheit, aufgeschlüsselt nach Monat, Land und Altersgruppe. Der Einfachheit halber nehmen wir an, dass es für jede Dimension zwei Werte gibt:

date,country,age_group,disease_cases
01/2000,US,old,102030
01/2000,MX,old,192939
01/2000,US,young,23131
01/2000,MX,young,12311
02/2000,US,old,143135
02/2000,MX,old,203131
02/2000,US,young,22990
02/2000,MX,young,12591

Wenn das Tool für die obige Eingabe ausgeführt wird, werden vier Dateien erzeugt:

  • dataset.xml: Die DSPL-XML-Vorlage
  • country_table.csv: Werte von country Konzept
  • age_group_table.csv: Werte der Konzept von age_group
  • slice_0_table.csv: Tabelle für Dataset-Slice (identisch mit Eingabetabelle, außer für Sortierung)

In diesem speziellen Fall kann das Tool alle Spaltentypen und -formaten. Jetzt müssen Sie nur noch die XML-Datei und bearbeiten Sie die Namen, Beschreibungen und URLs in den Dataset-Metadaten.

Eingabe-CSV-Datei mit Anmerkungen versehen

Grundlegende Optionen

In vielen Fällen, wie im obigen Beispiel, kann DSPL Gen die grundlegenden Metadaten für jede Spalte, z.B. den Typ, das Format und ob es sich um eine Dimension oder einen Messwert. In anderen Fällen kann das Tool jedoch und zwar falsch oder richtig raten, dennoch nicht das gewünschte Verhalten ein.

Aus diesem Grund unterstützt das Tool das Hinzufügen der DSPL-Generierung Optionen / "Hinweise" in der CSV-Kopfzeile ein. Die Syntax dafür lautet wie folgt: folgt:

column1[option1=value1;option2=value2;...],column2[option1=value1;option2=value2;...],column3[...],...

Beachten Sie insbesondere, dass sich die Optionsliste innerhalb Klammern rechts neben dem Spaltennamen und die Option werden die Einstellungen durch Semikolons getrennt. Jede Option besteht aus einem Optionsname, ein Gleichheitszeichen und einen Optionswert.

DSPL Gen unterstützt derzeit die folgenden grundlegenden Optionen:

Option Beschreibung Standard
type Der DSPL-Datentyp für diese Spalte. muss einer dieser Werte sein: date, float, integer oder string. Anhand von Daten ermittelt
format Das Format dieser Datumsspalte; wie in DSPL, sollte dieses Format wie folgt aussehen: codiert mit dem Joda DateTime-Standard Anhand von Daten ermittelt
slice_role Welche Rolle hat diese Spalte in allen Segmenten? muss entweder dimension oder metric. dimension, wenn die Spalte vom Typ date oder string, andernfalls metric
concept Das kanonische Konzept, das diese Spalte darstellt, z.B. geo:country; wird das Konzept importiert. wird in der XML-Datei erzeugt. Keine
extends Das kanonische Konzept, das diese Spalte erweitert, z.B. entity:entity Keine
parent

Das übergeordnete Konzept dieser Spalte. Dieses übergeordnete Element muss eine Dimension sein im Dataset definiertes Konzept (d.h. nicht importiert); falls angegeben, Diese Informationen werden verwendet, um eine Konzepthierarchie in der Dataset.

Beachten Sie, dass jede untergeordnete Instanz nur ein übergeordnetes Element haben kann. Falls mehrere werden übergeordnete Werte erkannt, gibt das Tool einen Fehler aus.

Keine

Werte auf einen Blick

Zusätzlich zum grundlegenden "Hinweis" die oben beschriebenen Optionen DSPL Gen unterstützt auch Slice-Roll-ups bei einer einzelnen Tabelle. Eingabe, kann das Tool automatisch zusätzliche Tabellen mit begrenzten Teilmengen der Dimensionen. Wenn Ihre Eingabetabelle beispielsweise ein Segment mit drei Nicht-Zeitdimensionen (z.B. dimension1, dimension2 und dimensions3), kann das Tool und weitere Segmente erstellen: nur dimension1, nur dimension2, nur dimension1 und dimension2 usw.

Wenn Sie diese zusätzlichen Segmente hinzufügen, können Sie Ihr Dataset leichter untersuchen da so die Anzahl der Dimensionsfilter reduziert wird, Visualisierungen. Andererseits kann dieser Prozess zu einem „neuen“ Daten nicht in der Originaldatei gefunden wurden, sodass Fehler auftreten können, wenn nicht richtig verwendet; überprüfen Sie die mit Ihrem Konto verknüpften Nummern sorgfältig, bevor Sie Ihre Dataset.

Der Rollup-Vorgang wird durch das Einfügen einiger zusätzlicher Optionen in den eingegebenen CSV-Header:

Option Beschreibung Standard
aggregation Die Aggregationsmethode, die beim Kombinieren mehrerer Werte verwendet werden soll Spalte hinzufügen. AVG, COUNT, MAX, MIN oder SUM; nur sinnvoll für Messwerte. SUM
rollup Wenn der Wert true ist, gilt das Konzept für Diese Spalte ist zusammengefasst. (d.h. aggregierte Daten); Dies ist nur für Dimensionskonzepte sinnvoll. Falsch
total_val Der Wert in dieser Spalte, der angibt, welche Zeilen beibehalten werden, Spalte mit Zusammenfassung; Dies ist nur für Dimensionskonzepte sinnvoll. None

DSPL Gen berechnet dann die Sammel-Properties mit dem folgenden Algorithmus:

  • Berechnen Sie mithilfe der Werte der rollup-Tags alle möglichen Spaltenkombinationen
  • Für jede Kombination gilt: <ph type="x-smartling-placeholder">
      </ph>
    • Wenn eine Zusammenfassung der Spalten den Parameter total_val enthält festlegen und dann die Zeilen nach diesem Wert filtern; Wählen Sie andernfalls alle Zeilen aus.
    • Zusammengefasste Spalten entfernen
    • Die Zeilen nach den Werten der verbleibenden Dimensionsspalten gruppieren
    • Sie aggregieren jeden Messwert mithilfe der Methode, die in der aggregation-Parameter
    • Erstellen Sie ein Segment und eine zugehörige Tabelle für das Ergebnis

Wenn in jeder Gruppierung nur ein einziger Wert vorhanden ist und der Parameter Aggregationsfunktion auf SUM (Standardwert) gesetzt ist, dann ist die Messwerte in der Quelltabelle und den generierten Tabellen sind identisch, d. h., es gibt keine neuen Werte. generiert werden. Verwenden Sie also den Parameter total_val und stellen Sie sicher, dass es nur eine einzige "Gesamtzahl" für jede Kombination der anderen können Sie vorab berechnete Aggregate direkt in der Quelle speichern.

Warnung: Die Anzahl der generierten Segmente beträgt gleich 2aufgerollten Spalten. Wenn Sie diese Option kann die Anzahl der Spalten sehr lange und/oder lange dauern. Datasets.

Erweitertes Beispiel

Angenommen, wir haben dieselben Eingabedaten wie im vorherigen Beispiel, jetzt auch länderübergreifende Zusammenfassungen:

date,country,age_group,disease_cases
01/2000,US,old,102030
01/2000,MX,old,192939
01/2000,total,old,152012
01/2000,US,young,23131
01/2000,MX,young,12311
01/2000,total,young,241011
02/2000,US,old,143135
02/2000,MX,old,203131
02/2000,total,old,211310
02/2000,US,young,22990
02/2000,MX,young,12591
02/2000,total,young,240131

Die Summe der einzelnen Altersgruppen stimmt möglicherweise nicht mit der Summe der Länderwerte überein weil z. B. Unterschiede in der Methodik oder das Vorhandensein von aus anderen Ländern, die nicht in der Liste aufgeführt sind.

Wir möchten nun ein DSPL-Dataset erstellen, das die folgenden zusätzlichen Funktionen:

  1. „Sammeln“ um die Gesamtkrankheit zu erhalten, Fälle allein nach Altersgruppe
  2. Kanonische geo:country verwenden für die Spalte country, damit wir automatisch die vollständigen Namen, Standorte usw. für diese
  3. Das disease_cases-Konzept muss quantity:amount erweitert werden. damit wir der XML-Datei (manuell) Informationen zur Einheit hinzufügen können.

Dazu ändern wir die Kopfzeile der Eingabe-CSV-Datei wie folgt:

date,country[concept=geo:country;rollup=true;total_val=total],age_group,disease_cases[extends=quantity:amount]

Wenn wir das Tool erneut ausführen, erhalten wir eine zusätzliche Slice-Tabelle, entfällt die Unterscheidung nach Land:

date,age_group,disease_cases
01/2000,old,152012
02/2000,old,211310
01/2000,young,241011
02/2000,young,240131

Wenn wir die Gesamtwerte und den Wert total_val-Tag in der Quelltabelle enthält, hätten wir den Fehlercode Summe für jede Altersgruppe berechnet.

Außerdem enthält die Definition von disease_cases in der XML-Datei enthält jetzt wie gewünscht die Erweiterung von quantity:amount. Die Die Definition von country wird aus der XML-Datei entfernt, weil verwenden wir stattdessen ein importiertes Konzept.

Nach Eingabe der Namen, Beschreibungen und Angaben zu den Einheiten können Sie das Dataset-Bundle komprimieren und in den Public Data Explorer hochladen, Visualisierung.