一、实验目的
依托用户 – 日期 – 浏览器 – 小时明细数据,完成数据大屏配套各类统计报表的加工处理,产出多维度分析结果,具体包含:浏览器市场覆盖率与使用时长统计、周活跃趋势统计、使用频率分布、用户浏览器使用数量分布、工作日 / 周末使用对比,以及基于性别、年龄、学历、职业、收入、居住地、省份的用户画像统计。
二、实验环境
实验依托助睿在线实验平台开展,使用 Uniplore 助睿数智全链路数据科学平台完成操作,平台集成数据接入、ETL 数据处理、AI 建模、可视化等零代码能力,适配教学与企业数据加工场景。
- 平台地址:助睿在线实验平台 https://lab.guilian.cn/、助睿数智官网 https://www.uniplore.com/
- 核心工具:助睿 ETL 数据集成平台、助睿 AI 建模平台
- 数据规模:共计 1000 名用户,800 万条以上行为记录,整体数据大小约 825MB
三、实验数据
本次实验数据源分为两部分:一是上一轮实验《浏览器用户行为分析与流失预测 – 数据加工》生成的业务数据表,二是存储用户基础属性的demographic属性表。 已有成果数据表:
四、整体分析思路
4.1 明确业务分析目标
数据大屏不直接调取原始行为明细表,原因在于原始数据体量庞大、查询耗时久,且大屏展示依赖聚合统计结果,提前加工聚合表还能规避多图表重复计算的问题。结合业务需求,梳理出大屏需要解答的核心业务问题:
表格
| 主流浏览器及用户使用时长情况 | 研判市场份额、用户产品粘性 |
| 浏览器用户整体活跃走势 | 判断产品生命周期,及时发现运营风险 |
| 用户活跃时段特征 | 指导运营推送、活动触达时机 |
| 用户使用频次高低 | 区分核心 / 边缘用户,制定分层运营策略 |
| 单用户多款浏览器使用情况 | 评估用户忠诚度、竞品冲击风险 |
| 不同浏览器交叉使用人群 | 定位主要竞品,制定差异化竞争方案 |
| 工作日与周末使用行为差异 | 区分办公、娱乐两大使用场景,优化产品功能 |
| 用户性别、年龄、职业、地域等画像特征 | 锁定目标客群,指导产品设计、市场推广与商业化布局 |
4.2 划分分析维度
整体分为浏览器市场行为分析、用户画像分析两大模块,对应大屏两大展示板块,明确各板块分析维度与核心统计指标。
板块一:浏览器市场行为分析
围绕市场格局、周活跃趋势、时段偏好、使用频率、多浏览器使用、竞品交叉、工作日 / 周末对比七大维度开展分析,配套用户数、使用时长、活跃人数、用户分层占比等指标。
板块二:浏览器用户画像分析
基于用户基础属性,从性别、年龄段、学历、职业、收入、居住地类型、省份七大维度统计人群分布,输出各维度用户数量及占比。
4.3 梳理待加工目标数据表
结合分析维度,反向确定需要创建并加工的统计结果表,明确每张表的分析用途与数据来源:
4.4 数据表关联关系
(原内容无额外图文,此处沿用原有数据关联逻辑:行为明细表为核心基础表,与用户属性表通过用户 ID关联,所有统计报表均由基础表聚合加工生成)
五、各数据表加工规则
按目标表逐一明确使用场景、数据加工逻辑与数据源:
六、详细实验操作步骤
6.1 生成用户 – 日 – 浏览器 – 小时基础明细表
本环节基于上一实验工程,创建并落地核心明细数据表,作为后续所有统计的基础。
6.1.1 新建数据表结构
打开上期创建的互联网用户行为日志项目,新建转换流并命名为「创建用户_日_浏览器_小时明细表」。

画布中添加执行一个 SQL 脚本组件,数据库选择团队私有数据库,粘贴建表 SQL 语句。

运行转换流,完成daily_browser_detail数据表创建。

6.1.2 复用并修改已有转换流
在项目内找到上期「互联网用户行为日志数据清洗抽取」转换流,右键复制

粘贴至项目根目录,并重命名为「输出用户日浏览器小时明细表」。


