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

在Tableau中如何按IDnum汇总数据并显示各IDnum的最新名称?

在Tableau中实现每个ID的最新名称+收入汇总(全计算字段方案)

嘿,这个需求完全可以通过Tableau的计算字段来实现,我帮你梳理一下具体的步骤,全程不用复杂操作,跟着走就行:

步骤1:先处理收入字段(如果是字符串类型的话)

看你的示例里Income是带$的字符串(比如$30),Tableau没法直接对字符串求和,所以先创建一个计算字段转成数值:

  • 计算字段名称:Numeric Income
  • 公式:
INT(REPLACE([Income], "$", ""))

这个公式会把$替换掉,再转成整数,方便后续求和。

步骤2:计算每个ID对应的最新日期

接下来用LOD表达式固定每个IDnum,找出它的最晚日期:

  • 计算字段名称:Latest Date per ID
  • 公式:
{FIXED [IDnum] : MAX([Date])}

FIXED [IDnum]表示以每个ID为分组,MAX([Date])会取出该ID下的最新日期(比如A1的Sep-20)。

步骤3:提取每个ID的最新名称

基于上面的最新日期,我们可以直接拿到对应的最新名称:

  • 计算字段名称:Latest Name per ID
  • 公式:
{FIXED [IDnum] : MAX(IF [Date] = [Latest Date per ID] THEN [Name] END)}

这里的逻辑是:只保留最新日期那一行的Name,然后用MAX(因为其他行都是Null,MAX会直接取到有效的那个名称),最终每个ID会得到唯一的最新名称。

步骤4:计算每个ID的总收入

同样用LOD表达式汇总每个ID的所有收入:

  • 计算字段名称:Total Income per ID
  • 公式:
{FIXED [IDnum] : SUM([Numeric Income])}

这个会把每个ID下的所有收入加总,比如A1就是30+10+30=70,B1是70+20+10=100。

步骤5:在视图中展示结果

现在把这几个字段拖到视图里就行:

  • 把IDnum拖到行(维度)
  • 把Latest Name per ID拖到行(维度)
  • 把Total Income per ID拖到行(度量,默认就是求和,不用改)
  • 最后可以调整一下格式,比如给收入加回$符号,右键Total Income per ID→设置格式→选择货币格式即可。

这样就能得到你想要的结果:A1 JamesSt $70;B1 AliceBet $100。

内容的提问来源于stack exchange,提问作者lil chill

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 11:13:14