1

我在 Kibana 中使用 vega。

我从“数据”部分的两个不同索引中选择两个值。但现在我需要总结这些值并将其可视化在“标记”部分。有谁知道,我该怎么做?现在在“标记”部分,我只使用第一个“数据”中的一个值。

我的代码如下:

    {
  "$schema": "https://vega.github.io/schema/vega/v3.0.json",
  "title": {
    "text": "Lead time, hr.",
    "orient": "bottom"
  },
  "data": [
    {
      "name": "source_1",
      "url": {
        "index": "metrics-bitbucket-*",
        "%context_query%": "@timestamp",
        "body": {
          "size": 0,
          "aggs": {
            "etb": {
              "avg": {
                "field": "elapsed_time",
                "script": {"source": "_value/3600*10"}
              }
            }
          }
        }
      },
      "format": {"type": "json", "property": "aggregations.etb"}
    },
    {
      "name": "source_2",
      "url": {
        "index": "metrics-jenkins-*",
        "%context_query%": "@timestamp",
        "body": {
          "size": 0,
          "aggs": {
            "etj": {
              "avg": {
                "field": "elapsed_time",
                "script": {"source": "_value/3600*10"}
              }
            }
          }
        }
      },
      "format": {"type": "json", "property": "aggregations.etj"}
    }
  ],
  "marks": {
    "type": "text",
    "from": {"data": "source_1"},
    "encode": {
      "update": {
        "text": {"signal": "round(datum.value)/10"},
        "fontSize": {"value": 60},
        "fontStyle": {"value": "bold"},
        "x": {"signal": "width/2-50"},
        "y": {"signal": "height/2"}
      }
    }
  }
}
4

1 回答 1

0

您基本上有两个数据对象列表:source1: [{}, {}, ...]source2: [{}, {}, {}, ...]. 绘制项目时,您只需指定一个数据源。该数据源可能是前两个的串联,例如,您创建source3source参数设置为["source1", "source2"],其中包括两者的所有元素,但我怀疑这不是您想要的。相反,您需要使用查找转换来合并数据- 迭代一个数据源中的项目,并从另一个数据源中提取相应的值。然后,添加一个公式变换来对这些值求和。标记将使用公式的结果进行绘图。

于 2018-10-15T20:17:07.110 回答