MENU

Soracom

Users

Expression 機能

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

  • 可視化の種類として Graph を選択し Expression 機能を利用した場合、同 Panel 内で 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 に再集計対象のメトリックを選択します。今回の例では平均を出すので FunctionMeanInputA を選択します。

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

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

Expression 機能による再集計

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

Operation (操作) で Resample を選択し、Input に再集計対象のメトリックを選択します。今回の例では 5 分平均を出すので Resample to5mDownsamplemeanUpsamplefillna を選択します。

各設定値の意味と例は以下に記載します。

設定値名意味
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()対数