【发布时间】:2020-11-26 11:02:18
【问题描述】:
这是我的画面工作簿
所以我想为每个用户计算每个交易之间的不同天数,这种情况下的用户在过滤器中 PUL:这个计算结果为真
{Fixed [User Id]: sum(
if [Created At]<=[END_DATE] then 1 else 0 end)}>=2
AND
{FIXED [User Id]: sum(
IF [Created At]<=[END_DATE] AND
[Created At] >= [START_DATE] THEN 1 ELSE 0 END)}>=1
表示在最后一个范围之前有超过 1 笔交易且在日期范围内至少进行过 1 笔交易的用户在列表中。
所以在那之后我用这个公式 [CF] 计算字段来计算不同的天数
DATEDIFF('day',LOOKUP(MIN([Created At]),-1), MIN([Created At]))
我还做了过滤日期范围
lookup(min(([Created At])),0) >= [START_DATE] and
lookup(min(([Created At])),0) <= [END_DATE]
因此,不仅计算选定用户的日期范围内的时间差,而且每个用户还计算日期范围之前最后一次交易的不同天数(如果有)
这就是结果(请查看 user_id 86886)
我不明白为什么 user_id 86886 因为我的实验只有 1 笔交易,而我已经制作了过滤器,只接受交易超过 1 笔的用户,在我检查后,user_id 86886 每天进行超过 1 笔交易.这是截图
我的问题是
- 为什么画面不能像这样在同一天(但不同时间)可视化所有交易
以及如何将其可视化,以便显示同一天但不同小时的 2 条记录。
- 还有为什么如果同一天的交易计数时间与 NULL 不同,它应该为 0,因为没有时间不同
预期结果(我们以 user_id 86886 为例)
+---------+-----------------------+-------------+
| user_Id | dayOfCreatedAt | CF diff day |
+---------+-----------------------+-------------+
| 86886 | 1/25/2020 11:25:28 AM | |
| | 1/25/2020 11:39:42 AM | 0 |
+---------+-----------------------+-------------+
说明:CF diff day 的第一个为NULL,因为这是该用户的第一次交易,并且在此之前用户没有再次进行交易,第二个是“0”,因为没有天不同,不同的只是以小时为单位,但虽然是同一天,所以不会有不同的一天,它算 0
根据@Anil 的建议,这是我的工作簿画面链接https://public.tableau.com/profile/fachry.dzaky#!/vizhome/simulation_data/Sheet14
【问题讨论】:
-
一个小建议,您可以发布 Tableau 公共工作簿的链接,以便 SO 专家不知道这一点,可能会提出更好的新解决方案。
标签: tableau-api