Tableau新手求助:如何基于GROUP BY得到的avg_grade绘制直方图?
Tableau实现学生平均成绩分组及直方图制作步骤
一、计算每个学生的平均成绩(对应SQL GROUP BY StudentID 逻辑)
Tableau无需手动编写GROUP BY语句,通过维度与度量的组合即可自动实现分组聚合:
- 从左侧数据源面板将
StudentID(字符串类型维度)拖至「行/列」货架,或标记卡的「详细信息」栏 - 将
Grade(整数类型度量)拖至视图区域或标记卡的「文本」栏,右键点击Grade字段,选择度量 > 平均值,此时视图将自动展示每个StudentID对应的平均成绩(即SQL中的avg_grade)
若需将该平均成绩保存为独立字段,可创建计算字段:
- 点击顶部菜单栏「分析 > 创建计算字段」
- 输入公式:
{FIXED [StudentID] : AVG([Grade])},命名为avg_grade后点击确定,该字段将直接返回每个学生的平均成绩,完全匹配SQL分组聚合逻辑
二、针对avg_grade制作分箱直方图
1. 创建成绩分箱(对应0-10、10-20…90-100区间)
Tableau中「分箱」对应术语为Bins,创建步骤:
- 在左侧数据源面板找到
avg_grade字段,右键点击选择创建 > 分箱 - 在弹出窗口中设置:
- 「大小」为
10(对应每个区间的跨度) - 「起始值」为
0,结束值将自动适配至100,点击确定后生成新字段avg_grade (bin)
- 「大小」为
2. 绘制直方图
- 将
avg_grade (bin)拖至「列」货架作为横轴 - 将
StudentID拖至「行」货架,右键点击StudentID选择度量 > 计数(不同),纵轴将显示每个分箱内的学生数量 - 调整视图类型:点击顶部工具栏「显示方式」,选择直方图(或确保标记卡类型为「条形图」,即可生成标准直方图样式)
若需调整分箱标签格式(如显示为“0-10”),可右键点击avg_grade (bin)字段,选择默认属性 > 数字格式自定义显示规则
内容的提问来源于stack exchange,提问作者Smile
相关产品推荐
相关产品推荐

