You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Tableau实现按年份动态累加各州sum(casualties)并排序Top10

问题描述
  • 数据源:美国枪击事件数据库,包含事件发生州、日期、**总伤亡数(total casualties)**三列,时间范围覆盖1924-2022年
  • 核心需求:在Tableau制作仪表盘,以年份作为可切换控件,切换至某年份时,图表自动展示1924年至该年份累计伤亡数排名前十的州(例:切换到1980年,显示1924-1980年累计伤亡Top10州;切换到1981年则更新为对应时段的Top10)
  • 现有尝试与疑问:曾用Python为每一年生成单独列,横向查看各州伤亡总数随年份的变化,不确定这种分组年份列的方式是否为实现需求的最优方案
  • 补充说明:希望通过年份筛选器切换,动态展示1924至当前选中年份枪击事件总数Top10的州
最优实现方案(无需预处理数据)

你之前用Python生成年份列的方法并非最优解,会造成数据冗余、后续维护繁琐,Tableau原生功能就能直接实现需求,具体步骤如下:

  1. 提取年份字段
    将「日期」字段拖入数据窗格,右键选择提取年份生成新字段年份;也可直接创建计算字段,公式为:YEAR([日期])

  2. 创建目标年份参数
    右键数据窗格→创建参数,设置:

    • 数据类型:整数
    • 允许值:选择「列表」手动输入1924-2022的所有年份,或选择「范围」设置最小值1924、最大值2022
    • 参数命名为目标年份
  3. 编写累计伤亡计算字段
    创建计算字段截至目标年份的累计伤亡,公式:

    SUM(IF YEAR([日期]) <= [目标年份] THEN [total casualties] ELSE 0 END)
    

    该字段会自动统计所有年份≤选中目标年份的伤亡总和

  4. 设置Top10筛选规则

    • 将「事件发生州」拖至行,截至目标年份的累计伤亡拖至列
    • 右键行上的「事件发生州」→筛选器→顶部,选择「按字段」,设置为「顶部10」,依据选择截至目标年份的累计伤亡的「总和」
  5. 添加年份切换控件
    将目标年份参数拖至仪表盘控件区域,选择「滑块」或「下拉列表」样式,切换年份时图表会自动更新为对应时段的累计伤亡Top10州

  6. 可选优化

    • 将图表类型改为条形图,更直观展示排名
    • 给累计伤亡字段添加标签,显示具体数值
    • 设置图表排序规则为按累计伤亡降序排列

内容的提问来源于stack exchange,提问作者Griffin McKnight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:39:28