elasticsearch可视化聚合产生的两个度量的商



如何使elasticsearch可视化聚合产生的两个度量的商?例如,我有游戏的总收费和每天所有活跃用户的总和,我想可视化ARPU(总收费/所有活跃用户),我该怎么做?

{
  "size": 0,
  "query": {
    "query_string": {"query": "*"}
  },
  "aggs": {
    "2": {
      "date_histogram": {
        "field": "date",
        "interval": "1d",
        "time_zone": "Asia/Shanghai",
        "min_doc_count": 1
      },
      "aggs": {
        "sum_pay1": {
          "sum": {
            "field": "pay"
          }
        },
        "sum_active1": {
          "sum": {
            "field": "active_users"
          }
        },
        "ARPU":{
            "bucket_script": {
                "buckets_path": {
                    "sumpay": "sum_pay1",
                    "sumactive": "sum_active1"
                },
                "script": "sumpay / (1.0*sumactive)"
          }
        }
      }
    }
  }
}

如何可视化ARPU?

您可以直接在Kibana中创建脚本字段,它将为您提供所需的结果。

按照以下步骤在Kibana中创建脚本字段:

  • 在Kibana中,点击设置选项卡,然后点击索引模式

  • 你应该看到两个选项卡"Fields"one_answers"Scripted Fields"

  • 点击"Scripted fields"选项卡。

  • 在Script字段中输入"Name"作为Ratio,并输入以下内容:-

    doc("支付")。Value/doc['active_users'].value

  • 其中pay和active_users是存储在Kibana中的字段名。
  • 点击底部的"Create Field"。现在您的脚本字段将被添加&

最新更新