tableau-api - 在 Tableau 中查找过去 29 天的活跃用户数
解决方案
要查找出现在字段中的唯一值的数量,例如 [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 或其他一些技术进行一些数据准备和/或数据填充——主要是因为在这种情况下,每个数据行都会导致多个滚动计数,而不是按某个维度对数据进行分区时计数。
推荐阅读
- centos7 - saltstack在centos7中添加自定义服务,执行cmd.run "systemctl daemon-reload"后,service.running仍然提示service is not available
- reactjs - Powerapps 嵌入到其他应用程序中
- php - 获取两个日期之间每个月的查询结果
- python - 如何使用列表理解返回第一项而不是整个列表?
- twitter-bootstrap-3 - 如何使框字段大小相同
- java - HarmonyOS 中用于 android 中 postDelayed() 的替代方案是什么?
- azure - Apache Ignite 瘦客户端未连接到 AKS
- java - 关于结合隐式等待和显式等待
- android - RxIdler 不会等到网络请求完成
- angular - Angular、Nx Workspace、Webpack 5 Module Federation:您提供了一个无效的对象