首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >过滤外观瓷砖显示数据集中的最后7天报告?

过滤外观瓷砖显示数据集中的最后7天报告?
EN

Stack Overflow用户
提问于 2022-05-10 12:42:41
回答 3查看 511关注 0票数 0

如何过滤到数据集中的最后7天。

仅仅过滤过去的7天是行不通的,因为报告的天数并不总是连续的。我不能用过去的10天来抓他们,因为我需要限制在7。

假设我的数据集中有一个日期列,如下所示:

代码语言:javascript
复制
COMPLETED_DATE:

05/09/2022
05/06/2022
05/05/2022
05/04/2022
05/03/2022
04/20/2022
04/18/2022
04/17/2022
04/16/2022

我需要查看显示与最近7个报告日期相关的结果,如下所示:

代码语言:javascript
复制
COMPLETED_DATE:

05/09/2022
05/06/2022
05/05/2022
05/04/2022
05/03/2022
04/20/2022
04/18/2022

这是我可以用内置过滤器做的事情,还是我需要编写一些LookML来完成这个任务?

我猜我也许能写一个维度来完成这个任务。我在网上找到了最后一次约会的过滤维度。我不知道怎样才能在过去的7天里把这句话重来过滤。

代码语言:javascript
复制
dimension: latest_date { type: yesno sql: ${created_date} = max(${created_date}) ;; }

来源

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-05-24 15:52:30

通过编辑查询数据以包含排序行解决了该问题。这让我们可以根据这个列对排名进行过滤。

以下是围观者论坛上的一些答复:

如何过滤最后7位可用日期

我的解决办法如下:

结果是移除“按部分划分”,解决了计数问题。在看到一个错误后,我删除了它,该错误说ORDER_BY是OVER子句所必需的,并且出于某种原因,促使我检查如果删除PARTITION BY部分,它会说什么。不管出于什么原因,现在使用ROW_NUMBERRANK显示计数,没有问题。

代码语言:javascript
复制
Select received_date, ROW_NUMBER() OVER(ORDER BY received_date DESC) from
(SELECT distinct CAST(received_time as DATE) received_date FROM TABLE_NAME) s
WHERE received_date <= '2022-04-12'
ORDER BY received_date  DESC

代码语言:javascript
复制
Select received_date, RANK() OVER(ORDER BY received_date DESC) from
(SELECT distinct CAST(received_time as DATE) received_date FROM TABLE_NAME) s
WHERE received_date <= '2022-04-12'
ORDER BY received_date  DESC

这两项成果都是:

代码语言:javascript
复制
received_date   RANK
2022-04-12      1
2022-04-11      2
2022-04-10      3
2022-04-08      4
2022-04-07      5
2022-04-06      6
2022-04-05      7

如您所见,我得到了我正在寻找的计数,因为我们在可用日期中没有04-09日期,并且计数转移到下一个日期。

票数 0
EN

Stack Overflow用户

发布于 2022-05-16 02:31:29

您可以在不需要更改LookML的情况下做到这一点:

  • 通过COMPLETED_DATE创建一个探索和排序
  • 创建一个名为rank的辅助表计算,并将其定义为max(row()) - row() + 1。本专栏将计算从最近到最旧的报表编号。
  • 创建一个筛选器,仅显示rank小于或等于所需报告数的报表
票数 0
EN

Stack Overflow用户

发布于 2022-05-23 20:02:20

根据您对报告日期的了解,您有两种方法。

1.

  • 如果您知道最后的报告至少是X天前,=>将您的瓷砖过滤为"X天前“
  • 否则,=>不按日期筛选(查询所有内容)
  1. 按日期分列命令c
  2. 将行限制设置为7
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72186522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档