使用基恩IO上的每日间隔,如果我只查看一天的计数,我的计数就会减少一天。他们为什么不同?我在Keen IO Explorer中运行此查询。
例如我的查询是
count 'subscriptions'
timeframe 'last_7_days'
interval 'daily'
折线图显示06/06/2017的计数为87。
然后我将这个计数运行一天:
count 'subscriptions'
timeframe start '2017-06-06T:00:00.000Z'
timeframe end '2017-06-07T00:00:00.000Z'
计数显示06/05/2017的值。 他们为什么不同?
答案 0 :(得分:3)
这与浏览器的数据时间范围/时区表示有关。更改查询的timezone
参数以匹配浏览器的时区,您应该会看到折线图上的日期标签的行为与您预期的一样。
折线图使用浏览器的时区来决定如何描绘日期并绘制图表,而单一计数只是显示API返回的结果。这就是你得到的结果"不同的结果"在同一天。
将来的疑难解答提示:您可以检查查询结果的原始JSON,以查看从API返回的内容。
以下是7天间隔计数的查询结果。您可以查看查询中使用的确切日期时间和时区。
{
"result": [
{
"value": 70,
"timeframe": {
"start": "2017-05-31T07:00:00.000Z",
"end": "2017-06-01T07:00:00.000Z"
}
},
{
"value": 106,
"timeframe": {
"start": "2017-06-01T07:00:00.000Z",
"end": "2017-06-02T07:00:00.000Z"
}
},
{
"value": 141,
"timeframe": {
"start": "2017-06-02T07:00:00.000Z",
"end": "2017-06-03T07:00:00.000Z"
}
},
{
"value": 63,
"timeframe": {
"start": "2017-06-03T07:00:00.000Z",
"end": "2017-06-04T07:00:00.000Z"
}
},
{
"value": 55,
"timeframe": {
"start": "2017-06-04T07:00:00.000Z",
"end": "2017-06-05T07:00:00.000Z"
}
},
{
"value": 64,
"timeframe": {
"start": "2017-06-05T07:00:00.000Z",
"end": "2017-06-06T07:00:00.000Z"
}
},
{
"value": 50,
"timeframe": {
"start": "2017-06-06T07:00:00.000Z",
"end": "2017-06-07T07:00:00.000Z"
}
}
]
}

你也可以使用"嵌入"浏览器中的按钮,用于查看编译查询时使用的确切代码。
e.g。
var query = new Keen.Query("count", {
event_collection: "create_organization",
interval: "daily",
timeframe: "this_7_days",
timezone: "US/Pacific"
});