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

AWS Quicksight中按ID唯一聚合Runtime并求和的实现问题

AWS QuickSight按ID去重Runtime求和方案

你的需求是对每个ID的唯一Runtime值去重后求和(最终得到38),同时生成仅在每个ID首行显示Runtime的表格,下面是具体解决步骤:

1. 生成目标表格效果

创建计算字段RuntimeUniqueSum,输入以下公式:

ifelse(
    rowNumberOver([{ID}], [], PRE_AGG) = 1,
    {Runtime},
    null
)

这个公式会给每个ID下的行编序号,只保留第一行的Runtime值,其余行显示null,完全匹配你想要的表格样式。

2. 计算去重后的总和(KPI展示)

有两种简单方法得到总和38:

方法一:基于已创建的RuntimeUniqueSum

直接创建计算字段TotalUniqueRuntime:

sum({RuntimeUniqueSum})

把这个字段拖入KPI组件,就能直接显示38。

方法二:一步到位的嵌套计算

如果不想创建中间字段,直接用下面的公式生成总和:

sumOver(
    firstValue({Runtime}, [{ID}], PRE_AGG),
    [],
    PRE_AGG
)

firstValue会提取每个ID对应的唯一Runtime值,sumOver空窗口参数会对所有ID的唯一值求和,直接得到38。

为什么你之前的公式不对?

  • sumOver({Runtime}, [{ID}], PRE_AGG):会把每个ID下的所有重复Runtime加起来(比如ID1的10会被加3次得到30),不是去重后的结果。
  • sumOver(minOver({Runtime}, [{ID}], PRE_AGG), [], PRE_AGG):逻辑本身是对的,但如果你的可视化配置里把这个字段放在了行维度中,会重复显示每个ID的计算值,导致看起来结果不对,直接用KPI组件单独展示这个字段就能得到正确总和。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 17:36:08