为什么我的计算不能应用于我的过滤器画面

why my calculated cant be applied in my filters tableau

这是我的画面工作簿

所以我想为每个用户计算每笔交易之间的不同天数,这种情况下的用户在过滤器 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_id86886)

我不明白为什么 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 的建议,这是我的 link 工作簿画面 https://public.tableau.com/profile/fachry.dzaky#!/vizhome/simulation_data/Sheet14

我认为您的 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] 之前至少有一笔交易。 请检查。

现在请按照以下步骤操作(请小心)

步骤 1user idcreated at 拖到 行架

Step-2created at 更改为 确切日期 ,然后更改为 discreet两者都很重要,您查看显示您没有将其显示为确切日期,而是显示为 created_at 的日期

步骤 3:设置日期参数

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

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

Step-6 双击 CF 字段(检查其计算方式

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

Step-7CF的table计算选项改成table向下(勾选这个也很重要)

Step-8 双击其他 CF_max/Min 字段将它们添加到 measure values

Step-9 更改 table 这四个字段中每个字段的计算选项,如前所述(即 CF 的嵌套计算为 specific dimensions 每隔 user_id) 重新启动一次。并嵌套计算CF_Max(视情况而定)到table下。

NOte 关于 user_id 86886 的具体问题(如果我将删除 PUL 修改条件作为 TRUE 我得到相同的结果根据需要查看)。请看一下