Transformer – Scoped, Global
Die Transformer -API bearbeitet Zeitreihendaten, um die Daten für die Auswertung und Analyse vorzubereiten.
Sie können diese API in bereichsbezogenen und globalen Serverskripts aufrufen. Wenn Sie die Transformer -Klasse verwenden, verwenden Sie den Namespace-Identifier sn_clotho.
// create the start and end time
var start = new GlideDateTime();
start.addSeconds(-1 * 60 * 60);
var end = new GlideDateTime();
//mb_demo_drone is a table with metric fields.
var drones = new GlideRecord("mb_demo_drone");
drones.addQuery("model", "Kingfisher Phantom");
drones.query();
//build a transform that returns a simple average
var builder = new sn_clotho.Transformer(drones);
builder.metric("mb_demo_mt_rem_battery").avg().label("Original");
//execute transform and return result for visualization
var result = builder.execute(start,end);Diese Klasse ist Teil der MetricBase-Anwendung.
Transformer – execute(GlideDateTime start, GlideDateTime end)
Führen Sie die Transformation aus.
Verwenden Sie die Methoden metric() und groupBy(), bevor Sie execute() aufrufen. Die Methode execute() kann nur einmal für jedes Transformer-Objekt aufgerufen werden.
Aktionen, die im Rahmen der Transformation ausgeführt werden, ändern die Daten in der MetricBase-Datenbank nicht.
| Name | Typ | Beschreibung |
|---|---|---|
| start | GlideDateTime | Der Beginn des auszuwertenden Zeitraums. |
| end | GlideDateTime | Das Ende des auszuwertenden Zeitraums. |
| Typ | Beschreibung |
|---|---|
| TransformResult | Die umgewandelten Daten. |
var minutesAgoStart = 60;
var end = new GlideDateTime();
var start = new GlideDateTime(end);
start.addSeconds(-1 * 60 * minutesAgoStart);
// query subject records
var grDrone = new GlideRecord('mb_demo_drone');
grDrone.query();
// building transform; get the average transforms of a metric, grouping by model
var transformer = new sn_clotho.Transformer(grDrone);
transformer.groupBy("fleet").metric("mb_demo_mt_altitude").avg().label('avg - %g:fleet:');
// execute and return result for visualization
var tfrmResult = transformer.execute(start, end);
Scoped Transformer – groupBy(String field)
Geben Sie ein Feld an, das zum Gruppieren der Daten verwendet werden soll.
Wenn Sie die Methode groupBy() verwenden möchten, muss sie vor der Methode execute() aufgerufen werden.
| Name | Typ | Beschreibung |
|---|---|---|
| field | Zeichenfolge | Ein Feld in der Tabelle, das zum Gruppieren der Ergebnisse der Transformation verwendet werden soll. |
| Typ | Beschreibung |
|---|---|
| TransformPart | Ein TransformPart-Objekt, mit dem die Transformationseigenschaften angegeben werden können. |
var transformer = new sn_clotho.Transformer(grDrone);
var trnsfrm = transformer.groupBy("fleet");
Transformer – metric(String metricName)
Geben Sie das Metrikfeld an, das bei der Transformation verwendet werden soll.
Sie können mehrere Metriken angeben, die bei der Transformation verwendet werden sollen. Die Methode metric() kann nicht aufgerufen werden, nachdem die Methode execute() aufgerufen wurde.
| Name | Typ | Beschreibung |
|---|---|---|
| metricName | Zeichenfolge | Name des Metrikfelds. |
| Typ | Beschreibung |
|---|---|
| TransformPart | Ein TransformPart-Objekt, mit dem die Transformationseigenschaften angegeben werden können. |
var transformer = new sn_clotho.Transformer(grDrone);
var trnsfrm = transformer.metric("mb_demo_mt_altitude");
Transformer – Transformer( GlideRecord sourceRecords)
Erstellen Sie ein Transformer-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| sourceRecords | GlideRecord | Enthält die Datensätze, für die Metriken ausgewertet werden sollen. Kann ein Datensatz oder viele Datensätze sein. |
//where drones is a GlideRecord created from a table with a metric field
var builder = new sn_clotho.Transformer(drones);