javascript - Keen IO - 如何找到两个 Keen.Series 之间的差异

标签 javascript stripe-payments keen-io

如何找到两个系列 (Keen.Series) 之间的差异,然后将其绘制在折线图上?

我弄清楚了如何找到两个指标 (Keen.Metric) 之间的差异,但无法弄清楚如何从两个系列中获取每个结果并相应地减去它们。

如果这有帮助,请了解如何查找两个指标之间的差异:

Keen.onChartsReady(function(){
  // Create a Metric containing our total $ amount in Keen IO credit card transactions (to and from)
  // Excludes: refund transactions from Stripe to card and declined cards
  var myMetric = new Keen.Metric("Stripe_Event",
    analysisType: "sum",
    targetProperty: "data.object.amount",
    filters: [
      {"property_name":"data.object.captured","operator":"eq","property_value":true},
      {"property_name":"data.object.amount_refunded","operator":"eq","property_value":0}]
  });

  // Create a Metric containing our total number of refunds
  var myMetric2 = new Keen.Metric("Stripe_Event", {
    analysisType: "sum",
    targetProperty: "data.object.amount_refunded",
    filters: [
    {"property_name":"type","operator":"eq","property_value":"charge.refunded"}]
  });

  // Find the difference and convert to dollars
  myMetric.getResponse(function(response){
    firstValue = response.result;
    myMetric2.getResponse(function(nextResponse){
      secondValue = nextResponse.result;
      difference = firstValue-secondValue;
      dollar = difference / 100;
      console.log(dollar);

      //Create a Number visualization for that metric.
      var myNumberVisualization = new Keen.Number(myMetric2, {
        height: "300",
        width: "600",
        prefix:"$",
        label: "Revenue"
      });

    //Draw the visualization in a div
    myNumberVisualization.draw(document.getElementById("myDiv"),
      {"result":dollar});
    });
  });
});

我想出了如何获取一个 Keen.Series 并将每个结果转换为美元格式(Stripe API 以便士为单位输出交易,必须除以 100 才能找到美元值(value)):

Keen.onChartsReady(function() {
  // Create a Series
  var mySeries = new Keen.Series("Stripe_Event", {
    analysisType: "sum",
    timeframe: "this_month",
    interval: "daily",
    targetProperty: "data.object.amount",
  });

  // Convert results from pennies to dollars
  var resultsInDollars = {}

  mySeries.getResponse(function(response){
    result = response.result
    $.each(result, function(index, object){
      result[index]["value"] = object["value"]/100
    });

    resultsInDollars = {
      result: result
      }

    // Line chart settings
    var myLineChart = new Keen.LineChart(mySeries, {
          height: 240,
          width: 300,
          xAxisLabelAngle:45
    });
    // Draw line chart
    myLineChart.draw(document.getElementById("overview"),resultsInDollars);
  });
}); 

提前致谢。

最佳答案

这里有一个非常相似的要点 - 划分两个折线图。

https://gist.github.com/wetzler/9127225

只需将运算从除法更改为减法即可。

关于javascript - Keen IO - 如何找到两个 Keen.Series 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923618/

相关文章:

google-visualization - 通过 Keen 生成的 Google 柱状图的格式工具提示内容

python - QueryIncompleteError : Your query did not finish in 300 seconds. 很可能是我们这边出了问题

javascript - 文件对象未定义 NuxtJS AsyncData()

javascript - 油猴:喜欢还是讨厌?

android - Firebase 计划为 strip 集成付款

java - 特定银行信用卡的 Stripe 付款折扣

android - 在 Stripe 付款上显示每小时价格而不是存款价格

express - 我可以在 Loopback afterRemote Hook 中获取响应 header 吗?

javascript - D3 在格式化时间时添加 19 小时

javascript - 如何在 Symfony2 的 Bootstrap 模态弹出窗口中动态显示数据