为什么keen.io对象时间线默认天数为一天?

时间:2014-09-18 20:51:19

标签: javascript keen-io

有希望在这里快速提问。我已经概述了一个小文档,它为给定的" defined_range"构建了一个图表。我把它设置为10.我也在为#34;每日"建立图表。间隔。因为这一切以及我正在使用" this_10_days"作为时间表,我应该看到过去10天内每天的数据。

正如你所看到的(jsfiddle.net/L1j08tr7/1/),该对象默认为12月31日。显然我在这里遗漏了一些东西。在处理这个问题时,任何帮助都会受到极大欢迎,因为我似乎无法在他们的文档中发现任何表明此类行为的内容(https://keen.io/docs/data-analysis/timeframe/

另一种方法是将日期传递给每个事件: jsfiddle.net/L1j08tr7/2 /

编辑:此处列出的具体日期:sfiddle.net/qarxnxk1/2 /

2 个答案:

答案 0 :(得分:2)

Keen IO使用户能够基于这些创建查询和有趣的可视化。

检查出来:http://jsfiddle.net/qarxnxk1/3/

var query = new Keen.Query("count", {
    eventCollection: "new_high_score2",
    groupBy: "best_score"
  });
client.draw(query, document.getElementById("chart"), {
    // Custom configuration here
});

您不必自己创建时间范围。 Keen会为您解决这个问题。这只是您正在寻找的简化版本,但您也可以执行以下操作:

var series = new Keen.Query("count", {
  eventCollection: "page views",
  timeframe: {
    start: "2014-05-04T00:00:00.000Z",
    end: "2014-05-05T00:00:00.000Z"
  },
  interval: "daily"
});

如果您想要更多查询样本,请查看此代表:https://github.com/keenlabs/dashboards

希望这有帮助。

答案 1 :(得分:1)

由于每次生成随机数据时开始日期都相同,因此将在同一天绘制图表。每次生成新数据时我只添加了一行来更改开始日期(第26行):date_begin.setDate(i),

for (i = 0; i < days; i++)
    {  
        date_begin.setDate(i);
        chart_data.push({
            "value": genValue(),
            "interval":interval,
            "timeframe":
            {
                "start":date_begin.toISOString().replace('Z','') + timezone_offset,
                "end":date_end.toISOString().replace('Z','') + timezone_offset
            }
        });
    }

我认为应该给你你想要的东西。这是我的结果:http://jsfiddle.net/qarxnxk1/