0

当我对按特定关键字过滤的核心报告 API 进行查询时,它会以块的形式返回数据。我相信它这样做是因为查询使用了一年的延长时间段。这是一个完全的痛苦,因为一些数据total_value需要求和并且revenue_per_transaction需要平均。

有没有办法防止这种“分块”?如果没有,克服这个问题的最佳方法是什么?

示例响应:

{keyword="KEYWORD_A", visits="2", total_value="20192.75", revenue_per_transaction="20192.75", transactions="1", day="31", month="05"},
{keyword="KEYWORD_A", visits="1", total_value="5789.8", revenue_per_transaction="2894.9", transactions="2", day="12", month="07"}

total_value这是我目前对属性求和的解决方案。由于revenue_per_transaction需要平均,我想我会尝试解决问题的根源,即分块响应。

sum_keys = [:total_value, :revenue_per_transaction]

    data.group_by{ |h| h[:keyword] }
    .map{ |keyword, related|
      tmp = {keyword: keyword}
      tmp.merge! Hash[sum_keys.zip Array.new(sum_keys.size, 0)]
      related.reduce(tmp) { |summed, h|
        sum_keys.each { |key| summed[key] += h[key].to_f }
        summed
      }
}
4

1 回答 1

1

从您的示例响应中,您似乎在查询 ( ga.day, ga.month) 上指定了一些时间维度?

如果您忽略时间维度,Core Reporting API 应返回开始/结束日期的总和值。

您是否尝试过使用Google Analytics 查询资源管理器?尝试不同的维度/指标以确保您获得预期的数据非常棒。

于 2013-05-24T16:53:49.713 回答