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

如何在Tableau中获取design_id最新记录日期的end_date与target_budget?

获取每个design_id最新记录日期对应的end_date和target_budget(LOD表达式实现)

嘿,这个需求我太熟悉了!要精准提取每个design_id最新date_of_record对应的end_date和target_budget,用LOD表达式确实是最灵活的解决方案,我给你一步步讲清楚操作方法:

核心思路

先计算每个design_id对应的最大记录日期(也就是最新的date_of_record),再匹配该日期下对应的end_date和target_budget。

步骤1:创建LOD表达式获取最新记录日期

首先新建一个计算字段,命名为Latest Record Date,公式如下:

{FIXED [design_id] : MAX([date_of_record])}

这个FIXED LOD的作用是:针对每个独立的design_id,计算它所有记录里的最大date_of_record,也就是该design_id的最新记录日期。

步骤2:匹配最新日期对应的end_date和target_budget

接下来分别创建两个计算字段,提取对应的值:

  1. 最新end_date(命名为Latest end_date):
IF [date_of_record] = [Latest Record Date] THEN [end_date] END
  1. 最新target_budget(命名为Latest target_budget):
IF [date_of_record] = [Latest Record Date] THEN [target_budget] END

步骤3:在视图中使用

把design_id、Latest end_date和Latest target_budget拖到视图里即可。如果视图中出现NULL值,只需要对这两个字段用ATTR()或者MAX()聚合(比如ATTR([Latest end_date])),因为每个design_id只会有一个符合条件的有效值,聚合后就会显示这个唯一值。

举个例子(以design_id=2为例)

假设design_id=2有以下三条记录:

design_iddate_of_recordend_datetarget_budget
22023-01-012023-06-0110000
22023-02-012023-07-0112000
22023-03-012023-08-0115000

通过上面的LOD计算,Latest Record Date会返回2023-03-01,Latest end_date会返回2023-08-01,Latest target_budget返回15000,完美提取到最新记录的数据。

如果遇到同一个design_id在同一date_of_record下有多条记录的情况,你可以在LOD里加上额外的维度(比如记录ID)或者用MAX()/MIN()来指定取哪个值,不过大部分场景下上面的方法就足够啦~

内容的提问来源于stack exchange,提问作者Timothy Lombard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:32:57