在Tableau中查找过去29天内的活跃用户数。

问题描述 投票:1回答:1

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

enter image description here

我已经尝试使用计算字段,但没有得到正确的结果。请告知。

谢谢你,Nirmal

tableau tableau-online tableau-public
1个回答
1
投票

要找到出现在一个字段中的唯一值的数量,比如说[user_code],你可以使用COUNT DISTINCT函数,COUNTD(),如下所示 COUNTD([user_code])

要将数据限制在一个特定的时间范围内,一种方法是将你的日期字段放在Filter架子上,然后选择只包括你想要的数据行的设置--比如你说的216到316的范围。

另外,你也可以通过调用IF函数将过滤条件推入计算中,例如 COUNTD(IF <data is relevant> THEN [user_code] END) 因此有效地结合了这两种技术。这样做的原因是,如果没有ELSE子句,而且IF条件是False,那么IF语句就会评价为null。由于COUNTD()和其他聚合函数一样,默默地忽略了null,所以表达式的作用就像过滤了不相关的数据行一样。

所以,举个例子。

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

将告诉你在216和316之间的独特用户代码的数量。DateDiff()函数在更复杂的测试中可能会有用。

最后,如果你想要更多的灵活性呢?你可以很容易地使用Parameters或Filter控件来让用户交互式地选择日期范围。

如果你想让这种计算在每一个可能的日子里重复进行,显示前30天内的唯一用户,作为某种滚动计算,那么你就需要学习一些更高级的功能。要么像上面一样针对不同的时间范围进行多次计算,使用Table Calculations,要么使用Tableau Prep Builder、Python或其他技术进行一些数据预处理和或数据填充--主要是因为在这种情况下,每条数据行都会贡献出多个滚动计数,而不是按某种维度划分数据时的一个计数。

© www.soinside.com 2019 - 2024. All rights reserved.