Vega: извлечь два разных свойства из исходных данных - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь использовать Vega для визуализации результатов запроса изasticsearch.

Фактический ответ от эластичного поиска будет выглядеть так же, как в первой записи данных ниже, под названием "es_response".Мне нужно разделить эти данные ответа на два разных данных, которые я назвал histogram_data и rule_data

. Я пытался использовать format: { property: "..." } для извлечения значений в каждом подданных (как показано ниже), но это не так.разрешено языком.

Я также пытался использовать различные комбинации преобразований для разделения этих данных, но не смог получить какого-либо хорошего результата.

Какой лучший способ сделать это?

Ссылка на оригинальный источник vega-lite

  "data": [
    {
      "name": "es_response",
      "values": {
        "aggregations": {
          "histogram": [
            {"a": 30, "b": 28},
            {"a": 40, "b": 55},
            {"a": 50, "b": 43},
            {"a": 60, "b": 91},
            {"a": 70, "b": 81},
            {"a": 80, "b": 53},
            {"a": 90, "b": 19},
            {"a": 100, "b": 87},
            {"a": 110, "b": 52}
          ],
          "percentiles": {
            "values": [
              {
                "key": 50,
                "value": 100
              }
            ]
          }
        }
      }
    },
    {
      "name": "histogram_data",
      "source": "es_response",
       
      /*
       * This doesn't work, but I really wish it did
       */
      "format": { "property": "aggregations.histogram"}
    },
    {
      "name": "percentile_data",
      "source": "es_response",
 
      /*
       * Same here
       */
      "format": { "property": "aggregations.percentiles.values"}
    }
  ]

Ответы [ 2 ]

0 голосов
/ 09 июня 2019

Это ошибка в Vega-Lite, которая отслеживается в https://github.com/vega/vega-lite/issues/5034.

0 голосов
/ 06 июня 2019

Это зависит.:) Вы хотите использовать запросasticsearch через url?

Затем вы можете создать две именованные записи данных и использовать опцию json ˋformatˋ, чтобы указать корень.

Или, если вы хотите данныечтобы быть встроенным, вы можете использовать свойство ˋdatasetˋ.

Дополнительные объяснения можно найти здесь: https://vega.github.io/vega-lite/docs/data.html

...