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-Vorlagecountry_table.csv
: Werte voncountry
Konzeptage_group_table.csv
: Werte der Konzept vonage_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 eine Zusammenfassung der Spalten den Parameter
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:
- „Sammeln“ um die Gesamtkrankheit zu erhalten, Fälle allein nach Altersgruppe
- Kanonische
geo:country
verwenden für die Spaltecountry
, damit wir automatisch die vollständigen Namen, Standorte usw. für diese - Das
disease_cases
-Konzept mussquantity: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.