首页 > 解决方案 > 在 Tableau 中查找过去 29 天的活跃用户数

问题描述

在计算 2020 年 3 月 16 日至 2020 年 2 月 16 日期间的总活跃用户时需要帮助。

在此处输入图像描述

我尝试使用计算字段,但没有得到正确的结果。请指教。

谢谢你,尼尔马尔

标签: tableau-api

解决方案


要查找出现在字段中的唯一值的数量,例如 [user_code],您可以使用 COUNT DISTINCT 函数 COUNTD(),如COUNTD([user_code])

要将数据限制在特定时间范围内,一种方法是将您的日期字段放在“过滤器”架子上,然后选择仅包含您想要的数据行的设置——如您所说的从 2/16 到 3/16 的范围。

或者,您可以使用 IF 函数调用将过滤条件推送到计算中,如COUNTD(IF <data is relevant> THEN [user_code] END)有效结合这两种技术。这是有效的,因为如果没有 ELSE 子句并且 IF 条件为 False,那么 IF 语句的计算结果为 null。由于 COUNTD() 会像其他聚合函数一样默默地忽略空值,因此表达式的行为就像过滤了不相关的数据行一样。

所以,例如,

COUNTD(IF [dates] >= #2/16/2020# AND [dates] <= #3/16/2020# THEN [user_code] END)

然后会告诉您在 2/16 和 3/16 期间的唯一用户代码数量。DateDiff() 函数可能在更复杂的测试中很有用。

最后,如果您想要更大的灵活性怎么办?您可以轻松地使用参数或过滤器控件让用户以交互方式选择日期范围。

如果您希望在每一天重复此计算,将前 30 天期间的唯一用户显示为某种滚动计算,那么您需要了解一些更高级的功能。使用 Table Calculations 对不同时间范围进行上述多次计算,或者使用 Tableau Prep Builder、Python 或其他一些技术进行一些数据准备和/或数据填充——主要是因为在这种情况下,每个数据行都会导致多个滚动计数,而不是按某个维度对数据进行分区时计数。


推荐阅读