【问题标题】:Why do Web Analytics such as Google Analytics use Dimensions and Metrics instead of SQL statement?为什么像 Google Analytics 这样的 Web Analytics 使用维度和指标而不是 SQL 语句?
【发布时间】:2011-03-27 14:27:40
【问题描述】:

就在我再次对SQL语句很熟悉的时候,在从Google Analytics拉数据的时候,我发现他们并没有使用SQL,而是使用Dimensions和Metrics以及它们的组合。

为什么会这样?我认为它没有 SQL 接口(或普通的 Web 服务器日志下载)?如果是,SQL 语句如何转换为维度、指标(以及细分和过滤器)?

似乎 Metrics 往往是“聚合”,例如 count() 或 average(),而 Dimension 往往是记录值本身(例如 Browser == IE 或 Country = = 澳大利亚),这与 group by 值相同。过滤器就像条件,那么Segment呢?

似乎如果我们指定Dimensions,那么它会自动执行group by 并显示该字段。它通常会 count() 或 sum()。如果我们想要average(*) 怎么办?如果我们希望它显示但不希望它执行group by 怎么办?

要实验的示例网站是http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html

【问题讨论】:

    标签: google-analytics analytics web-analytics google-analytics-api yahoo-analytics


    【解决方案1】:

    使用术语“维度”和“指标”表明 Google 使用的是 OLAP 数据库而不是关系数据库。... SQL 用于关系数据库:OLAP 使用 MDX 或专有查询语言(如果是 Oracle)。

    来自http://en.wikipedia.org/wiki/OLAP

    任何 OLAP 系统的核心都是 OLAP 多维数据集(也称为 “多维立方体”或超立方体)。

    它由称为度量的数字事实组成,它们是 按维度分类

    【讨论】:

      【解决方案2】:

      它可能是在内部使用他们自己的技术(如 Big Table 和 Map-Reduce)开发的。映射和聚合是 Map-Reduce 类型算法的强项,因此数据看起来像这样跨不同维度聚合是有道理的。

      如果您想了解更多关于它们的信息,我建议您参考以下 Wikipedia 文章:

      【讨论】:

        【解决方案3】:

        我的猜测是,如果您要问这样的问题,您可能已经过了很多时间查看一些开箱即用的报告,例如简单的页面浏览量。如果这就是你所做的一切,那么你就大大错过了网络分析的意义和力量。一般来说,网络分析(不仅仅是 GA)是关于随着时间的推移查看数据趋势。并且数据本身是通过遵循预先定义的和用户定义的某些规则和行为来获取的。

        报告的大部分数据无法从直接的数据库查询中轻松获取,因为这些数据基于“xyz over time”等摘要和聚合数据。例如,维度和指标的“范围”概念,其中变量和/或值将报告有关单个页面查看/事件的数据,或者在访问(会话)过程中,甚至在用户定义的时间量内(比如“让它持续一个月”或“让它持续到某个事件发生”,比如弹出一个特定的变量或变量类型)。

        由于大多数报告都涉及更高级别的数据检索概念,因此将数据库抽象出来,并放置了一个“框架”(报告界面)来帮助您构建显示趋势数据的报告。即使您是数据库专家,尝试手动提取数据也需要花费太多时间和精力,除了最基本的数据(如页面浏览量)。像这样的基本数据不是很可操作。

        以广告系列跟踪为例。这一切都从一个 var=value 开始。当用户单击链接并转到 url 中包含该 var=value 的页面时,跟踪代码会获取该值并开始不仅归因于有关页面的数据(url、时间、浏览器类型、列表继续)等等)以及从自定义编码中收集的所有其他数据。然后,您可以对其应用其他设置,例如附加每次点击费用或某些加权度量,将成功归因于目标或事件等……基于其他规则(第一次与最后一次点击归因等)。 ..)。正在发挥作用的东西清单以及考虑的东西一直在不断地进行。继续尝试自己制作这些数据库查询字符串。现在清洗,冲洗并重复,因为这只是一个活动代码。我的客户拥有数千个活动代码,而且每天都会添加更多代码。哦,最重要的是,根据您希望实际报告显示数据的方式来调整或进行全新的查询。通过 xyz 交叉引用和分解。根据该数据查看漏斗和场景。这仅适用于广告系列,是众多事情中的一件事。

        长话短说,将报告界面视为数据库的框架,您可以调整预定义的查询,从而大大简化人们的报告工作,尤其是因为大多数人不是 数据库专家。

        【讨论】:

          【解决方案4】:

          我想答案在于,在 API 可用之前,您分析数据的唯一方法是通过 Google Analytics(分析)界面。他们在那里广泛使用“维度”和“度量”。因为非技术人员经常光顾它,所以他们永远不会引入复杂的 SQL 构造;只是更容易有下拉菜单。

          我不完全确定 Google Analytics(分析)数据的存储方式是否对 SQL 友好(即表中的列和行)。我读到他们已经开发了自己的内部存储这些数据的方法。

          【讨论】:

          • 是的,也许他们在某些情况下对数据进行采样而不是存储所有细节
          【解决方案5】:

          我们问过自己类似的问题。看起来许多 Web 分析 API 更多是事后才想到的,通常是直接映射到相应产品的 UI 功能。通过Infunl(免责声明:我是联合创始人),我们正在构建具有灵活查询语言的 Web 分析 API,该语言在语法上类似于 SQL,但针对其背后的聚合和 map-reduce 执行框架进行了高度优化。此外,它还提供了许多专门为 Web 分析设计的内置功能,例如转换漏斗步骤、群组分析、支持拆分测试以及灵活的内容分组和分段。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-04-12
            • 2023-01-11
            • 1970-01-01
            • 1970-01-01
            • 2018-02-02
            • 1970-01-01
            • 2023-02-08
            相关资源
            最近更新 更多