Объедините события по времени, чтобы создать таблицу для 3D Scatterplot - PullRequest
0 голосов
/ 04 октября 2018

У меня есть список событий со следующим содержимым

event1: _time=123 Tag="X" Value="12.2"
event2: _time=123 Tag="Y" Value="55.2"
event3: _time=123 Tag="Z" Value="3.2"
event4: _time=234 Tag="X" Value="12.4"
event5: _time=234 Tag="Y" Value="55.0"
event6: _time=234 Tag="Z" Value="2.8"

Значения - это координаты (X, Y, Z), которые я хочу визуализировать на трехмерном графике рассеяния.К сожалению, у меня есть каждая координата в одном событии.

Как я могу объединить эти события, чтобы впоследствии создать таблицу с

(wanted command) | table _time X Y Z

???

1 Ответ

0 голосов
/ 10 октября 2018
| eval {Tag}=Value
| stats values(X) AS X, values(Y) AS Y, values(Z) AS Z by _time`

{Tag}=Value создаст новое поле X (или Y или Z) с соответствующим значением, затем stats объединит их в одно событие.

Полный пример,

| makeresults count=6
| streamstats count AS i

| eval Value=random()%10
| eval _time=if(i>3,_time,_time+10)
| eval Tag=case(i%3==0,"X", i%3=1,"Y", i%3=2,"Z")
| fields - i

| eval {Tag}=Value
| stats values(X) AS X, values(Y) AS Y, values(Z) AS Z by _time
...