如何在quicksight中只获取最后一条记录?

问题描述 投票:0回答:3

我有一个由类似这样的东西组成的数据集

id<String>, date<Date>, status<String>
充满了这样的数据:

+-------+------------------+----------------+
|   id  |       date       |     status     |
+-------|------------------|----------------+
|   1   | 25/05/2020 10:30 |      OPEN      |
+-------|------------------|----------------+
|   2   | 25/05/2020 10:31 |      OPEN      |
+-------|------------------|----------------+
|   3   | 25/05/2020 10:32 |      OPEN      |
+-------|------------------|----------------+
|   1   | 25/05/2020 12:30 |      CLOSED    |
+-------+------------------+----------------+

我想要一个显示状态计数的视觉效果,但只获取每个 id 的实际状态,在此示例中,视觉效果应由以下数据形成:

+-------+------------------+----------------+
|   id  |       date       |     status     |
+-------|------------------|----------------+
|   2   | 25/05/2020 10:31 |      OPEN      |
+-------|------------------|----------------+
|   3   | 25/05/2020 10:32 |      OPEN      |
+-------|------------------|----------------+
|   1   | 25/05/2020 12:30 |      CLOSED    |
+-------+------------------+----------------+

我尝试使用 ID 的不同计数,但它显示 3 个打开和 1 个关闭,我需要一个 2 个打开 1 个关闭结果。

我还尝试使用 TOP 或 Botton 选项制作日期过滤器,但这会将数据过滤到具有更多记录的日期..

那么,有什么办法可以做到这一点吗?

提前致谢。

amazon-quicksight
3个回答
5
投票

好的,6个月后我可以自己回复。

我所做的是 ifElse 与日期的 maxOver 结合,在 else 中为 true 或 null 时获取状态。

ifelse(Date=maxOver(Date,[id],PRE_FILTER),status,null)

0
投票

您还可以在视觉对象上添加过滤器,为要过滤的字段指定“顶部和底部”选项,选择要显示的顶部/底部值的数量,然后按 MAX 聚合。


0
投票

ifelse(maxIf({date}, {status} = "OPEN") = max({date}), "OPEN", "CLOSED")

© www.soinside.com 2019 - 2023. All rights reserved.