Google Analytics Embed API 中的多系列图表

Multi-series Charts in Google Analytics Embed API

我正在使用嵌入 API 创建一个 "LINE" 每日会话图表,每个媒体 (ga:sessions, ga:date, ga:medium,分别),但我只能成功创建一个系列(每天会话)。

var chart = new gapi.analytics.googleCharts.DataChart({
  query : {
    "ids"        : view_id,
    "start-date" : "30daysAgo",
    "end-date"   : "yesterday",
    "dimensions" : "ga:date", // Works, but only produces single series
    // "dimensions" : "ga:date,ga:medium", - Doesn't work
    "metrics"    : "ga:sessions",
  },
  chart : {
    type : "LINE",
    container : "ga-chart",
    options : {
      width: "100%",
      title : title,
    }
  },
});
chart.execute();

使用上面的注释行会产生错误 "All series on a given axis must be of the same data type"。

如何为 ga:medium("referral"、"organic" 和“(none)”)的每个值获取单独的系列。

Using the commented line above produces the error "All series on a given axis must be of the same data type".

是的,这就是问题所在。 Google 图表不知道你想要什么。一方面你说你想要一个日期类型的 x 轴,然后你说你想要一个具有随机字符串 (ga:medium) 值的 x 轴。

你所要求的对你(和我)来说是合乎逻辑的,因为你要求的是时间表,但是 Embed API 无法使这项工作适用于 任意 二维。考虑 ga:medium,ga:browser,这在图表上看起来如何?

所以简短的回答是你不能用嵌入 API 的 gapi.analytics.googleCharts.DataChart 组件做你想做的事情。它支持查询中的多个指标(因为指标始终是数字),但不支持不同数据类型的多个维度。

长答案是您可以自己使用 gapi.analytics.report.Data 组件和 运行 查询,取回结果,然后构建您自己的 Google Chart 实例已将数据处理成您需要的格式。

希望对您有所帮助。