business-intelligence - (Quicksight)是否可以有一个考虑日期字段粒度的计算字段
问题描述
上下文:我有一个快速查看的订单数据集,它与客户数据相结合。因为一个客户可以有多个订单,所以客户数据是重复的,需要进行重复数据删除。
我需要分析客户从注册 ( customer_date_added
) 到他们的第一个订单 ( min(order_date_added)
) 所需的天数,然后根据 customer_date_add 使用不同的日期粒度对结果进行存储/分组。
这就是我目前的工作(6 种视觉效果对应于 quicksight 中的内置日期粒度:年、季度、月、周、日、小时)
*Visual 1* - x-axis:customer_date_added (aggregate year), y-axis:
ifelse(dateDiff(customer_date_added, min(order_date_added)) < 365, 1, 0)
*Visual 2* - x-axis:customer_date_added (aggregate quarter), y-axis:
ifelse(dateDiff(customer_date_added, min(order_date_added)) < 90, 1, 0)
*Visual 3* - x-axis:customer_date_added (aggregate month), y-axis:
ifelse(dateDiff(customer_date_added, min(order_date_added)) < 30, 1, 0)
*Visual 4* - x-axis:customer_date_added (aggregate week), y-axis:
ifelse(dateDiff(customer_date_added, min(order_date_added)) < 7, 1, 0)
.... ETC
问题:我有很多带有分桶视觉效果的 dateDiff(不仅仅是第一次订购的几天),所以我的字段列表被 , , 等字段超出customer_first_order_within_year
。customer_first_order_within_quarter
此外customer_first_order_within_month
,我可以从一年中更改 date_granularity 而不仅仅是一个视觉对象到月我必须为我想要的每个 dateDiff 分析维护 6 个不同的视觉效果。
我想要的: 一个带有两个计算字段(new_customer_with_first_order
, new_customer_no_first_order
)的视觉对象。当我将 customer_date_add 上的数据粒度更改为新的日期粒度时,会new_customer_with_first_order
自动显示在该时间段内添加的客户以及该时间段内的第一个订单。相反new_customer_no_first_order
,将显示在该时间段内添加并且在该时间段内没有订单的客户。 new_customer_with_first_order + new_customer_no_first_order = new customers within that time period
.
我所尝试的:我对快速查看和商业智能工具相对较新,但对 SQL 有很好的掌握。我曾尝试阅读 Level Aware Aggregation, Window Functions。这些都没有给出使用日期或日期粒度的示例。这似乎是一种流行的分析类型,但也许还不可能?
https://stackoverflow.com/a/63064505/3412268
https://docs.aws.amazon.com/quicksight/latest/user/windowMax-function.html
https://docs.aws.amazon.com/quicksight/latest/user/countOver-function.html
https://docs.aws.amazon.com/quicksight/latest/user/level-aware-aggregations.html
解决方案
推荐阅读
- php - Yii2 - 在外部 URL 上做一个 http 表单 POST 并重定向到它
- r - 如何从 2 个不同的数据中获取列?
- html - 我在负责任的网络上有一个 jQuery 问题。当 html 的宽度低于 1050px 时,.slideToggle() 不应该工作,但它不适用
- python - 删除具有重复值的列
- tensorflow - tensorflow如何减少高“设备到设备”负载
- android - 将 targetSdkVersion 从 28 更改为 29 后,此应用与您的设备不兼容
- google-bigquery - 如果来自信息架构的 bigquery 属性,如何获取策略标签
- c - 修改rodata字符串文字
- firebase - 如果文档的属性与请求属性匹配,则读取 Firebase Firestore 文档
- c - 用于同步的全局信号量 - 计数器