Мне нужно сделать первый запрос по агрегированной метрике.Звучит довольно просто.Это запрос, который я использую -
{
"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".