Transformer - スコープ指定、グローバル
時系列データを操作して、評価と分析のためのデータを準備します。
Transformer クラスは、スコープ指定、およびグローバルのサーバースクリプトで使用できます。 Transformer クラスを使用する場合は、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);このクラスは、MetricBase アプリケーションの一部です。
Transformer - execute(GlideDateTime start, GlideDateTime end)
変換を実行します。
execute() を呼び出す前に、metric() および groupBy() メソッドを使用します。execute() メソッドは、Transformer の各オブジェクトに対して 1 回だけ呼び出すことができます。
変換の一環で実行されるアクションによって MetricBase データベースのデータが変更されることはありません。
| 名前 | タイプ | 説明 |
|---|---|---|
| start | GlideDateTime | 評価対象の期間の最初。 |
| end | GlideDateTime | 評価対象の期間の最後。 |
| タイプ | 説明 |
|---|---|
| TransformResult | 変換されたデータ。 |
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);
スコープ指定の Transformer - groupBy(文字列 field)
データのグループ化に使用するフィールドを指定します。
groupBy() メソッドを使用する場合は、execute() メソッドの前に呼び出す必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| フィールド | 文字列 | 変換結果をグループ化するために使用されるテーブル内のフィールド。 |
| タイプ | 説明 |
|---|---|
| TransformPart | 変換の特性を指定するために使用できる TransformPart オブジェクト。 |
var transformer = new sn_clotho.Transformer(grDrone);
var trnsfrm = transformer.groupBy("fleet");
Transformer - metric(文字列 metricName)
変換で使用する測定基準フィールドを指定します。
変換で使用する複数の測定基準を指定できます。execute() メソッドが呼び出された後に metric() メソッドを呼び出すことはできません。
| 名前 | タイプ | 説明 |
|---|---|---|
| metricName | 文字列 | 基準フィールドの名前 |
| タイプ | 説明 |
|---|---|
| TransformPart | 変換の特性を指定するために使用できる TransformPart オブジェクト。 |
var transformer = new sn_clotho.Transformer(grDrone);
var trnsfrm = transformer.metric("mb_demo_mt_altitude");
Transformer - Transformer( GlideRecord sourceRecords)
Transformer オブジェクトを作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| sourceRecords | GlideRecord | 測定基準が評価されるレコードが入ります。1 つまたは複数のレコードを指定できます。 |
//where drones is a GlideRecord created from a table with a metric field
var builder = new sn_clotho.Transformer(drones);