助睿实验5-1浏览器市场与用户画像分析-数据加工21 实验目的本实验基于“用户-日-浏览器-小时”明细表完成数据大屏所需的各项统计表加工包括浏览器市场格局统计覆盖率、使用时长浏览器周活跃趋势统计浏览器使用频率分布统计用户浏览器使用数量分布统计浏览器工作日与周末使用对比统计用户画像统计性别、年龄、学历、职业、收入、居住地类型、省份分布2 实验环境实验平台助睿在线实验平台 https://lab.guilian.cn/本次实验使用助睿数智Uniplore作为一站式数据科学平台。该平台覆盖从数据接入、ETL处理、机器学习建模到可视化展示的全链路零代码功能适用于数据分析教学与企业数据加工场景。助睿数智官网为 https://www.uniplore.com/数据处理助睿 ETL 数据集成平台建模平台助睿 AI 人工智能平台数据规模1000 用户800 万 条行为记录约 825MB3 实验数据本实验基于上个实验《浏览器用户行为分析与流失预测-数据加工》产出的数据以及原始数据 demographic 用户属性表。上个实验已输出的数据daily_browser_detail用户-日-浏览器-小时明细表将在本实验第4.1节中输出browser_coverage浏览器市场覆盖率统计表browser_hourly浏览器时段活跃统计表4 整体分析框架4.1 我们要回答什么业务问题在制作数据大屏之前我们需要先明确一个问题大屏上要展示什么大屏的每个图表、每个数字都需要有对应的数据来源。我们不能在大屏上直接查询原始明细表 behavior_events因为原始明细表数据量大查询慢影响大屏加载速度大屏需要的是聚合后的统计结果不是原始明细多个图表可能共用同一份聚合数据提前加工可以避免重复计算因此在设计大屏之前我们首先需要明确我们要通过数据分析回答哪些业务问题业务问题 为什么重要哪个浏览器用户最多 了解市场领导者判断自身产品的市场地位哪个浏览器用户用得最久 用户数多不代表粘性高使用时长方能反映真实依赖度用户活跃度在增长还是下降 判断产品生命周期及时发现衰退信号用户什么时候最活跃 优化推送和运营时机在正确时间触达用户用户是重度使用还是偶尔打开 区分核心用户和边缘用户制定差异化运营策略用户同时用几个浏览器 了解用户忠诚度判断是否存在被竞品替代的风险用户还用什么其他浏览器 识别主要竞争对手制定针对性竞争策略工作日和周末使用习惯有何不同 区分工作场景和娱乐场景优化产品功能核心用户是谁性别、年龄、职业 明确目标用户群体指导产品设计和营销方向用户的教育水平如何 影响产品复杂度设计高学历用户可能接受更复杂的功能用户的收入水平如何 影响商业化策略高收入用户付费意愿更强用户分布在哪里城市、省份 指导区域市场拓展和资源投放4.2 选择哪些分析维度来回答这些问题根据上述业务问题我们可以分为2个部分市场分析与用户画像这2个部分可以选择以下分析维度大屏一浏览器市场行为分析维度 回答的业务问题 核心指标市场格局 哪个浏览器用户最多哪个用得最久 用户数、使用时长占比、人均时长周活跃趋势 用户活跃度在增长还是下降 每周活跃用户数时段偏好 用户什么时候最活跃 24小时活跃分布使用频率 用户是重度还是轻度使用 轻/中/重度用户占比浏览器使用数量 用户同时用几个浏览器 1种/2种/3种及以上用户占比竞品重叠 用户还用什么其他浏览器 同时使用两个浏览器的用户数工作日vs周末 工作和娱乐时使用习惯有何不同 工作日/周末使用时长对比大屏一浏览器用户画像分析维度 回答的业务问题 核心指标性别分布 男女用户比例如何 男性/女性用户数及占比年龄分布 哪个年龄段的用户最多 各年龄段用户数及占比学历分布 用户教育水平如何 各学历层次用户数及占比职业分布 哪些职业的用户最多 各职业用户数及占比收入分布 用户收入水平如何 各收入段用户数及占比居住地类型分布 城市用户还是乡镇用户多 城市/城郊/乡村用户占比地域分布 用户分布在哪些省份 各省份用户数4.3 需要加工哪些目标表根据上述分析维度我们反推出需要加工的目标表大屏一目标表目标表 对应维度 数据来源browser_overview 核心指标 daily_browser_detailbrowser_coverage 市场格局 daily_browser_detailbrowser_weekly_active 周活跃趋势 daily_browser_detailbrowser_hourly 时段偏好 daily_browser_detailbrowser_frequency_stats 使用频率 daily_browser_detailbrowser_multi_usage 浏览器使用数量 daily_browser_detailbrowser_cooccurrence 竞品重叠 daily_browser_detailbrowser_weekday_weekend 工作日vs周末 daily_browser_detail大屏二目标表目标表 对应维度 数据来源user_profile_stats 性别、年龄、学历、职业、收入、省份、居住地类型 demographic、daily_browser_detail4.4 目标表与数据来源关系5 各目标表加工说明目标表 用途 加工逻辑 数据来源browser_coverage 回答“哪个浏览器用户最多哪个用得最久” 按 browser_name 分组统计用户数、总时长、人均时长 daily_browser_detail已在上个实验输出browser_hourly 回答“用户什么时候最活跃” 按 browser_name、hour 分组统计活跃用户数 daily_browser_detail已在上个实验输出browser_weekly_active 回答“用户活跃度在增长还是下降” 按 browser_name 和周编号分组统计每周活跃用户数 daily_browser_detailbrowser_frequency_stats 回答“用户是重度还是轻度使用” 计算每个用户的周使用时长按阈值轻度3h、中度3-10h、重度10h划分等级再按浏览器分组统计 daily_browser_detailbrowser_multi_usage 回答“用户同时用几个浏览器” 统计每个用户使用多少种不同的浏览器按1种、2种、3种及以上分组 daily_browser_detailbrowser_cooccurrence 回答“用户还用什么其他浏览器” 统计每对浏览器被同一用户使用的人数 daily_browser_detailbrowser_weekday_weekend 回答“工作日和周末使用习惯有何不同” 按浏览器和日期类型工作日/周末分组统计人均使用时长 daily_browser_detailuser_profile_stats 回答“核心用户是谁用户教育/收入水平如何”… 按性别、年龄、学历、职业、收入、省份、居住地类型分组统计 demographic、daily_browser_detail6 实验步骤6.1 准备 用户-日-浏览器-小时 明细表上个实验中的“互联网用户行为日志数据清洗抽取”转换流已经包含了生成明细数据的完整逻辑但只输出了分支A和Bbrowser_coverage 和 browser_hourly。我们需要将其复制一份改为输出明细表作为本实验后续加工的基础。6.1.1 创建用户_日_浏览器_小时明细表首先我们先在团队私有数据库中创建用于存放 用户-日-浏览器-小时 明细表的数据表打开上个实验创建的项目“互联网用户行为日志”新建转换流“创建用户_日_浏览器_小时明细表”拖入“执行一个SQL脚本”组件双击“执行一个SQL脚本”组件数据库连接选择“团队私有数据库”并输入以下SQLCREATE TABLE IF NOT EXISTS daily_browser_detail (user_id VARCHAR(50) NOT NULL COMMENT 用户ID,usage_date DATE NOT NULL COMMENT 使用日期,browser_name VARCHAR(50) NOT NULL COMMENT 浏览器名称,hour TINYINT NOT NULL COMMENT 小时,total_duration_sec INT NOT NULL COMMENT 总使用时长(秒),active_count INT NOT NULL COMMENT 活跃次数) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT用户_日_浏览器_小时明细表;点击“运行”按钮执行转换流6.1.2 复制转换流在上个实验的项目中找到“互联网用户行为日志数据清洗抽取”转换流右键选择“复制”右键根目录点击“粘贴”粘贴后右键重命名为“输出用户日浏览器小时明细表”这里注意上个实验中“排序记录 1”组件仅按照 process_name 升序排序而分组组件的分组字段是user_id、usage_date、process_name、hour所以需要更正“排序记录 1”组件的排序字段与分组组件的分组字段一致否则会出现多条重复数据6.1.3 浏览器名称映射在分组组件后添加“值映射”组件“值映射”组件连接到原分支A的分组 1组件、复制发送到原分支B的排序记录 2组件值映射组件按照以下添加映射进程名 说明iexplore.exe IE浏览器360chrome.exe 360极速360se.exe 360sechrome.exe Googlesogouexplorer.exe 搜狗QQBrowser.exe QQ浏览器这里需要注意上个实验的“4.5.3 过滤记录筛选进程为主要浏览器的数据”步骤中如果匹配条件是 process_name IN LIST “iexplore.exe;360chrome.exe;360se.exe;chrome.exe;sogouexplorer.exe;QQBrowser.exe”则继续下一步骤如果匹配条件与以上不同则删除匹配值中的EXCEL.EXE、WINWORD.EXE、AlilM.exe因为这3个不是浏览器另外转换流中的分组组件中聚合字段的聚合类型是“个数”的需要改成“统计不同值的数量(N)”并在分支A的“分组 1”组件前添加排序记录组件按 process_name 升序排序6.1.5 添加表输出组件拖拽“表输出”组件到画布中值映射组件连接到“表输出”组件双击“表输出”组件配置如下数据库连接选择“团队私有数据库”目标表daily_browser_detail勾选“裁剪表”清空原有数据勾选“指定数据库字段”建立字段映射6.1.6 执行转换流击“运行”按钮执行转换流6.2 创建目标数据表在团队私有数据库中创建本实验需要输出的目标表新建转换流“创建浏览器大屏分析目标数据表”拖拽“执行一个SQL脚本”组件1920×945 50.2 KB双击“执行一个SQL脚本”组件数据库连接选择“团队私有数据库”并输入以下SQL使用DROP TABLE可以避免需要重新建表时语句报错-- 1. 核心指标概览表DROP TABLE IF EXISTS browser_overview;CREATE TABLE browser_overview (metric_name VARCHAR(50) NOT NULL COMMENT 指标名称,metric_value DECIMAL(12,2) NOT NULL COMMENT 指标值) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT核心指标概览表;-- 2. 各浏览器周活跃趋势表DROP TABLE IF EXISTS browser_weekly_active;CREATE TABLE browser_weekly_active (browser_name VARCHAR(50) NOT NULL COMMENT 浏览器名称,week_range VARCHAR(20) NOT NULL COMMENT 周日期范围,active_user_count INT NOT NULL COMMENT 活跃用户数) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT各浏览器周活跃趋势表;-- 3. 浏览器使用频率分布表DROP TABLE IF EXISTS browser_frequency_stats;CREATE TABLE browser_frequency_stats (browser_name VARCHAR(50) NOT NULL COMMENT 浏览器名称,usage_level VARCHAR(10) NOT NULL COMMENT 使用等级,user_count INT NOT NULL COMMENT 用户数) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT浏览器使用频率分布表;-- 4. 用户使用浏览器数量分布表DROP TABLE IF EXISTS browser_multi_usage;CREATE TABLE browser_multi_usage (browser_count VARCHAR(10) NOT NULL COMMENT 使用浏览器数量,user_count DECIMAL(5,2) NOT NULL COMMENT 用户数量) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT用户使用浏览器数量分布表;-- 5. 浏览器工作日周末对比表DROP TABLE IF EXISTS browser_weekday_weekend;CREATE TABLE browser_weekday_weekend (browser_name VARCHAR(50) NOT NULL COMMENT 浏览器名称,day_type VARCHAR(10) NOT NULL COMMENT 工作日/周末,avg_duration_sec INT NOT NULL COMMENT 人均使用时长(秒),total_duration_hour BIGINT NOT NULL COMMENT 总使用时长(小时),user_count INT NOT NULL COMMENT 用户数) COMMENT 浏览器工作日周末对比表;-- 6. 用户画像统计表DROP TABLE IF EXISTS user_profile_stats;CREATE TABLE user_profile_stats (browser_name VARCHAR(50) NOT NULL COMMENT 浏览器名称,gender VARCHAR(10) COMMENT 性别,age_group VARCHAR(10) COMMENT 年龄段,edu VARCHAR(50) COMMENT 学历,job VARCHAR(50) COMMENT 职业,income VARCHAR(50) COMMENT 收入,city_type VARCHAR(10) COMMENT 居住地类型,province VARCHAR(50) COMMENT 省份,user_count INT NOT NULL COMMENT 用户数) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT用户画像统计表;点击“运行”按钮执行转换流6.3 各浏览器周活跃趋势表数据抽取执行目标统计每个浏览器在第1-4周的每周活跃用户数新建转换流“各浏览器周活跃趋势表数据抽取”拖拽“表输入”组件画布中数据库连接选择“团队私有数据库”点击“获取SQL查询语句”选择 daily_browser_detail 获取所有查询语句这里我们需要将每个浏览器的使用日期转为周5/7-5/13、6/4-6/10、7/2-7/8、8/6-8/12可以使用值映射组件完成但是在此之前需要使用字段选择组件对usage_date进行格式转换。拖拽字段选择组件到画布中创建表输入组件到字段选择组件的连线双击字段选择组件点击“元数据”右键插入输入字段名称usage_date类型为Date格式为“yyyy-MM-dd”再拖拽值映射组件字段选择组件连接值映射组件双击值映射组件使用的字段名选择“usage_date”目标字段名空覆盖输入“week_range”表示创建新字段week_range用来存储映射结果接下来就插入行将每个日期映射为对应的周区间接下来我们按各浏览器、周分组统计用户数分组之前需要对数据进行排序避免统计结果出错。拖拽排序记录组件到画布中创建值映射组件到排序记录组件的连线排序记录组件设置为按照browser_name、week_range 升序排序排序后拖拽分组组件排序记录组件连接到分组组件分组字段为browser_name、week_range聚合时对user_id进行去重计数得到active_user_count因此聚合配置中输入字段“active_user_count”subject 为“user_id”类型为“统计不同值的数量(N)”最后拖入表输出组件将分组聚合结果入库表输出组件配置为数据库连接选择“团队私有数据库”目标表browser_weekly_active勾选“裁剪表”清空原有数据勾选“指定数据库字段”建立字段映射执行转换流6.4 各浏览器使用频率分布表数据抽取目标按轻/中/重度划分用户使用频率新建转换流“使用频率分布数据抽取”拖拽“表输入”组件画布中数据库连接选择“团队私有数据库”点击“获取SQL查询语句”选择 daily_browser_detail 获取所有查询语句接下来我们统计每个用户使用各浏览器的使用时长拖拽排序记录组件到画布中创建表输入组件到排序记录组件的连线排序记录组件设置为按照 user_id、browser_name 升序排序排序后拖拽分组组件排序记录组件连接到分组组件分组组件的分组字段为 user_id、browser_name总使用时长 每天总使用时长 total_duration_sec 求和这样计算的总时长单位是秒我们将其转换为小时更直观小时 秒 ÷ 3600由于我们的数据中没有3600这个字段所以需要先增加这个常量字段。拖拽增加常量组件到画布中分组组件连接到增加常量组件增加常量组件配置中增加新字段“hour_m_s”将其类型设置为 Integer 并且值固定为 3600如下接下来拖入计算器组件通过计算器计算小时新增使用时长单位为小时的字段“total_hours”计算公式为“A / B”字段A为“total_seconds”字段B为“hour_m_s”保留2位小数接下来我们为使用频率划分等级。拖入JavaScript代码组件计算器组件连接到JavaScript代码组件双击JavaScript代码组件如下以下代码点击”获取变量”自动获取代码中的变量var total_hours total_hours;var usage_level ;if (total_hours 3) {usage_level 轻度;} else if (total_hours 3 total_hours 10) {usage_level 中度;} else {usage_level 重度;}usage_level这个字段我们需要在之前的增加常量组件中新增接下来我们就可以统计每个浏览器的各使用等级的用户数了同样的先拖入排序记录组件将数据按照 browser_name、usage_level 升序排序再拖入分组组件按 browser_name、usage_level 分组统计 user_countuser_id去重计数最后拖入表输出组件将分组聚合结果入库表输出组件配置为数据库连接选择“团队私有数据库”目标表browser_frequency_stats勾选“裁剪表”清空原有数据勾选“指定数据库字段”建立字段映射执行转换流6.5 各浏览器使用数量分布表数据抽取目标统计用户使用1种、2种、3种及以上浏览器的用户数新建转换流“浏览器使用数量分布数据抽取”拖拽“表输入”组件画布中数据库连接选择“团队私有数据库”点击“获取SQL查询语句”选择 daily_browser_detail 获取所有查询语句接下来我们统计每个用户使用各浏览器的种类数量拖拽排序记录组件到画布中创建表输入组件到排序记录组件的连线排序记录组件设置为按照 user_id 升序排序排序后拖拽分组组件排序记录组件连接到分组组件分组组件的分组字段为 user_id使用浏览种类数量 浏览器名称去重计数接下来我们划分浏览器数量等级。拖入JavaScript代码组件计算器组件连接到JavaScript代码组件双击JavaScript代码组件如下以下代码点击”获取变量”自动获取代码中的变量var browser_cnt browser_cnt;var browser_count ;if (browser_cnt 1) {browser_count 1种;} else if (browser_cnt 2) {browser_count 2种;} else {browser_count 3种及以上;}接下来我们就可以统计使用1种、2种、3种浏览器的用户数了同样的先拖入排序记录组件将数据按照 browser_count 升序排序再拖入分组组件按 browser_count 分组统计 user_countuser_id去重计数最后拖入表输出组件将分组聚合结果入库表输出组件配置为数据库连接选择“团队私有数据库”目标表browser_multi_usage勾选“裁剪表”清空原有数据勾选“指定数据库字段”建立字段映射执行转换流6.6 各浏览器工作日周末对比表数据抽取目标统计各浏览器工作日周末使用时长对比新建转换流“浏览器工作日周末对比数据抽取”拖拽“表输入”组件画布中数据库连接选择“团队私有数据库”点击“获取SQL查询语句”选择 daily_browser_detail 获取所有查询语句接下来根据使用日期获取星期几拖拽JavaScript代码组件到画布中表输入组件连接JavaScript代码组件双击JavaScript代码组件如下以下代码点击”获取变量”自动获取代码中的变量// 获取日期var date usage_date;// 获取星期几0周日, 1周一, ..., 6周六var dayOfWeek date.getDay();// 判断工作日还是周末var day_type ;if (dayOfWeek 1 dayOfWeek 5) {day_type 工作日;} else {day_type 周末;}接下来我们就可以统计工作日和周末的使用时长和用户数了同样的先拖入排序记录组件将数据按照 browser_name、 day_type升序排序再拖入分组组件按 browser_name、 day_type 分组聚合avg_seconds 平均使用时长秒total_seconds 总使用时长秒user_count COUNT(DISTINCT user_id)平均使用时长单位是秒的数值不会太大是比较好观察但是总使用时长的单位是秒的话数值很大不够直观所以将其转为小时参考“6.4 各浏览器使用频率分布表数据抽取”种计算小时的方法使用增加常量组件和计算器组件来实现在计算过程中出现了一些中间字段我们使用字段选择组件来删除冗余字段最后拖入表输出组件将分组聚合结果入库表输出组件配置为数据库连接选择“团队私有数据库”目标表browser_weekday_weekend勾选“裁剪表”清空原有数据勾选“指定数据库字段”建立字段映射执行转换流6.7 核心指标数据抽取目标将大屏顶部四个指标卡的数据存入一张通用的键值对表中在以上数据抽取中我们已经获取了各浏览器的用户数、使用时长、活跃用户数、重度用户数但我们设计的核心指标是全局数据除了使用时长其他用户数相关的数据在不同浏览器之间是存在重叠的所以需要重新计算。用一个表输入组件直接SQL一次性算出所有指标然后通过列转行将一行转为四行新建转换流“”拖入表输入组件数据库连接团队私有数据库在SQL语句框中输入以下SQLSELECTROUND(SUM(total_duration_sec) / 3600, 2) AS total_hours,ROUND(SUM(total_duration_sec) / 3600 / COUNT(DISTINCT user_id), 2) AS avg_hours,ROUND((SELECT COUNT(DISTINCT user_id) FROM daily_browser_detailWHERE usage_date BETWEEN 2012-08-06 AND 2012-08-12) * 100.0 / COUNT(DISTINCT user_id), 2) AS active_ratio,ROUND((SELECT COUNT(*) FROM (SELECT user_id FROM daily_browser_detailWHERE usage_date BETWEEN 2012-05-07 AND 2012-07-08GROUP BY user_idHAVING SUM(total_duration_sec) / 3600 30) t) * 100.0 / COUNT(DISTINCT user_id), 2) AS heavy_ratioFROM daily_browser_detail接下来使用行转列组件将字段名称转为指标名称字段值转为指标值字段名称 key值 value字段total_hours total_hours metric_valueavg_hours avg_hours metric_valueactive_ratio active_ratio metric_valueheavy_ratio heavy_ratio metric_value接下来使用值映射组件将指标名称映射为中文最后使用表输出组件写入目标表 browser_overview最后执行转换流即可6.8 用户画像表加工目标统计每个浏览器按性别、年龄、学历、职业、收入、居住地类型的用户分布6.8.1 获取人口属性信息表用户画像表需要用户的属性信息行为日志的数据中仅包含行为数据缺少用户属性数据因此需要获取数据集中的人口属性信息表 demographic.csv行为日志数据与人口属性数据通过用户ID关联本次实验已经将 demographic.csv 预先存放在实验平台的公共空间数据资源中可以直接导出到我们的项目文件目库中点击“公共空间”点击tab选项“数据资源”可以看到 demographic.csv点击 demographic.csv 卡片右上角的“更多” - “导出”选择导出到的目录例如根目录最后点击“确定”刷新文件库的根目录即可看到 demographic.csv6.8.2 CSV文件输入读取人口属性数据新建转换流“用户画像表加工”拖拽“CSV文件输入”组件到画布中双击“CSV文件输入”组件点击“浏览文件”按钮在弹出的窗口中选择 demographic.csv然后点击“确定”列分隔符和封闭符保持不变编码选择“UTF-8”往下滑一点在空白表格处右键点击“获取字段”字段获取成功后点击“确认”6.8.3 年龄分段原人口属性数据中没有年龄字段但是有出生年份因此我们可以通过计算获取用户的年龄属性首先我们拖入增加常量组件增加常量字段“year”值设为“2012”数据是2012年的拖入“计算器”组件来计算用户在2012年的年龄年龄 2012 - 出生年份即age year - BIRTHDAY接下来我们将年龄划分为四段18、18-25、26-35、35拖入JavaScript代码组件计算器组件连接到JavaScript代码组件双击JavaScript代码组件输入以下代码点击“获取变量”自动获取代码输出的变量var age_group ;if (age 18) {age_group 18;} else if (age 25) {age_group 18-25;} else if (age 35) {age_group 26-35;} else {age_group 35;}6.8.4 表输入读取用户_日_浏览器_小时明细数据拖入“表输入”组件到画布中双击“表输入”组件数据库连接选择“团队私有数据库”点击“获取SQL查询语句”在弹出的窗口中选择用户_日_浏览器_小时明细表 daily_browser_detail系统提示选择“确认”获取SQL查询语句后点击“确认”、6.8.5 关联用户属性记录集连接组件可以将两个表进行连接就是数据库中的join操作。数据连接时注意两个连接的数据集是否存在同一个字段。“记录集连接”组件之前需要先对数据进行排序否则可能出错我们先拖拽2个“排序记录”组件到画布中分别创建“表输入”组件到“排序记录 1”组件的连线、“CSV文件输入”组件到“排序记录”组件的连线其中“CSV文件输入”组件到“排序记录”组件的连线类型选择“主输出步骤”双击“排序记录 1”组件命名为“明细数据按用户ID排序”在空白表格处右键点击“获取字段”仅保留“user-id”其他字段选中后右键点击“删除选中的行”设置 user_id 升序排序后点击“确认”同样的双击“排序记录”组件命名为“用户属性数据按用户ID排序”设置按 USERID 升序排序接下来两个数据就可以通过记录集连接组件来关联了拖拽“记录集连接”组件到画布中2个排序记录组件分别连接到记录集连接组件因为数据已经排序了右上角的提示可以忽略双击“记录集连接”组件第一个Transform选择“明细数据按用户ID排序”第二个Transform选择“用户属性数据按用户ID排序”连接类型选择“LEFT OUTER”分别点击两个“获得连接字段”按钮获取2个数据的字段2个数据是通过用户ID关联的所以第一个Transform的连接字段保留“user_id”第二个Transform的连接字段保留“USERID”其他字段通过删除选中的行来删除6.8.6 统计用户数分组统计之前需要先对数据进行排序拖入排序记录组件记录集连接组件连接到排序记录组件按照等下分组聚合的分组字段升序排序即browser_name、GENDER、EDU、JOB、INCOME、PROVINCE、ISCITY、age_group拖入分组组件排序记录组件连接到分组组件按 browser_name、GENDER、EDU、JOB、INCOME、PROVINCE、ISCITY、age_group 分组聚合 user_count user_id 统计不同值的数量(N)6.8.7 表输出拖入表输出组件将分组聚合结果入库表输出组件配置为数据库连接选择“团队私有数据库”目标表user_profile_stats勾选“裁剪表”清空原有数据勾选“指定数据库字段”建立字段映射6.8.8 执行转换流点击“运行”按钮6.8.9 查看结果数据点击“元数据”tab选项右键团队私有数据库点击“加载元数据”点击“数据探查”查看以上生成的目标表是否符合预期