首页 > 解决方案 > 为什么我的计算不能应用于我的过滤器画面

问题描述

这是我的画面工作簿

在此处输入图像描述

所以我想为每个用户计算每笔交易之间的不同日期,这种情况下的用户在过滤器中 PUL: True with this calculation

{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 笔交易。这是截图

在此处输入图像描述

我的问题是

  1. 为什么画面不能像这样在同一天(但不同时间)可视化所有交易

在此处输入图像描述

以及如何将其可视化,以便显示同一天但不同小时的 2 条记录。

  1. 以及为什么如果同一天的交易计数时间与 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-api

解决方案


我认为您的 PUL 字段有一些错误。可能您应该将此字段的计算更改为

{Fixed [User Id]: sum(
if [Created At]<[START_DATE] then 1 else 0 end)}>=1
AND
{FIXED [User Id]: sum(
IF [Created At]<=[END_DATE] AND 
[Created At] >= [START_DATE] THEN 1 ELSE 0 END)}>=1

因为,如果您试图获得非空差异,则必须在[start_date]. 请检查一下。

现在请按照这些步骤(请仔细)

步骤 1Rows Shelf处拖动user id和。created at

步骤 2更改created at确切日期,然后更改为谨慎两者都很重要,您查看显示您没有将其显示为确切日期,而是显示为created_at日期)

Step-3 : 设置你的日期参数

第 4 步将所有三个所需字段拖到过滤器架子上。

步骤*5:添加PUL到上下文(又是一个重要步骤)

Step-6双击该CF字段(检查其计算为

DATEDIFF('day', LOOKUP(MIN([Created At]),-1), MIN([Created At]))

Step-7更改表格计算选项CFas table down (检查这也很重要

步骤 8双击其他 CF_max/Min 字段将这些添加到measure values

如前所述,步骤 9CF在这四个字段中的每一个中更改表计算选项(即嵌套计算在specific dimensions每个 user_id 处重新开始)。并将 CF_Max(视情况而定)的嵌套计算表下来。

注意关于您的 user_id 的具体问题86886(如果我将删除 PUL 修改条件,因为TRUE我得到了所需的相同视图)。请看一看

在此处输入图像描述


推荐阅读