修正排序记录组件配置,将排序字段调整为与分组组件保持一致(user_id、usage_date、process_name、hour),避免数据重复。

6.1.3 配置浏览器名称映射
在分组组件后新增值映射组件,分别对接原有两条数据分支。

按照进程名与浏览器名称的对应关系,配置映射规则:iexplore.exe→IE 浏览器、360chrome.exe→360 极速、360se.exe→360se、chrome.exe→Google、sogouexplorer.exe→搜狗、QQBrowser.exe→QQ 浏览器。

检查数据过滤规则,剔除 EXCEL.EXE、WINWORD.EXE、AlilM.exe 等非浏览器进程。

6.1.4 配置数据输出并执行
画布添加表输出组件,与值映射组件建立连线。

配置表输出参数:选择团队私有数据库、目标表指定为daily_browser_detail,勾选「裁剪表」清空历史数据,完成字段映射匹配。


运行转换流,将清洗后的明细数据写入目标表。

6.2 批量创建所有分析目标数据表
新建转换流,命名为「创建浏览器大屏分析目标数据表」,添加执行一个 SQL 脚本组件。

选择团队私有数据库,批量执行建表 SQL,脚本中先执行删表语句规避重复建表报错,依次创建browser_overview、browser_weekly_active、browser_frequency_stats、browser_multi_usage、browser_weekday_weekend、user_profile_stats六张统计表。

运行转换流,完成所有目标表结构创建。

6.3 加工浏览器周活跃趋势统计表
目标:按浏览器、周区间统计每周独立活跃用户数。
新建转换流「各浏览器周活跃趋势表数据抽取」,添加表输入组件,读取daily_browser_detail全量数据。

新增字段选择组件

规范日期字段usage_date格式为yyyy-MM-dd。

接入值映射组件

将原始日期转换为对应周区间文本(5/7-5/13、6/4-6/10、7/2-7/8、8/6-8/12),生成新字段week_range。

添加排序记录组件,按browser_name、week_range升序排序。

接入分组组件,以browser_name、week_range为分组依据,对user_id做去重计数,得到周活跃用户数。

配置表输出组件,数据写入browser_weekly_active,勾选裁剪表并完成字段映射,最后运行转换流。


6.4 加工浏览器使用频率分布表
目标:按使用时长将用户划分为轻度、中度、重度三类,统计各层级人数。
新建转换流「使用频率分布数据抽取」,通过表输入读取daily_browser_detail数据。

添加排序记录组件

按user_id、browser_name升序排序

接入分组组件,按用户 + 浏览器分组,对total_duration_sec求和,得到单用户单浏览器总使用数。

新增增加常量组件,设置常量字段值为 3600(秒与小时换算系数)。


使用计算器组件,通过「总秒数 ÷3600」计算得到使用小时数,保留两位小数。


接入JavaScript 代码组件,编写逻辑划分使用等级:时长<3 小时标记为轻度、3~10 小时标记为中度、>10 小时标记为重度。

获取变量

usage_level这个字段我们需要在之前的增加常量组件中新增:

再次添加排序记录组件,按browser_name、usage_level排序。

接入分组组件,按浏览器、使用等级分组,统计独立用户数。

配置表输出,数据写入browser_frequency_stats,运行转换流。

可以查看运行日志

6.5 加工用户浏览器使用数量分布表
目标:统计使用 1 种、2 种、3 种及以上浏览器的用户规模。
新建转换流「浏览器使用数量分布数据抽取」,表输入读取明细数据表。

添加排序记录组件

按user_id升序排序
接入分组组件,按用户 ID 分组,对browser_name去重计数,得到每位用户使用的浏览器种类数。

新增JavaScript 代码组件,根据浏览器数量做标签划分:1 个→1 种、2 个→2 种、3 个及以上→3种及以上。


添加排序记录组件,按浏览器数量标签排序。

接入分组组件,按数量标签分组,统计对应用户数。

配置表输出组件,数据写入browser_multi_usage,执行转换流。

查看日志

6.6 加工浏览器工作日 / 周末对比统计表
目标:区分工作日、周末,统计各浏览器使用时长、用户数。
新建转换流「浏览器工作日周末对比数据抽取」,表输入读取daily_browser_detail数据。

