如何计算 Firebase Analytics 原始数据中的会话和会话持续时间?

2023-12-22

如何计算会话持续时间在 Firebase 分析中raw data哪个与 BigQuery 相关联?

我已使用以下博客通过对每个记录中嵌套的事件使用 flatten 命令来计算用户,但我想知道如何继续计算Session and 会话持续时间按国家和时间。

(我配置了很多应用程序,但如果你能帮助我使用 SQL 查询来计算会话持续时间和会话,这将有巨大的帮助)

有关使用 Firebase 和 bigquery 的 Google 博客 https://cloudplatform.googleblog.com/2016/09/using-BigQuery-and-Firebase-Analytics-to-understand-your-mobile-app.html


首先,您需要定义一个会话 - 在下面的查询中,只要用户处于非活动状态超过 20 分钟,我就会中断会话。

现在,要查找所有使用 SQL 的会话,您可以使用以下描述的技巧https://blog.modeanalytics.com/finding-user-sessions-sql/ https://blog.modeanalytics.com/finding-user-sessions-sql/.

以下查询查找所有会话及其长度:

#standardSQL

SELECT app_instance_id, sess_id, MIN(min_time) sess_start, MAX(max_time) sess_end, COUNT(*) records, MAX(sess_id) OVER(PARTITION BY app_instance_id) total_sessions,
   (ROUND((MAX(max_time)-MIN(min_time))/(1000*1000),1)) sess_length_seconds
