Soracom

Users

ドキュメント

Expression 機能

Expression 機能では、SORACOM Harvest Data 上のデータを SORACOM Lagoon の Dashboard へ可視化する前に演算や再集計などの加工をします。

  • 可視化の種類として Graph を選択した場合、Expression 機能で追加した系列に対して Alert は設定できません。
  • SORACOM Harvest Data に格納する前にデータを演算するサービスとして SORACOM Orbit があります。こちらの利用も検討してください。
Expression 機能はベータ機能です。今後予告なく仕様が変更される可能性があります。

Expression 機能による演算 

あるセンサーから温度データが華氏で送信されており、摂氏で表示したいシナリオを考えます。[+ Expression] をクリックして Expression を作成します。

Operation (操作) で Math を選択し、Expression に計算式を記載します。$A は計算対象の Query 名を指します。

これで摂氏温度として B が表示されるようになりました。A を非表示にして B の Expression 名を [temperature] に変更します。Query や Expression の表示 / 非表示は のアイコンで切り替えられます。また、Query 名 や Expression 名横の アイコンで名称変更ができます。

Expression 機能による平均などの算出 

あるセンサーから温度データが 30 秒ごとに送信されており、全体の平均・最大・最小などを算出したいシナリオを考えます。[+ Expression] をクリックして Expression を作成します。

Operation (操作) で Reduce を選択し、Input に再集計対象のメトリックを選択します。今回の例では平均を出すので [Function]Mean[Input]A を選択します。

[Function] の設定値は以下に記載します。

設定値名意味
Min最小値
Max最大値
Mean平均値
Sum合計値
Countデータ数
Reduce で算出した値と他のメトリックとで演算が可能です。たとえば、各タイムスタンプにおけるデータについて平均との差を算出できます。

Expression 機能による再集計 

あるセンサーから温度データが 30 秒ごとに送信されており、5 分毎の平均値を取得したいシナリオを考えます。[+ Expression] をクリックして Expression を作成します。

Operation (操作) で Resample を選択し、Input に再集計対象のメトリックを選択します。今回の例では 5 分平均を出すので [Resample to]5m[Downsample]mean[Upsample]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()対数