Expression 機能
Expression 機能では、SORACOM Harvest Data 上のデータを SORACOM Lagoon の Dashboard へ可視化する前に演算や再集計などの加工をします。
- 可視化の種類として Graph を選択した場合、Expression 機能で追加した系列に対して Alert は設定できません。
- SORACOM Harvest Data に格納する前にデータを演算するサービスとして SORACOM Orbit があります。こちらの利用も検討してください。
Expression 機能は、Public beta です。
Expression 機能による演算
あるセンサーから温度データが華氏で送信されており、摂氏で表示したいシナリオを考えます。
をクリックして Expression を作成します。
Operation (操作) で Math
を選択し、Expression に計算式を記載します。$A
は計算対象の Query 名を指します。
これで摂氏温度として B
が表示されるようになりました。A
を非表示にして B
の Expression 名を に変更します。Query や Expression の表示 / 非表示は
のアイコンで切り替えられます。また、Query 名 や Expression 名横の
アイコンで名称変更ができます。
Expression 機能による平均などの算出
あるセンサーから温度データが 30 秒ごとに送信されており、全体の平均・最大・最小などを算出したいシナリオを考えます。
をクリックして Expression を作成します。
Operation (操作) で Reduce
を選択し、Input に再集計対象のメトリックを選択します。今回の例では平均を出すので は Mean
、 は A
を選択します。
の設定値は以下に記載します。
設定値名 | 意味 |
---|---|
Min | 最小値 |
Max | 最大値 |
Mean | 平均値 |
Sum | 合計値 |
Count | データ数 |
Reduce で算出した値と他のメトリックとで演算が可能です。たとえば、各タイムスタンプにおけるデータについて平均との差を算出できます。
Expression 機能による再集計
あるセンサーから温度データが 30 秒ごとに送信されており、5 分ごとの平均値を取得したいシナリオを考えます。
をクリックして Expression を作成します。
Operation (操作) で Resample
を選択し、Input に再集計対象のメトリックを選択します。今回の例では 5 分平均を出すので は 5m
、 は mean
、 は fillna
を選択します。
各設定値の意味と例は以下に記載します。
設定値名 | 意味 | 例 |
---|---|---|
Resample to | 集計間隔 | 10m (10 分)、3h (3 時間)、1d (1 日) など |
Downsample | 集計方法 | Min (最小)、Max (最大)、Mean (平均)、Sum (合計) |
Upsample | 再集計期間にデータがない場合の扱い | pad (直前の値)、backfilling (直後の値)、fillna (値無し) |
演算の詳細
Expression における演算は豊富な表現が可能です。ここでは表現方法の詳細を紹介します。
数字の表現
定数の数字は、以下のような表現が可能です。指数や符号もサポートされています。
表現 | 例 |
---|---|
10 進数 | 1.56, -0.8e-2 |
8 進数 (先頭に 0 をつける) | 074 |
16 進数 (先頭に 0x をつける) | 0x6B |
演算子
異なるメトリックを演算する際は、同じタイムスタンプの値同士が演算されます。異なるデバイスから送信されたデータを演算するためには、Expression 機能による再集計をしてタイムスタンプを合わせてください。
演算子は、以下のような表現が可能です。
演算子の種類 | 例 |
---|---|
算術演算子 | 四則演算 (+ , - , * , / ) および 剰余 (% )、累乗 (** ) |
関係演算子 | < , > , == , != , >= , <= (真の場合に 1 となる) |
論理演算子 | && , || , ! (真の場合に 1 となる) |
関数
以下のような関数表現が可能です。
関数の種類 | 意味 |
---|---|
abs() | 絶対値 |
log() | 自然対数 |