Amazon redshift 如何使用开始和结束日期查找每个月的状态?

Amazon redshift 如何使用开始和结束日期查找每个月的状态?,amazon-redshift,oracle-sqldeveloper,tableau-api,analytics,amazon-quicksight,Amazon Redshift,Oracle Sqldeveloper,Tableau Api,Analytics,Amazon Quicksight,[标题是:了解事实:如何每年在医疗保健组织中找到每月活跃成员,以及增长百分比] 我有5年的历史数据,想做一些分析。数据将包含活动和非活动成员数据。任务是每月每年查找活动成员 我所做的是从有效数据中提取月份和年份,并根据活动状态(即status='active')按月份和年份分组 但就这样,我失去了历史记录。 例如,如果某人在2015年1月1日至2016年12月31日期间拥有会员资格。此成员现在将显示为非活动成员,但同一个人在该持续时间内是活动成员。因此,如果我过滤状态,我将丢失这些旧记录 我需要

[标题是:了解事实:如何每年在医疗保健组织中找到每月活跃成员,以及增长百分比]

我有5年的历史数据,想做一些分析。数据将包含活动和非活动成员数据。任务是每月每年查找活动成员

我所做的是从有效数据中提取月份和年份,并根据活动状态(即status='active')按月份和年份分组

但就这样,我失去了历史记录。 例如,如果某人在2015年1月1日至2016年12月31日期间拥有会员资格。此成员现在将显示为非活动成员,但同一个人在该持续时间内是活动成员。因此,如果我过滤状态,我将丢失这些旧记录

我需要去那个月,2015年1月,检查所有当时活跃的人。所以我想换一种方式

我提取了到期日期的月份,并像exp_month一样过滤等于或大于提取的生效日期月份,如下所示。这里,我不依赖包含成员状态的传入源字段。我正在创建一个具有逻辑的字段,以确定我们正在查找的期间成员的状态。这只是为了确定每年每个月的活跃成员,但我不确定这是否为我提供了完美的解决方案。请告诉我更好的方法

从成员\生效\日期中选择提取年份作为年份 ,提取自成员到期日起的月份作为月份 ,从会员到期日起一个月内提取时的情况 =从成员生效日期算起的月份 或从成员到期日起的一个月 >从成员生效日期算起的月份 然后“是” 否则“否”结束为活动状态 从表\u名称
您需要使用日期表的交叉联接来获取每个期间的状态。交叉联接会使状态表膨胀,以便您可以评估每个时段的状态

以下是一个例子:

创建临时表\u名称为 选择“member1”作为成员 ,'2020-01-01'::成员生效日期 ,'2020-04-27':成员的日期 ; 有月表 -前12个月的月份开始和结束 选择日期为“月”,选择日期为“月开始” ,MAXdt作为月底 从…起 -前365个日期的列表 选择“日期”,SYSDATE-n*间隔“1天”作为dt 从…起 -从1到365的数字列表 从stl\U扫描限制365中选择行数为n 按月分组\u开始 从b.month\u start AS year中选择提取年份 ,从b.month开始提取月份 ,案例时间-月底前生效,且 a、 成员生效日期b月开始 然后“是” 否则“否”结束为活动状态 从表_中选择名称a 交叉连接列表b-显式笛卡尔积 以1,2的顺序排列 ;
您需要使用日期表的交叉联接来获取每个期间的状态。交叉联接会使状态表膨胀,以便您可以评估每个时段的状态

以下是一个例子:

创建临时表\u名称为 选择“member1”作为成员 ,'2020-01-01'::成员生效日期 ,'2020-04-27':成员的日期 ; 有月表 -前12个月的月份开始和结束 选择日期为“月”,选择日期为“月开始” ,MAXdt作为月底 从…起 -前365个日期的列表 选择“日期”,SYSDATE-n*间隔“1天”作为dt 从…起 -从1到365的数字列表 从stl\U扫描限制365中选择行数为n 按月分组\u开始 从b.month\u start AS year中选择提取年份 ,从b.month开始提取月份 ,案例时间-月底前生效,且 a、 成员生效日期b月开始 然后“是” 否则“否”结束为活动状态 从表_中选择名称a 交叉连接列表b-显式笛卡尔积 以1,2的顺序排列 ;
| year | month | active|
|------|-------|-------|
| 2019 |     8 | No    |
| 2019 |     9 | No    |
| 2019 |    10 | No    |
| 2019 |    11 | No    |
| 2019 |    12 | No    |
| 2020 |     1 | Yes   |
| 2020 |     2 | Yes   |
| 2020 |     3 | Yes   |
| 2020 |     4 | Yes   |
| 2020 |     5 | No    |
| 2020 |     6 | No    |
| 2020 |     7 | No    |
| 2020 |     8 | No    |