接入JavaScript 代码组件,通过日期计算星期,区分「工作日」「周末」并生成day_type字段。

添加排序记录组件,按browser_name、day_type升序排序。

接入分组组件,按浏览器、日期类型分组,分别计算平均使用秒数、总使用秒数、独立用户数。

依次使用增加常量、计算器组件,将总使用秒数换算为小时。

新增字段选择组件,剔除中间冗余字段。

配置表输出,数据写入browser_weekday_weekend

运行转换流

6.7 加工全局核心指标概览表
目标:计算大屏全局核心指标,以键值对形式存入browser_overview。
新建转换流,添加表输入组件,执行聚合 SQL,一次性计算全局总使用时长、人均使用时长、周活跃用户占比、重度用户占比四大指标。

使用行转列组件,将单行多列指标转换为多行键值结构。

接入值映射组件,将英文指标名替换为中文名称。

配置表输出组件,数据写入browser_overview


执行转换流

6.8 加工用户画像统计表
目标:关联行为数据与用户属性,完成全维度人群分布统计。
6.8.1 导入用户属性文件
进入平台公共空间
数据资源

找到demographic.csv

将文件导出至项目根目录


6.8.2 读取属性数据并计算年龄段
新建转换流「用户画像表加工」

添加CSV 文件输入组件,读取demographic.csv,匹配字段、设置编码为 UTF-8。


新增增加常量组件,设置年份常量为 2012。

使用计算器组件,通过「2012 – 出生年份」计算用户实际年龄。

接入JavaScript 代码组件,划分年龄段:<18、18-25、26-35、>35。
6.8.3 读取行为明细数据并排序
新增表输入组件,读取daily_browser_detail明细数据。

分别为CSV 属性数据、行为明细数据添加排序记录组件

均按用户 ID 升序排序。

6.8.4 关联两份数据集
画布添加记录集连接组件

对接两组已排序数据,连接类型选择左外连接,同时配置关联字段:明细表user_id 匹配 属性表USERID,完成用户行为与用户属性的关联。

6.8.5 分组统计与数据落地
添加排序记录组件,按browser_name、性别、年龄段、学历、职业、收入、居住地、省份排序。

接入分组组件,基于上述多维度字段分组,统计独立用户数。

配置表输出组件,数据写入user_profile_stats,执行转换流。

查看执行日志

6.8.6 结果校验
加载团队私有数据库元数据,通过数据探查功能,逐一查看所有目标表数据,验证统计结果符合业务预期。


七、实验总结
一、收获
1、掌握了从大屏业务需求反向拆解数据表的思路:先明确业务分析题,再确定分析维度,最后落地目标统计表,理解了分层提前聚合明细数据、避免大屏直查原始大表的工程逻辑,清楚多图表复用中间聚合表可以减少重复计算、优化查询性能。
2、增强了报错排查能力 :实操中解决了三类典型数据库入库报错:字段NOT NULL为空(hour、browser_name 缺失)、数据表不存在目标列(ISCITY 字段表中无定义)、字段大小写 / 映射遗漏问题,养成了在入库前预览数据、分步调试单条转换流的排错习惯。
3、掌握了指标分层加工逻辑 :学会分模块加工 7 张业务统计表:市场格局、周活跃、时段分布、使用频率、多浏览器使用、工作日周末对比、用户画像,理解不同指标的统计口径(去重用户数、总时长、人均时长)。
二、对平台的整体评价
1、零代码可视化建模友好:拖拽式组件替代原生 SQL 开发,降低 ETL 开发门槛,适合数据分析课程教学,新手可以直观看见数据流转过程,快速理解数据加工逻辑;
2、组件功能完备:内置计算、脚本、映射、关联、聚合、文件读写全链路组件,覆盖从数据接入、清洗、聚合到入库全场景,一站式完成从原始日志到大屏统计宽表的加工;
3、调试便捷:支持分步运行、数据预览、元数据探查,单组件可独立调试,出现报错能精准定位到出错步骤,方便排查字段丢失、映射错误等问题;
4、数据库联动完善:支持在线执行建表 SQL、自动获取数据表字段,表输出一键关联目标表,适配 MySQL 常规建表、批量入库场景。










