druid - 在德鲁伊中计算一个维度的不同
问题描述
我正在尝试区分维度区域的计数。但我认为我得到的与(日期,领土)的数量不同。这是查询:
{
"queryType": "groupBy",
"dataSource": "model",
"granularity": "all",
"filter": {
"type": "selector", "dimension": "District", "value": "ATLANTA"},
"aggregations":[
{"name":"!t5", "type":"distinctCount","fieldName":"Territory"},
{"name":"!T_4","type":"longSum","fieldName":"Units"}
],
"postAggregations":[
{
"type":"arithmetic",
"fn":"*",
"fields":[
{
"type":"arithmetic",
"fn":"/",
"fields":[
{
"type":"fieldAccess",
"fieldName":"!T_4"
},
{
"type":"fieldAccess",
"fieldName":"!t5"
}
]
},
{
"type":"constant",
"value":1
}
],
"name":"AverageDistrict"
}
],
"intervals": ["2018-06-13T00:00Z/2018-07-25T00:00Z"]
}
因此,当我更改日期范围时, distinct(!t5) 的计数也会增加。而在原始数据中,不同的计数在所有日期范围内始终保持不变。我需要的是该日期范围内不同区域值的计数。我希望我已经说清楚了。
解决方案
尝试使用“cardinality”聚合器代替“distinctCount”聚合器。希望这可以帮助。
推荐阅读
- c# - Unity 2D 我可以从游戏中上传图片吗?
- python - Python函数在调用它时不能在另一个函数中工作
- c - 在c编程中无法在空格后写句子
- java - oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513)
- git - 同事推后变基怎么办?
- python - 使用 python 获取所有视频的持续时间
- python - 如何使用人脸级联自定义人脸检测参数
- javascript - 从流类型创建一个数组?
- flexbox - 图标下的文本,flexbox
- python - 如何在自定义变压器中访问 sklearn 列变压器