奥运金牌数据大屏
案例描述
本案例将通过算盘的通用组件,实现数据读取、数据处理(清理、聚合、转置等)、数据展现的完整流程。
模板搭建流程
步骤:
- 打开算盘,点击左侧“应用开发”,然后点击“+项目”,输入项目名称后点击确定,项目创建完成。
- 打开算盘前面板,在内置组件中添加“直方图”组件到画布,用以显示国家获得的金牌数
- 按照步骤2,拖动“表格”、“饼图”、“线形图”组件到画布,并拖动四个“标题”组件到以上四个图表上方;后面板会同步显示图表组件。
- 将“直方图”上方的标题改为“金牌数统计”;“表格”上方的标题改为“金牌/人数比例”;“饼图”上方的标题改为“国家/金牌占比图”;“线形图”上方的标题改为“金牌/人数比率图”
- 拖动“按钮”组件到画布,并更名为“开始显示”(按钮文本更改位置如红框所示),“按钮”组件用于触发项目启动
- 转到后面板,拖动2个“EXCEL上传”、2个“数据清洗”、1个“数据聚合”、1个“数据联接”、2个“数据转化(Csv2Json)”组件到画布。
“数据清洗”组件是为了针对单表做各种清洗操作,对每一行做独立的操作,增删改等等;
“数据聚合”组件是为了对单表根据某个字段进行聚合后,每个分组内的数据做聚合操作;
“数据联接”组件是针对两张表,根据单个或多个联接条件将两张表合并到一块。
- 右键点击任意一个“Excel上传”组件,重命名为“上传奖牌数据”;将另一个Excel上传组件重命名为“上传运动员数据”。
- 在后面板中,按照如下数据流动方向,连接组件并部署/运行项目。
- 点击“上传奖牌数据”组件,并点击画布右侧“上传”按钮,上传奖牌数据。Medals.xlsx
- 点击“上传运动员数据”组件,并上传下方运动员数据。(Athletes)Athletes.xlsx
- 点击后面板画布任意空白处,之后在画布右侧面板中找到前面板连接,打开前面板
- 点击前面板“开始显示”按钮,然后显示未进行数据处理的数据展示
- 回到后面板,点击与“上传奖牌数据”相连的“数据清洗”组件,然后点击右侧“操作界面”。此处数据清洗主要为了选出获金牌排名前十的国家,并显示其金牌数、以及这10个国家的金牌获取比例。
- 点击“Rank”字段,找到上方“条件筛选”按钮,选中;过滤出获奖排名前10国家的信息
- 点击“Rank”字段右上角“...”图标,找到“字段常规处理”选项卡,选择“移除”,以移除“Rank”字段;
- 在其余字段上重复上述操作,仅保留“Team/NOC”、“Gold”和“Total”字段
- 此时返回项目前面板查看,“金牌数统计”及“金牌占比图”已经变为目标图样
- 点击“数据聚合”组件并打开操作页面,进入数据聚合操作页面。此处数据聚合主要是为了将每个国家对应的运动员人数统计出来。
- 将“NOC”字段拖入“分组字段”区域,将“Name”拖入“聚合字段”区域。
- 返回后面板,找到“数据联接”组件,并打开操作页面,进入到数据联结页面。此处“数据联接”组件为了将各国运动员数与各国奖牌数联结起来。
- 在数据联结操作页面中,选择“已应用联接子句”,左边选择“Team/NOC”,右边选择“NOC”,并点击“✔”完成选择
- 点击“联接类型”下的蓝色圆环,将联结类型选择为“左联接”;将“左边使用的列”选为“Team/NOC”和“Gold”;“右边使用的列”选为“count(Name)”
- 返回后面板,点击与“数据联接”相连的“数据清洗”组件,并打开操作页面,此处数据清洗为计算出各国人均获得金牌数。
- 将“count(name)”列的名称改为“count”,因为在该组件中,列名不可以存在括号
- 点击“Team/NOC”字段,找到上方“创建计算字段”,创建名为“AVG”的字段。该字段为了显示各国人均得金牌数
- 写入计算函数“Gold/count”(可用@符号快速找到待计算字段名称)
- 为方便前端展示,删除除了“Team/NOC”和“AVG”字段之外的其他字段。
- 回到前面板,点击“开始显示”按钮,全部图表显示目标图样