【发布时间】:2021-09-21 02:18:01
【问题描述】:
其中 RETENTION 是每个 PERIOD_NUMBER 的 N_CUSTOMERS 除以 CUSTOMER_WHEN_0。
现在我需要获取另一个新字段,该字段是将 thar PERIOD_NUMBER 的每个保留值除以前一个 PERIOUD_NUMBER 的保留值的结果。在图像的示例中,它不被欣赏,但我拥有 PERIOD_NUMBER 的所有连续值。当PERIOD_NUMBER为0时,除以它的shifter值是NAN或类似的都没有关系,我稍后会替换它。
因此,总而言之,我想要的输出是一个 ner 字段,它显示了将该行的 PERIOD_NUMBER 的 RETENTION 值除以前一个 PERIOD_NUMBER 的 RETENTION 值的结果。我正在使用 DBT,以防万一我有用于获取这些字段的查询,并且我有在 Python 中执行该过程的代码,但我需要在 SQL 中执行此操作
用户的首次购买,ORDER_MONTH 是购买日期,PERIOD_NUMBER 是 COHORT 和 ORDER_MONTH 之间的日期差(以月为单位)。 N_CUSTOMERS 是每个 COHORT 中每个 PERIOD_NUMBER 的客户数,CUSTOMER_WHEN_0 是当 PERIOD_NUMBER 为 0 时每个群组的用户数。 我必须使用窗口函数才能获得最后一个字段。
【问题讨论】:
-
您的样本数据中没有显示同类群组,这使得这个问题很难理解。
-
@Gordon Linoff 感谢您的回答,我省略了它,因为它只是一个概念性的声明,但数据已经按群组分组,因此没有必要考虑它。抱歉,如果这让您难以理解