3

1 つの視覚化グラフに対して Keen IO の複数のコレクションを呼び出すことはできますか?

という名前のコレクションがあるとしましょうorders:

{
  "order_number": "dfdfd2323",
  "order_price": 21.00,
} 

そして、私はという名前の別のコレクションを持っていますadjustments:

{
  "adjustment_id": "34ss3432",
  "adjustment_price": 2.00,
}

ここで、「毎週の合計注文価格」と「毎週の合計調整価格」を示す棒グラフを表示したいと考えています。X 軸に週、Y 軸に価格。色違いでの注文・調整価格です。

このように Keen IO にネストされた呼び出しを行うことはできますか?

client.run(query1, function(){
.....
   client.run(query2, function(){
   }
}
4

2 に答える 2

4

次のように、2 つのコレクションからのクエリを組み合わせて視覚化するコード サンプルを共有することも役立つと思いました。

// use a variable to ensure timeframe & interval for both queries match
var interval = "daily"
var timeframe = "last_30_days"

var pageviews = new Keen.Query("count", { // first query
    eventCollection: "pageviews",
    interval: interval,
    timeframe: timeframe
});

var uniqueVisitors = new Keen.Query("count_unique", { // second query
    eventCollection: "pageviews",
    targetProperty: "uuid",
    interval: interval,
    timeframe: timeframe
});

var chart = Keen.Dataviz()
  .chartType("linechart")
  .chartOptions({
    hAxis: {
      format:'MMM d',
      gridlines:  {count: 12}
    }
  })
  .prepare();

client.run([pageviews, uniqueVisitors], function(response){ // run the queries

    var result1 = response[0].result  // data from first query
    var result2 = response[1].result  // data from second query
    var data = []  // place for combined results
    var i=0

    while (i < result1.length) {

        data[i]={ // format the data so it can be charted
            timeframe: result1[i]["timeframe"],
            value: [
                { category: "Pageviews", result: result1[i]["value"] },
                { category: "Visitors", result: result2[i]["value"] }
            ]
        }
        if (i == result1.length-1) { // chart the data
      chart
        .parseRawData({ result: data })
        .render();
        }
        i++;
    }
});

ここでチャートの画像を見ることができます: https://github.com/keen/keen-js/blob/master/docs/visualization.md#combine-two-line-charts

于 2015-01-12T19:00:56.777 に答える