FROM (
  SELECT *, SUM(session_start) OVER(PARTITION BY app_instance_id ORDER BY min_time) sess_id
  FROM (
    SELECT *, IF(
                previous IS null 
                OR (min_time-previous)>(20*60*1000*1000),  # sessions broken by this inactivity 
                1, 0) session_start 
                #https://blog.modeanalytics.com/finding-user-sessions-sql/
    FROM (
      SELECT *, LAG(max_time, 1) OVER(PARTITION BY app_instance_id ORDER BY max_time) previous
      FROM (
        SELECT user_dim.app_info.app_instance_id
          , (SELECT MIN(timestamp_micros) FROM UNNEST(event_dim)) min_time
          , (SELECT MAX(timestamp_micros) FROM UNNEST(event_dim)) max_time
        FROM `firebase-analytics-sample-data.ios_dataset.app_events_20160601`
      )
    )
  )
)
GROUP BY 1, 2
ORDER BY 1, 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何计算 Firebase Analytics 原始数据中的会话和会话持续时间? 的相关文章

  • 如何搜索表中的所有列?

    如何在 SQL Server 中搜索表的所有列 SELECT FROM yourtable WHERE val IN field1 field2 field3 field4 如果您正在寻找精确的全场比赛 如果你正在寻找子字符串匹配 你将不得
  • 优化 LATERAL join 中的慢速聚合

    在我的 PostgreSQL 9 6 2 数据库中 我有一个查询 该查询根据一些股票数据构建计算字段表 它为表中的每一行计算 1 到 10 年的移动平均窗口 并将其用于周期性调整 具体来说 CAPE CAPB CAPC CAPS 和 CAP
  • 将 firebase auth 与 google app engine 云端点集成

    有人可以指定 使用一些示例代码 如何验证谷歌云端点中的 firebase 令牌吗 最近提出的问题根本没有澄清 如何将 Firebase 身份验证与 Google 应用引擎端点集成 https stackoverflow com questi
  • 带有空格的 Firestore 文档字段名称在 Python 中与 .where() 一起使用时会返回错误

    使用 Firebase 的 Cloud Firestore 在 Python 3 7 中编写一个非常简单的程序 在程序中 我使用 where 下拉集合的一部分 然后使用 for 循环对其进行迭代 当任何带有空格的字段名称被传递到 where
  • InAppMessage 一旦显示就会自动消失

    您好 我最近将 InAppMessaging 添加到我的项目中 这似乎很容易集成 但对我来说并没有按预期工作 首先 我将其添加到 build gradle 中 implementation com google firebase fireb
  • 如何将事物的组合映射到关系数据库?

    我有一个表 其记录代表某些对象 为了简单起见 我假设该表只有一列 这是唯一的ObjectId 现在我需要一种方法来存储该表中的对象组合 组合必须是唯一的 但可以是任意长度 例如 如果我有ObjectIds 1 2 3 4 我想存储以下组合
  • 在 SQL 中按键组对行进行顺序编号?

    SQL中有没有办法按顺序添加行号按关键组 假设一个表包含任意 CODE NAME 元组 示例表 CODE NAME A Apple A Angel A Arizona B Bravo C Charlie C Cat D Dog D Dopp
  • 如何在 Firebase Analytics 事件中报告参数

    我用过Fabric with iOS在此之前 在同一分析事件中报告自定义参数非常容易 如下所示 Answers logCustomEvent withName saved border customAttributes image inde
  • ORA-00933 与内部联接和“as”混淆

    我有一个使用以下命令从两个表中获取数据的查询inner join 但我收到错误SQL command not properly ended as 下面有一个星号 select P carrier id O order id O aircra
  • SQL Server 2012:有条件地增加计数器用户 ROW_NUMBER()

    我正在尝试申请ROW NUMBER 根据特定条件增加计数器 我的数据如下所示 目标计数器是Prep column id DSR PrepIndicator Prep 1662835 1 1 1 1662835 14 2 2 1662835
  • SQL UPDATE 语句根据另一个现有行更新列

    基本上我有一个与下表具有相似格式的表格 我想做的是根据这个逻辑更新 Col4 如果 Col2 为空 则用 Col3 更新 Col4 如果 Col2 不为 null 则在 Col1 中查找与 Col2 中的值匹配的值 使用 col3 中的相应
  • 检索子值 -firebase-

    System out println ref child email protected cdn cgi l email protection child email 我正在尝试获取 child 的值 但我始终获取该值的 URL 当我尝试使
  • 如何在 Spring Data 中选择不同的结果

    我在使用简单的 Spring Data 查询或 Query 或 QueryDSL 在 Spring Data 中构建查询时遇到问题 如何选择三列 研究 国家 登录 不同的行 并且查询结果将是用户对象类型的列表 Table User Id S
  • Magento --“SQLSTATE[23000]:违反完整性约束..”客户更新

    迁移服务器后 每次尝试更新客户信息时都会出现错误 我正在使用一个客户激活插件 http www magentocommerce com magento connect vinai extension 489 customer activat
  • 自动提取数据 - Oracle SQL Developer

    我通过 SQL Developer 连接到 Oracle 数据库 我想编写一个返回每月数据集的查询 然后将该数据提取到分隔文本文件中 我知道如何做到这一点就好了 我想知道是否有一种方法可以编写一个脚本来运行查询并在一年内逐月提取数据 这样我
  • TSQL - 生成文字浮点值

    我理解比较浮点数时遇到的许多问题 并对它们在这种情况下的使用感到遗憾 但我不是表格作者 只有一个小障碍需要克服 有人决定使用浮点数 就像您期望使用 GUID 一样 我需要检索具有特定浮点值的所有记录 sp help MyTable Colu
  • 在 PostgreSql 中计算百分比

    例如我有一个这样的表 string adm A 2 A 1 B 2 A 1 C 1 A 2 通过 SQL 查询 我想要这样的结果 string perc adm A 50 B 100 C 0 我想要每个字符串中数字 2 出现的百分比 我可以
  • MySQL:如何获取每个分组的x个结果数[重复]

    这个问题在这里已经有答案了 可能的重复 mysql 在 GROUP BY 中使用 LIMIT 来获取每组 N 个结果 https stackoverflow com questions 2129693 mysql using limit w
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 根据由另一列分组的不同列的最大值获取值[重复]

    这个问题在这里已经有答案了 我想根据由另一列分组的不同列的最大值来获取列的值 我有这张表 KEY NUM VAL A 1 AB B 1 CD B 2 EF C 2 GH C 3 HI D 1 JK D 3 LM 并想要这样的结果 KEY V

