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

如何在Tableau中创建计算字段,按列条件筛选最新记录并计算总值

Tableau计算字段实现指定规则的总值计算

需求说明

基于以下数据集:

DateRefNumValueTxnType
Mar-23SS20BillDoc
Apr-23G440BillDoc
May-23HT85BillDoc
Jan-23R33Credit
Feb-23R35Credit
Aug-23D710Credit
Sep-23D715Credit

需要实现:

  • 对TxnType = 'BillDoc'的记录,直接求和Value
  • 对TxnType = 'Credit'的记录,按RefNum筛选对应最新日期的记录并取其Value
  • 最终总值为20+40+85+5+15=165

实现方案

可以通过两种方式完成,分步骤或合并为单个计算字段:

方式1:分步创建计算字段

  1. 创建[最新Credit日期]计算字段
    作用:获取每个RefNum下,TxnType为Credit的最新日期

    {FIXED [RefNum]: MAX(IF [TxnType] = 'Credit' THEN [Date] END)}
    
  2. 创建[符合条件的Value]计算字段
    作用:筛选出符合规则的Value值(BillDoc直接取,Credit取最新日期对应值)

    IF [TxnType] = 'BillDoc' THEN [Value]
    ELSEIF [TxnType] = 'Credit' AND [Date] = [最新Credit日期] THEN [Value]
    END
    
  3. 计算总值
    将[符合条件的Value]拖到视图中,选择聚合方式为SUM即可得到目标总值。

方式2:合并为单个计算字段

直接创建[总值计算]字段,把逻辑整合在一起:

SUM(
  IF [TxnType] = 'BillDoc' THEN [Value]
  ELSEIF [TxnType] = 'Credit' AND [Date] = {FIXED [RefNum]: MAX(IF [TxnType] = 'Credit' THEN [Date] END)} THEN [Value]
  END
)

将该字段拖到视图中即可直接显示结果。

结果验证

两种方式最终都会得到总和165,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 21:29:59