根据另一个过滤器的日期范围过滤结果
Filter results based on another filter's date range
背景:
我有以下用户注册渠道,用户在其中创建帐户,然后通过提示完成注册:
id date create_account_date user_creates_account registration_date user_registers
1 12/30/2017 12/30/2017 1 12/30/2017 1
2 12/30/2017 12/30/2017 1 1/2/2018 0
2 1/2/2018 12/30/2017 0 1/2/2018 1
3 12/31/2017 12/31/2017 1 12/31/2017 1
4 1/1/2018 1/1/2018 1 1/3/2018 0
4 1/3/2018 1/1/2018 0 1/3/2018 1
5 1/1/2018 1/1/2018 1 1/1/2018 1
6 1/2/2018 1/2/2018 1 1/3/2018 0
6 1/3/2018 1/2/2018 0 1/3/2018 1
7 1/3/2018 1/3/2018 1 1/3/2018 1
8 1/4/2018 1/4/2018 1 1/4/2018 1
总计:
12/30 12/31 1/1 1/2 1/3 1/4 Total Total 1/2-1/4
User Creates Account 2 1 2 1 1 1 8 3
User Registers 1 1 1 1 3 1 8 5
问题:
我正在尝试添加一个日期过滤器,我可以在其中选择我想查看的数据的日期范围。
我添加了 create_account_date
作为过滤器,并选择了 1 月 2 日到 1 月 4 日。但是,这只会强制 min(registration date)='1/2/18'
,而 max(registration date)
可能发生在 1 月之后4.
我也试过强制create_account_date = registration_date
,但这低估了那些在不同于create_account_date
但仍在过滤日期范围内注册的人。
问:
我希望能够按日期范围 filter/parameter 过滤输出。
因此,每个用户 create_account_date
和 registration date
>= min(date)
,每个用户 create_account_date
和 registration date
<= max(date)
。这里 create_account_date
>= registration date
所以通过过滤器实现我会:
1/2/2018 1/3/2018 1/4/2018 Total
User Creates Account 1 1 1 3
User Registers 0 1 1 2
提前谢谢你。
我不是 100% 清楚目标,但听起来您想找到 account_create_date
介于开始日期和结束日期之间且 registration_date
介于开始日期之间的用户和结束日期。如果是这样,您可以使用 WHERE (create_account_date BETWEEN @start_date AND @end_date) AND (registration_date BETWEEN @start_date AND @end_date)
进行过滤。我的语法假定 SQL 服务器,但您也可以使其适用于其他 DBMS。
您尝试的方式有误,请勿尝试操纵创建帐户和注册日期,而应仅为正常日期字段添加过滤器并将字段放入 sheet 并查看结果。
如果你真的想创建一个过滤器,那么你不能只使用普通过滤器添加条件,而是需要创建两个参数。
开始日期的一个参数
结束日期的一个参数
对于这两个参数,都使用日期字段来显示数据列表
现在创建两个计算字段
If create account date >=[start date parameter] and create account date < [end date parameter]
then
your field
end
同样
If registration date >=[start date parameter] and registration date < [end date parameter]
then
your field
end
在 sheet
的行中同时使用字段,在列中放置日期
背景:
我有以下用户注册渠道,用户在其中创建帐户,然后通过提示完成注册:
id date create_account_date user_creates_account registration_date user_registers
1 12/30/2017 12/30/2017 1 12/30/2017 1
2 12/30/2017 12/30/2017 1 1/2/2018 0
2 1/2/2018 12/30/2017 0 1/2/2018 1
3 12/31/2017 12/31/2017 1 12/31/2017 1
4 1/1/2018 1/1/2018 1 1/3/2018 0
4 1/3/2018 1/1/2018 0 1/3/2018 1
5 1/1/2018 1/1/2018 1 1/1/2018 1
6 1/2/2018 1/2/2018 1 1/3/2018 0
6 1/3/2018 1/2/2018 0 1/3/2018 1
7 1/3/2018 1/3/2018 1 1/3/2018 1
8 1/4/2018 1/4/2018 1 1/4/2018 1
总计:
12/30 12/31 1/1 1/2 1/3 1/4 Total Total 1/2-1/4
User Creates Account 2 1 2 1 1 1 8 3
User Registers 1 1 1 1 3 1 8 5
问题:
我正在尝试添加一个日期过滤器,我可以在其中选择我想查看的数据的日期范围。
我添加了
create_account_date
作为过滤器,并选择了 1 月 2 日到 1 月 4 日。但是,这只会强制min(registration date)='1/2/18'
,而max(registration date)
可能发生在 1 月之后4.我也试过强制
create_account_date = registration_date
,但这低估了那些在不同于create_account_date
但仍在过滤日期范围内注册的人。
问:
我希望能够按日期范围 filter/parameter 过滤输出。
因此,每个用户 create_account_date
和 registration date
>= min(date)
,每个用户 create_account_date
和 registration date
<= max(date)
。这里 create_account_date
>= registration date
所以通过过滤器实现我会:
1/2/2018 1/3/2018 1/4/2018 Total
User Creates Account 1 1 1 3
User Registers 0 1 1 2
提前谢谢你。
我不是 100% 清楚目标,但听起来您想找到 account_create_date
介于开始日期和结束日期之间且 registration_date
介于开始日期之间的用户和结束日期。如果是这样,您可以使用 WHERE (create_account_date BETWEEN @start_date AND @end_date) AND (registration_date BETWEEN @start_date AND @end_date)
进行过滤。我的语法假定 SQL 服务器,但您也可以使其适用于其他 DBMS。
您尝试的方式有误,请勿尝试操纵创建帐户和注册日期,而应仅为正常日期字段添加过滤器并将字段放入 sheet 并查看结果。
如果你真的想创建一个过滤器,那么你不能只使用普通过滤器添加条件,而是需要创建两个参数。
开始日期的一个参数
结束日期的一个参数
对于这两个参数,都使用日期字段来显示数据列表
现在创建两个计算字段
If create account date >=[start date parameter] and create account date < [end date parameter]
then
your field
end
同样
If registration date >=[start date parameter] and registration date < [end date parameter]
then
your field
end
在 sheet
的行中同时使用字段,在列中放置日期