количество запросов друидов для нескольких столбцов - PullRequest
0 голосов
/ 25 июня 2019

У меня есть запрос для подсчета нулевых значений в столбце.Как я могу адаптировать это, чтобы возвращать количество нулевых значений в нескольких столбцах?Я попытался добавить список полей, например, ['ip_address', 'user_agent'] в поле измерения, но это не сработало.

{"intervals":["2019-05-26T00:00:00.000Z/2019-06-25T00:00:00.000Z"],
"granularity":"all",
"context":{"timeout":60000,
"queryId":"71fe66b2-e654-45dc-8a8c-38ed160e79f5"},
"queryType":"timeseries",
"dataSource":"dataset-tablename”,
"aggregations":[{"type":"count",
"name":"count"}],
"filter":{"type":"and",
"fields":[{"type":"selector",
"dimension":"ip_address",
"value":"null"}]}}

возвращает два столбца,

Отметка времени |Счет

2019-04-27T04: 55: 01.000Z |246,933

, что является количеством записей ip_address с нулевыми значениями на таймфрейме.Как я могу вернуть счетчики для других дополнительных полей?

1 Ответ

1 голос
/ 02 июля 2019

Вы можете использовать отфильтрованные агрегаторы:

{"intervals":["2019-05-26T00:00:00.000Z/2019-06-25T00:00:00.000Z"],
"granularity":"all",
"context":{"timeout":60000, "queryId":"71fe66b2-e654-45dc-8a8c-38ed160e79f5"},
"queryType":"timeseries",
"dataSource":"dataset-tablename",
 "aggregations":[
     {"type":"filtered", "filter":{"type":"selector", "dimension":"ip_address", "value":"null"},
      "aggregator": {"type":"count", "name":"null_ip_address_count"}},
     {"type":"filtered", "filter":{"type":"selector", "dimension":"user_agent", "value":"null"},
      "aggregator": {"type":"count", "name":"null_user_agent_count"}}]
}

То есть вместо применения фильтра ко всему запросу примените фильтр к отдельным агрегаторам.

...