TopN запрос по метрике агрегирования записей в друиде - PullRequest
0 голосов
/ 21 ноября 2018

Мне нужно сделать первый запрос по агрегированной метрике.Звучит довольно просто.Это запрос, который я использую -

{
     "queryType": "topN",
     "dataSource": "model",
     "granularity": "all",
     "intervals": [
       "2018-01-01T00:00:00/2018-12-31T23:59:59"
     ],
     "dimension": {
       "type": "lookup",
       "dimension": "COName",
       "outputName": "COName",
       "name": "COName"
     },
    "metric": "MarketShare",

     "threshold": 10,
     "aggregations": [
       {
         "type": "filtered",
         "filter": {
           "type": "selector",
           "dimension": "Brand",
           "value": "Nike"
         },
         "aggregator": {
           "type": "doubleSum",
           "name": "nike_sum",
           "fieldName": "Sales"
         }
       },
       {
         "type": "doubleSum",
         "name": "total_sum",
         "fieldName": "Sales"
       }
     ],
      "postAggregations": [
        {
          "type": "arithmetic",
          "name": "MarketShare",
          "fn": "*",
          "fields": [
            {
              "type": "arithmetic",
              "name": "div",
              "fn": "/",
              "fields": [
                {
                  "type": "fieldAccess",
                  "name": "brand_sum",
                  "fieldName": "nike_sum"
                },
                {
                  "type": "fieldAccess",
                  "name": "total_sum_1",
                  "fieldName": "total_sum"
                }
              ]
            },
            {
              "type": "constant",
              "name": "const",
              "value": 100
            }
          ]
        }
      ],
     "context": {
       "skipEmptyBuckets": true
     }
}

Это дает мне странные результаты N (неверно численно).Я уверен в этом, потому что, когда я делаю простую групповую работу для некоторого конкретного COName, я получаю ожидаемые результаты.Интересный факт:
Когда я заменяю "metric": "MarketShare" на какую-то другую метрику, например "metric": "total_sum", я получаю правильные числа, но сортировка теперь выполняется с помощью "total_sum".

...