随机推荐

  • Spark:reduce和reduceByKey之间的语义差异

    在 Spark 的文档中 它说 RDDs 方法reduce http spark apache org docs latest api scala index html org apache spark rdd RDD需要一个结合与交换的二
  • 居中裁剪图像以适当的尺寸在 ImageView 上设置

    我正在使用相机 API 来拍照 我必须根据我的图像视图大小打开不同尺寸的相机 我正在关注我们在 Android sdk sample adroid 18 中获得的名为 ApiDemo 的示例项目 我所做的更改不是在 setcontentvi
  • 检查日期时间变量是今天、明天还是昨天

    我不知道如何检查日期时间变量是今天 明天还是昨天 我在类成员中没有找到方法 final now DateTime now final today DateTime now year now month now day final yeste
  • Highcharts - 柱形图重画动画

    我正在尝试使用新的数据数组更新现有的数据系列并调用redraw完成后即可运行 虽然这工作得很好 但我不太满意 因为我想要一种增长 收缩的过渡 我见过一个Highcharts 的示例 http www highcharts com studi
  • Angular 7:自定义异步验证器

    我正在尝试为我的注册表单创建一个自定义异步验证器 它会检查电子邮件是否已存在 如果电子邮件不存在 后端返回 404 如果存在 则返回 200 无法更改此旧代码 我找到了几个教程 但没有找到使用最新 rxjs 库的教程 我创建了这个验证类 e
  • Play 2.2 应用程序在 Heroku 上崩溃

    从 Play 2 0 4 迁移到 Play 2 2 0 后 在 Heroku 上部署时出现此错误 Oct 15 13 23 12 heroku web 1 Starting process with command target unive
  • 检测单个图像中的多个图像

    我需要帮助来识别边界并将图像与原始图像进行比较 我需要关于如何通过处理或 matlab 或任何初学者实现这一目标的指导 例如 看下图 原图 The Multiple Image 您展示的 多图像 很容易使用简单的图像处理来处理 不需要模板匹
  • 在我的自定义 android 视图中添加自定义字符串属性

    我有一个从表布局派生的自定义视图 我需要声明 String 属性 Title 如下所示
  • Android 3.1 构建 gradle 4.4 配置项目 ':app' 时发生错误

    当我使用模拟器 api26 错误时 我没有使用 kotlin 因为不是导入 kotlin 而是构建 api gt 26 错误 gt kotlin KotlinNullPointerException 无错误消息 com android bu
  • MySQL大量“SET autocommit=0/1”查询

    我正在我们的系统上运行一些负载测试 我注意到正在执行大量 SET autocommit 0 和 SET autocommit 1 查询 1 分钟内大约有 25 000 个 我试图找出造成这种情况的原因以及如何消除它 我们使用以下技术 MyS
  • Qt Creator 将其设置保存在哪里?

    我想找到 Qt Creator 保存所有设置 文本编辑器首选项 语法突出显示等 的文件夹 以便我可以备份它们 有人知道他们在哪里吗 See QtCreator 快速浏览 http doc qt io qtcreator creator qu
  • 如何从XML获取Dataset中的多个表

    我正在读取数据集中的 XML 以下是我的 XML 结构 XML
  • Spring Boot - 从 webjar 覆盖索引页面

    在我的项目中 我使用 swagger ui 库 它在类路径的根目录中有 index html 文件 以这样的方式这个index html当我点击 root url 时 它会成为我的应用程序的起始页 但我想使用我的自定义 Groovy 模板i
  • 为什么需要内存对齐?

    我知道这个问题已经被问过一千次了 我已经阅读了每一个答案 但我仍然不明白 我的 RAM 模型可能存在一些根本性错误 使我无法理解任何答案 我从互联网上得到了所有这些小信息 但我就是无法将它们联系起来 以下是我认为到目前为止所知道的 以 IA
  • NS通知中心问题

    有没有办法知道一个对象是否已经注册为特定通知的观察者 在我的实现中 我必须动态添加和删除观察者 由于某种原因 存在一个随机问题 侦听器收到两次相同的通知 我知道我必须检查我的编码 但如果我知道这些信息 修复起来会更容易 谢谢 否 无法查询此
  • R、日期格式不一致

    我有一个日期变量 它最初来自 Excel 然而 它是如此异类 尽管在 Excel 中所有内容看起来都像 yyyy mm dd 但在 R 中读取时 变量看起来像 person 1 39257 person 2 2015 2 20 person
  • 如何将两个定点数相乘?

    我目前正在尝试找出如何以定点表示形式将两个数字相乘 假设我的数字表示如下 SIGN 2 0 2 1 2 2 2 14 就我而言 数量10 01000000000000 0 25 例如我会怎么做0 25x0 25 or 0 25x0 25 e
  • 如何将日期/时间字符串转换为不同的日期字符串?

    我将如何从日期转换此日期时间 摘自 2016 02 29 12 24 26 至 2016 年 2 月 29 日 到目前为止 这是我的代码 它返回一个 nil 值 let dateFormatter NSDateFormatter dateF
  • 数学问题:不同排列的数量

    这更像是一个数学问题 而不是编程问题 但我认为这里很多人都非常擅长数学 我的问题是 给定一个 9 x 9 网格 81 个单元格 其中必须包含数字 1 到 9 每个网格恰好 9 次 可以生成多少个不同的网格 数字的顺序并不重要 例如第一行可以
  • 如何计算 Firebase Analytics 原始数据中的会话和会话持续时间?

    如何计算会话持续时间在 Firebase 分析中raw data哪个与 BigQuery 相关联 我已使用以下博客通过对每个记录中嵌套的事件使用 flatten 命令来计算用户 但我想知道如何继续计算Session and 会话持续时间按国