,附完整操作流程 + 踩坑详解)
一、实验背景1.1、实验目的本实验基于“用户-日-浏览器-小时”明细表完成数据大屏所需的各项统计表加工同时使用助睿Max 数据大屏制作浏览器市场行为分析大屏最后再使用助睿Max的蓝图编辑器将之前实验加工好的数据表接入到大屏的各个图表组件中使图表能够动态展示真实数据。1.2、实验环境实验平台助睿在线实验平台 https://lab.guilian.cn/本次实验使用助睿数智Uniplore作为一站式数据科学平台。该平台覆盖从数据接入、ETL处理、机器学习建模到可视化展示的全链路零代码功能适用于数据分析教学与企业数据加工场景。助睿数智官网为 https://www.uniplore.com/二、实验步骤2.1、准备 用户-日-浏览器-小时 明细表由于在上个实验中的“互联网用户行为日志数据清洗抽取”转换流已经包含了生成明细数据的完整逻辑但只输出了分支A和Bbrowser_coverage 和 browser_hourly。因此需要将其复制一份改为输出明细表作为本实验后续加工的基础。2.1.1、创建用户_日_浏览器_小时明细表打开上个实验创建的项目“互联网用户行为日志”并新建转换流“创建用户_日_浏览器_小时明细表”拖入“执行一个SQL脚本”组件。再双击该组件进行配置其中数据库连接选择“团队私有数据库”并输入以下SQL代码CREATE 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用户_日_浏览器_小时明细表;相应的配置界面如下最后再点击“运行”按钮执行转换流即可。2.1.2、复制转换流在上个实验的项目中找到“互联网用户行为日志数据清洗抽取”转换流右键选择“复制”。再右键根目录点击“粘贴”并重命名为“输出用户日浏览器小时明细表”。同时由于上个实验中“排序记录 1”组件仅按照 process_name 升序排序而分组组件的分组字段是user_id、usage_date、process_name、hour。所以需要更正“排序记录 1”组件的排序字段与分组组件的分组字段一致否则会出现多条重复数据。相应的配置界面如下2.1.3、浏览器名称映射在分组组件后添加“值映射”组件并将“值映射”组件连接到原分支A的分组 1组件、复制发送到原分支B的排序记录 2组件。双击该组件进行配置其中值映射组件可按照以下添加映射对应的配置界面如下另外转换流中的分组组件中聚合字段的聚合类型是“个数”的需要改成“统计不同值的数量(N)”。如下图并在分支A的“分组 1”组件前添加排序记录组件按 process_name 升序排序。如下图2.1.4、添加表输出组件拖拽“表输出”组件到画布中并创建值映射组件到“表输出”组件的连线。再双击该组件进行配置其中相应的配置如下数据库连接选择“团队私有数据库”。目标表daily_browser_detail勾选“裁剪表”和“指定数据库字段”4.在数据库字段获取相应的字段。可参考如下最后再点击“运行”按钮执行转换流即可。2.2、 创建目标数据表新建转换流“创建浏览器大屏分析目标数据表”拖拽“执行一个SQL脚本”组件。再双击该组件进行配置其中数据库连接选择“团队私有数据库”并输入以下SQL代码-- 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用户画像统计表;相应的配置界面如下最后点击“运行”按钮执行转换流即可。2.3、各浏览器周活跃趋势表数据抽取执行新建转换流“各浏览器周活跃趋势表数据抽取”拖拽“表输入”组件至画布中。再双击该组件进行配置其中数据库连接选择“团队私有数据库”点击“获取SQL查询语句”选择 daily_browser_detail 获取所有查询语句。对应的配置界面如下拖拽字段选择组件到画布中创建表输入组件到字段选择组件的连线。再双击字段选择组件进行配置点击“元数据”右键插入输入字段名称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勾选“裁剪表”和“指定数据库字段”4.在数据库字段中插入相应的值。可参考如下最后再执行该转换流即可。2.4、各浏览器使用频率分布表数据抽取新建转换流“使用频率分布数据抽取”拖拽“表输入”组件画布中。再双击该组件进行配置其中数据库连接选择“团队私有数据库”点击“获取SQL查询语句”选择 daily_browser_detail 获取所有查询语句。接下来再拖拽排序记录组件到画布中创建表输入组件到排序记录组件的连线。双击该组件进行配置其中排序记录组件设置为按照 user_id、browser_name 升序排序。对应的配置界面如下再拖拽分组组件创建排序记录组件到分组组件的连线。其中该组件的相应配置界面如下接着拖拽增加常量组件到画布中创建分组组件到增加常量组件的连线。在增加常量组件配置中增加新字段“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 重度;}随后拖入排序记录组件创建JavaScript代码组件到排序记录组件的连线连接类型选择”主步骤输出”。再对该组件进行配置其中要将数据按照 browser_name、usage_level 升序排序。相应的配置界面如下再拖入分组组件并创建排序记录1组件到分组组件的连线。接着按 browser_name、usage_level 分组统计 user_countuser_id去重计数。如下图所示最后拖入表输出组件创建分组1组件到表输出组件的连线。接着将分组聚合结果入库表输出组件配置如下数据库连接选择“团队私有数据库”目标表browser_frequency_stats勾选“裁剪表”和“指定数据库字段”4.在数据库字段中插入相应的值如下图最后再执行该转换流即可。2.5、各浏览器使用数量分布表数据抽取新建转换流“浏览器使用数量分布数据抽取”接着拖拽“表输入”组件到画布中。再对其进行配置其中数据库连接选择“团队私有数据库”点击“获取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种及以上;}接着再拖入排序记录组件创建JavaScript代码组件到排序记录1组件的连线。其中要将数据按照 browser_count 升序排序。如下所示再拖入分组组件创建排序记录1组件到分组1组件的连线。其中要按 browser_count 分组统计 user_countuser_id去重计数如下图最后拖入表输出组件将分组聚合结果入库表输出组件配置如下数据库连接选择“团队私有数据库”目标表browser_multi_usage勾选“裁剪表”和“指定数据库字段”4.在数据库字段中插入相应的值。可参考如下最后在执行该转换流即可。2.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 周末;}再拖入排序记录组件创建JavaScript代码组件到排序记录组件的连线连线的类型选择为”主步骤输出”再将数据按照 browser_name、 day_type升序排序。如下图所示再拖入分组组件创建排序记录组件到分组组件的连线。其中该组件的配置界面可参考如下再参考“2.4 各浏览器使用频率分布表数据抽取”中计算小时的方法使用增加常量组件和计算器组件来实现相关的配置界面如下再拖拽一个字段选择组件创建计算器组件到字段选择组件的连线。该组件的相关配置界面如下最后再拖入表输出组件创建字段选择组件到表输出组件的连线连线类型选择”主步骤输出”。其相关配置如下数据库连接选择“团队私有数据库”目标表browser_weekday_weekend勾选“裁剪表”和“指定数据库字段”4.在数据库字段中插入相应的字段。可参考下图最后再执行该转换流即可。2.7、核心指标数据抽取新建转换流“核心指标数据抽取”拖入表输入组件。其中数据库连接选择团队私有数据库在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再拖拽一个行转列组件创建表输入组件到行转列组件的连线。接着双击该组件进行配置其中要将字段名称转为指标名称字段值转为指标值。对应的配置可参考如下接下来使用值映射组件将指标名称映射为中文可参考下图最后使用表输出组件写入目标表 browser_overview同样可参考下图最后再执行该转换流即可。2.8、用户画像表加工2.8.1、获取人口属性信息表点击“公共空间”再点击tab选项“数据资源”可以看到 demographic.csv。再选择点击 demographic.csv 卡片右上角的“更多” 选择“导出”。再选择导出到的目录例如根目录最后点击“确定”即可。接着刷新文件库的根目录即可看到 demographic.csv如下图2.8.2、CSV文件输入读取人口属性数据新建转换流“用户画像表加工”拖拽“CSV文件输入”组件到画布中。再双击“CSV文件输入”组件点击“浏览文件”按钮在弹出的窗口中选择 demographic.csv然后点击“确定”。接着列分隔符和封闭符保持不变编码选择“UTF-8”。如下图所示随后再往下滑一点在空白表格处右键点击“获取字段”在字段获取成功后点击“确认”即可。2.8.3、年龄分段拖入增加常量组件创建CSV文件输入组件到增加常量组件的连线连线类型选择为”主步骤输出”。其中在组件增加常量字段“year”值设为“2012”数据是2012年的如下图所示拖入“计算器”组件来计算用户在2012年的年龄年龄 2012 - 出生年份即age year – BIRTHDAY可参考如下配置拖入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;}2.8.4、表输入读取用户_日_浏览器_小时明细数据拖入“表输入”组件到画布中再双击“表输入”组件其中数据库连接选择“团队私有数据库”点击“获取SQL查询语句”再选择用户_日_浏览器_小时明细表 daily_browser_detail。2.8.5、关联用户属性先拖拽2个“排序记录”组件到画布中分别创建“表输入”组件到“排序记录 1”组件的连线、“CSV文件输入”组件到“排序记录”组件的连线其中“CSV文件输入”组件到“排序记录”组件的连线类型选择“主输出步骤”如下图所示双击“排序记录 1”组件命名为“明细数据按用户ID排序”在空白表格处右键点击“获取字段”随后仅保留“user-id”其他字段选中后右键点击“删除选中的行”再设置 user_id 升序排序后点击“确认”最后的配置界面如下同样的双击“排序记录”组件命名为“用户属性数据按用户ID排序”设置按 USERID 升序排序。如下图拖拽“记录集连接”组件到画布中2个排序记录组件分别连接到记录集连接组件。再双击“记录集连接”组件第一个Transform选择“明细数据按用户ID排序”第二个Transform选择“用户属性数据按用户ID排序”连接类型选择“LEFT OUTER”。再分别点击两个“获得连接字段”按钮获取2个数据的字段随后第一个Transform的连接字段保留“user_id”第二个Transform的连接字段保留“USERID”其他字段通过删除选中的行来删除。对应的配置界面如下2.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)。如下图2.8.7、表输出拖入表输出组件将分组聚合结果入库表输出组件配置为数据库连接选择“团队私有数据库”目标表user_profile_stats勾选“裁剪表”和“指定数据库字段”4.在数据库字段中插入相应的字段如下图最后再执行该转换流即可。2.8.8、查看结果数据点击“元数据”tab选项右键团队私有数据库点击“加载元数据”。再点击“数据探查”查看以上生成的目标表是否符合预期2.9、创建数据大屏点击实验平台左侧菜单“数据大屏”。进入子平台——助睿数据大屏可视化平台。接着创建本次实验的市场分析大屏点击“新建”按钮选择“新建大屏”。再在在模板选择中点击“空白模板”再输入“市场分析”然后点击下一步自动跳转到“市场分析”大屏的制作界面。2.9.1、设置大屏样式首先本次数据大屏的背景图片链接为将以上背景图片链接复制后粘贴到“背景图片”后的文本框中覆盖原图片链接如下图其他设置可以保持默认即可。接着点击“媒体”组件分类点击“单张图片”组件。如下图右键组件点击“重命名”输入“标题banner”。再选中这个“标题banner”图片组件点开“基础属性”可以设置长宽、位置等属性。可参考下图点开基本设置可以设置图片链接复制以下链接进去覆盖原链接 https://gzu-edu-quality-max-studio.oss-cn-chengdu.aliyuncs.com/practice/browser-analysis/banner01.png。这样标题banner就设置好了再点击“保存”就好。效果如下点击“单张图片”组件重命名为“市场分析按钮背景”。导航按钮的背景图片链接为 https://gzu-edu-quality-max-studio.oss-cn-chengdu.aliyuncs.com/comprehensive-data/navigation-bg-1.png 将其粘贴到基本设置的背景图链接中可参考下图按钮上的文字可以使用“通用标题”来实现点击文字分类下的“通用标题”重命名为“市场分析”接着修改“市场分析”通用标题组件的基础属性和“市场分析按钮背景”图片组件一样。如下图再点开基本设置修改标题名为“市场分析”。切换“数据”tab选项点击“刷新数据”文字即显示为修改的文字。再点开文本样式可以设置字体、字号、颜色和粗细第二个大屏的导航可以复制这个按钮的设置接着将复制的图片组件重命名为“用户画像按钮背景”通用标题组件重命名为“用户画像”。可参考下图再修改“用户画像按钮背景”和“用户画像”组件的横坐标如下将用户画像标题组件的内容改为“用户画像”颜色和粗细也做相应修改保存预览一下效果如下为方便管理要将这些组件放在一个组里。选中顶部区域的所有组件右键“成组”。如下图将这个组命名为“顶部”。接下来先制作左上角第一个图表区域点击单张图片组件重命名为“区域背景”并按照布局草图和参考图设置好大小、位置。如下图将区域背景图片链接https://gzu-edu-quality-max-studio.oss-cn-chengdu.aliyuncs.com/public-material/area-bg.png 粘贴到背景图链接中。接着再添加一个单张图片组件重命名为“标题背景”调整好位置和大小粘贴背景图链接即可其中背景图链接为 https://gzu-edu-quality-max-studio.oss-cn-chengdu.aliyuncs.com/public-material/title-bg-short.png。可参考如下添加通用标题组件重命名为“标题”按照参考图调整大小和位置标题名修改为“浏览器用户数”对齐方式为左对齐其他设置参考如下点击常规图标中的“基础柱图”组件重命名为“浏览器用户数柱状图”调整大小和位置图表的图例默认隐藏将其设置为可见并调整水平对齐方式为居中再将柱子上的边距调大再将增加的组件设置成组命名为“浏览器用户数”。随后复制刚刚制作的“浏览器用户数”组重命名为“浏览器使用时长”。可参考下图拖拽“浏览器使用时长”组到合适位置复制的组件内容可能会不显示重新刷新数据即可。接着将标题名修改为“浏览器使用时长”并刷新数据。再删除复制的柱状图重新添加饼图这里选择“多维度饼图”调整位置大小重命名为“浏览器使用时长占比”。接下来设置饼图的样式取消外圈显示点击“饼图样式”点击外圈颜色后的色值方块将透明度拖到0并点击“确定”.如下图将类目标签设置为可见。再点开“数据系列”系列及代表分类也就是浏览器刚好数据中有6个浏览器将系列1-6的颜色设置为不同的颜色即可色值参考#2177FC、#3DC3DF、#FF948B、#8A79FE、#82F9A5、#97DFFF预期效果如下记得要将饼图组件拖到“浏览器使用时长”组中并及时保存。接着再复制制作的“浏览器用户数”组重命名为“浏览器人均使用时长”拖拽“浏览器使用时长”组到合适位置可参考如下将标题名修改为“浏览器人均使用时长”并刷新数据。再将复制的柱状图重命名为“人均使用时长柱状图”即可。再复制“浏览器用户数”组重命名为“数据概览”拖拽“数据概览”组到合适位置调整组件的大小并刷新数据。可参考如下删除复制的柱状图添加“单张图片”组件重命名为“图标”背景图添加链接https://gzu-edu-quality-max-studio.oss-cn-chengdu.aliyuncs.com/library-data/audio-video.png 并调整大小、位置如下图添加数字翻牌器组件重命名为“总使用时长”并调整大小、位置。如下图接下来调整数字翻牌器的样式。即点开“标题”设置标题名修改为“总使用时长”对齐方式改为“居中对齐”字体大小、颜色、粗细也做相应修改如下点开“翻牌器”设置水平对齐改为“居中对齐”其他设置如下将图标和总使用时长两个组件成组命名为“总使用时长”。再复制3个“总使用时长”组分别重命名为“人均使用时长”、“活跃用户占比”、“重度用户占比”其中“活跃用户占比”、“重度用户占比”两个组中的图标背景图链接更改为 https://gzu-edu-quality-max-studio.oss-cn-chengdu.aliyuncs.com/library-data/degree-thesis.png。再修改翻牌器标题、后缀最后调整位置如下复制“浏览器用户数”组重命名为“周内对比”。同时拖拽“周内对比”组到合适位置可参考下图将标题背景图更换为长标题背景图标题内容修改为“工作日vs周末使用时长”。再将柱状图删除重新添加“分组柱状图”命名为“工作日vs周末使用时长分组柱状图”并调整大小位置如下接下来调整系列2的柱子颜色为#3DC3DF其他样式调整参考如下复制“周内对比”组重命名为“24小时活跃分布”拖拽“24小时活跃分布”组到合适位置可参考如下将标题名修改为“24小时活跃用户数分布”并刷新数据。再删除复制的分组柱状图添加区域图并调整好大小、位置。如下图样式调整参考如下参考颜色为#29F1FA再复制“浏览器用户数”组重命名为“浏览器周活跃用户数变化”参考以上的实验调整位置、标题并更换图表类型实现如下效果接着复制“浏览器周活跃用户数变化”组重命名为“使用频率分布”参考以上的实验调整位置、标题并更换图表类型为“垂直基本柱图”实现如下效果复制“使用频率分布”组重命名为“浏览器使用数量分布”参考以上的实验调整位置、标题共并换图表类型为“基本饼图”。基本饼图样式调整参考如下保存大屏最终预览效果如下至此市场分析大屏的静态布局已完成下一个实验将使用蓝图编辑器完成数据接入。2.10、创建数据库数据源首先需要创建链接团队私有数据库的数据源进入数据大屏平台后点击“我的数据”再点击“新建”选择“新建数据源”输出团队私有数据库的信息后点击“立即添加”。再切换tab选项后可以看见新添加的团队私有数据库如下图打开上一实验制作的“市场分析”数据大屏接着在画布编辑器内右键单击左侧图层栏或中间画布区的组件选择导出到蓝图编辑器即可将对应组件导出到蓝图编辑器中。接着导出成功后单击“蓝图编辑器”图标切换到蓝图编辑器页面可在导入节点列表中查看对应的节点。列表内所有节点都可供后续配置交互使用。随后从逻辑节点面板中点击“SQL请求”节点并将全局节点的“页面初始化完成”输出接口连接到“SQL 请求”节点的“执行SQL”输入接口。如下图所示点击“SQL 请求”节点在配置面板中数据源选择“团队私有数据库”SQL类型为“查询”处理方法的代码框中输入以下SQL一次性查询来源为 browser_coverage 的数据let sql selectbrowser_name as x,user_count as y1,round(total_duration_sec/3600,0) as y2,round((total_duration_sec/3600)/user_count,1) as y3from labs.browser_coverageorder by browser_namereturn sql预期效果如下添加并行数据处理组件并在其处理方法中再增加2个处理方法一共3个处理方法分别命名为各浏览器用户数、各浏览器总使用时长、各浏览器人均使用时长SQL请求节点的执行成功输出接口分别连接到并行数据处理的3个处理方法接口如下其中并行数据处理的3个处理方法的代码如下分别粘贴到对应的代码块中即可各浏览器用户数return data.map(item ({x: item.x,y: item.y1,s: 用户数}));各浏览器总使用时长return data.map(item ({name: item.x,value: item.y2}));各浏览器人均使用时长return data.map(item ({x: item.x,y: item.y3,s: 人均时长(小时)}));接下来点击浏览器用户数柱状图、浏览器使用时长占比、人均使用时长柱状图这3个节点将它们添加到画布中再将并行数据处理的3个处理方法的输出接口连接到对应的图表的“导入数据接口”如下点击保存可以预览一下数据情况是否符合预期接着可以按照以下配置接着从逻辑节点面板中点击“SQL请求”节点并将全局节点的“页面初始化完成”输出接口连接到“SQL 请求”节点的“执行SQL”输入接口。然后点击“SQL 请求”节点在配置面板中数据源选择“团队私有数据库”SQL类型为“查询”处理方法的代码框中输入以下SQL一次性查询来源为 browser_overview 的数据let sql select metric_name, metric_value from labs.browser_overview return sql效果如下添加并行数据处理组件并在其处理方法中再增加3个处理方法一共4个处理方法分别命名为总使用时长、人均使用时长、活跃用户占比、重度用户占比。接着SQL请求节点的执行成功输出接口分别连接到并行数据处理的4个处理方法接口如下再在对应的处理方法中输入以下代码总使用时长var item data.find(d d.metric_name 总使用时长);return [{ value: item ? item.metric_value : 0 }];人均使用时长var item data.find(d d.metric_name 人均使用时长);return [{ value: item ? item.metric_value : 0 }];活跃用户占比var item data.find(d d.metric_name 活跃用户占比);return [{ value: item ? item.metric_value : 0 }];重度用户占比var item data.find(d d.metric_name 重度用户占比);return [{ value: item ? item.metric_value : 0 }];接着点击4个数字翻牌器组件的节点将它们添加到画布中再将并行数据处理的4个处理方法的输出接口连接到对应的图表的“导入数据接口”如下随后参考以上SQL请求节点的配置步骤完成SQL请求节点配置查询代码如下let sql selectbrowser_name as x,avg_duration_sec as y,day_type as sfrom labs.browser_weekday_weekendorder by browser_name, day_typereturn sql点击工作日vs周末使用时长节点将它添加到画布中再SQL请求节点的执行成功输出接口连接到“导入数据接口”如下在参考以上SQL请求节点的配置步骤完成SQL请求节点配置查询代码如下let sql select hour as x,active_user_count as y,browser_name as sfrom labs.browser_hourlyorder by browser_name, hourreturn sql接着点击24小时活跃用户分布节点将它添加到画布中再SQL请求节点的执行成功输出接口连接到“导入数据接口”如下这里需要注意图例是跟着折线上的标签点的颜色变化的为了使折线、标签点、图例颜色一致需要分别设置颜色在画布编辑器中选中图表点开数据系列这个折线图有6个图例即6个浏览器所以需要设置6个系列的折线和标记颜色。设置完成后效果如下再参考以上SQL请求节点的配置步骤完成SQL请求节点配置查询代码如下let sql select hour as x,active_user_count as y,browser_name as sfrom labs.browser_hourlyorder by browser_name, hourreturn sql点击活跃用户周变化节点将它添加到画布中再SQL请求节点的执行成功输出接口连接到“导入数据接口”如下接着点击保存由于图例是跟着折线上的标签点的颜色变化的为了使折线、标签点、图例颜色一致需要分别设置颜色在画布编辑器中选中图表点开数据系列这个折线图有6个图例即6个浏览器所以需要设置6个系列的折线和标记颜色。设置完成后效果如下参考以上SQL请求节点的配置步骤完成SQL请求节点配置查询代码如下let sql selectbrowser_name as s,user_count as y,usage_level as xfrom labs.browser_frequency_statsorder by browser_namereturn sql点击使用频率分布节点将它添加到画布中再SQL请求节点的执行成功输出接口连接到“导入数据接口”如下参考以上SQL请求节点的配置步骤完成SQL请求节点配置查询代码如下let sql selectbrowser_count as name,user_count as valuefrom labs.browser_multi_usageorder by browser_countreturn sql再点击浏览器使用数量分布节点将它添加到画布中再将SQL请求节点的执行成功输出接口连接到“导入数据接口”如下最后再点击保存即可。当组件的样式和数据都配置完成后可以预览并发布可视化应用实现应用的在线播放和演示。具体操作单击大屏页面右上角的预览图标预览可视化应用。接着再单击大屏页面右上角的发布图标在弹出的发布对话框中单击发布分享单击分享链接右侧的复制按钮。打开浏览器将复制的链接粘贴到地址栏中即可在线观看。如2012年浏览器市场分析大屏链接http://47.109.66.142:30887/#/dataScreen/release?shareId557871caf59a473e91bd62bbf217f0de三、实验问题与解决问题一在蓝图编译器中完成相关的操作后保存再去画布编译器中预览效果后发生了报错。解决办法经过分析后发现了原因在SQL请求组件中填写相应的SQL代码时没有将labs修改成自己的团队私有数据库的名称修改后就不会发生报错了。四、实验总结本次实验完成了从用户日志明细表到浏览器市场分析大屏的全流程数据处理与可视化。通过助睿数智平台利用SQL脚本、值映射、分组、排序等组件成功构建了核心指标、周活跃趋势、使用频率分布等目标数据表。在数据大屏制作中借助蓝图编辑器将团队私有数据库中的真实数据接入柱状图、饼图、折线图、数字翻牌器等组件实现了动态展示。过程中遇到的数据库名称错误问题已顺利解决。通过本次实验掌握了数据ETL加工、大屏布局设计与动态数据接入的完整方法提升了商业数据分析的实践能力。