別indexデータとの差分出力

お世話になっております。

現在予定のデータを「p_test」、実績のデータを「r_test」というindexに登録しています。
予実の差を知りたいのですが、当日の「p_test」の数から「r_test」の数を引いた値を取得してVisualizeに表示する方法はないでしょうか。

どのようなVisualizeにしたいのか、実際のindexの中身にもよると思いますが、
簡易的なところでは2つ思いつくものがあります。

データをこのように定義したとします。

POST p_test/_doc/1
{
  "@timestamp": "2021-10-22T09:00:00+0900",
  "p_value": 10
}

POST r_test/_doc/1
{
  "@timestamp": "2021-10-22T09:00:00+0900",
  "r_value": 2
}

10-2=8 で、8を出すようなものを考えました。

index_patternで2つのindexを含むようなものを定義するパターン

いま、p_test, r_testというものがあり(その中身の詳細はわかりませんが)仮にtimestampと値だけ入っているようなものだとすれば、
index_patternを *_test として作成すれば、2つのindexを参照することができます。

Formulaのところで、p_testからr_testの値を引く指定をしました。
(今回は、sumなのかmaxなのかは関係ないですが)8が求まります。

timelionで指定する

timelionでは、indexをクエリ内で指定できるので、それを利用します。
時系列のグラフのようなものであれば、こちらも検討できるかと思います。

見やすくするため、改行を入れていますが実際は1行で書いてます。

.es(index=p_test,timefield=@timestamp,metric=sum:p_value, q=*:*)
  .subtract(
    .es(index=r_test,timefield=@timestamp,metric=sum:r_value, q=*:*)
  )
  .bars()

ご参考になれば幸いです。

tsgkdtさん

ありがとうございます。
Metricで対応したいのですが、「Formulas」というのがないようです。
バージョンは7.9の場合「Formulas」はまだ機能としてないでしょうか。

もし7.9だと利用できない場合、7.9で四則演算する方法は他にあったりしますでしょうか。

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.