加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用Legato gem获取查询结果

发布时间:2020-12-17 02:34:42 所属栏目:百科 来源:网络整理
导读:尝试使用Legato gem从Google Analytics获取查询结果(按照之前的建议我去那里进行一些研究).似乎很容易定义我的查询,但是我无法理解如何实际获得结果.阅读自述文件显示了如何构建一些“构建块”,但是我没有得到一个可以从中读取结果的对象. 也许我错过了一些
尝试使用Legato gem从Google Analytics获取查询结果(按照之前的建议我去那里进行一些研究).似乎很容易定义我的查询,但是我无法理解如何实际获得结果.阅读自述文件显示了如何构建一些“构建块”,但是我没有得到一个可以从中读取结果的对象.

也许我错过了一些东西,查询结果应直接写入模型(DB),这不是我想要的(我想首先考虑它们).也许这就是我没有看到任何东西的原因.

那么有人可以分享一个如何阅读结果的例子吗?例如,只需将综合浏览量打印到屏幕即可.

谢谢

解决方法

所以这就是我发现使用它的方式:
您创建了一个定义查询“模型”的类(和Active-Model返回关系一样,您也可以在此处连接).在这个例子中:

>网页浏览的模型/查询检查& ga:pagePathLevel1维度中的唯一网页浏览量.
>您可以使用一个可选的过滤器,在pagePathLevel1中查找“index”(如您所见,您可以选择是否使用它,添加更多过滤器,连接它们等等).

还要注意过滤器&结果只返回一个“查询”(就像ActiveModel :: Relation),执行是通过调用它来完成的,比如’each’或’to_a’等.

class Pageviews
  extend Legato::Model

  metrics :pageviews,:uniquePageviews
  dimensions :pagePathLevel1

  filter(:by_index_in_path_level_1) {|page_path_level1| contains(:pagePathLevel1,'index')}

  def self.query(profile,start_date,end_date)
    Pageviews.results(profile,:start_date => start_date,:end_date => end_date
    )
    # Just for reference,sorting descending by pageviews is done by:   :sort => '-pageviews'
  end

  def self.query_index(profile,end_date)
    Pageviews.by_index_in_path_level_1.results(profile,:end_date => end_date
    )
  end
end

一旦准备就绪,您可以执行以下操作:

Pageviews.query(profile,end_date).each do |result|
    # Just print the pageviews & unique-pageviews,for example
    puts result.try(:pageviews)
    puts result.try(:uniquePageviews)
end

最后,我建议你先用Google Analytics Query Explorer进行探索.

我希望你能发现这个例子很有帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读