tableau-api - 如何在tableau中聚合表计算

标签 tableau-api aggregation rolling-computation

这是我的工作簿

enter image description here

在该工作簿上,我计算每个用户的每笔交易之间的时间差。我首先构建的是带有此计算的过滤器 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

这个公式是找出符合条件的用户(在 end_date 参数之前至少进行 2 次交易,并且在 start_date 参数和 end_date 参数之间至少进行 1 次交易),之后我将这个过滤器添加到上下文中以找出用户至上。

我用这个计算过滤了 date_range

lookup(min(([Created At])),0) >= [START_DATE] and 
lookup(min(([Created At])),0) <= [END_DATE]

因此,它将仅可视化范围内的交易(start_date 作为第一个范围,end_date 作为最后一个范围),并且还会可视化第一个范围之前的最后日期交易(如果有)。

之后我进行名为 datediff 的计算 DATEDIFF('day',LOOKUP(MIN([Created At]),-1), MIN([Created At])) 并将其放在标签上,以便计算不同的日期。我还将日期放在详细信息中,并将日期也放在行中并使其成为 ATTR。

我的问题是,如何从此计算中找出最大值、最小值、中值和平均值

enter image description here

我尝试了计算出的最大值

MAX({FIXED [User Id]:DATEDIFF('day',INT(LOOKUP(MIN([Created At]),-1)), INT(MIN([Created At])))})

但它返回错误使用字符串、整数、整数调用datediff

最佳答案

对于 Max 和 Min,您可以像我为您提供上一个问题的解决方案一样继续操作。 (对于 max,创建排名计算并按降序排序;对于 Min,您创建第二个按升序排列的排名计算)。

但是,就我对 Tableau 中表计算的了解而言,Tableau 不允许对这些表计算字段进行硬编码,因此您不能-

  • 进一步汇总这些结果
  • 对这些进行 LOD 计算。

为了计算平均值中值,建议您创建一个硬编码列/字段,为您提供任何时间差与该客户之前的订单一起订购。您可以使用您选择的任何编程语言来完成此操作,例如 R 或 python(或其他)。

此外,Tableau 与 R/python 的集成是通过 script-real 类型函数实现的,这些函数又属于表计算 类别,并且将适用上述限制。

祝你好运。

编辑正如亚历克斯·布莱克莫尔在不同的问题/答案中所建议的那样,您可以稍微调整一下使用窗口函数。我们假设 datediff 的计算字段名称为 [CF],然后使用以下计算创建四个计算字段。

window_max([CF])

window_min([CF])

window_avg([CF])

window_median([CF])

并将它们命名为[CF max][CF Min][CF avg][CF Median] 分别。

现在编辑表计算,并在其中每四个中嵌套,如下 -

  • 单击嵌套计算向下箭头。 CF 将在那里列出。将其计算更改为最深级别的特定维度,并在evrey 用户ID处重新启动。截图是

enter image description here

  • 此后再次单击嵌套计算向下箭头。选择CF_max/min/med/avg(视情况而定)并使用表格向下创建表格计算。

您将获得所需的 View 。

enter image description here

关于tableau-api - 如何在tableau中聚合表计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64962721/

相关文章:

mysql - 存在 2 个 group by 条件时如何计算 mysql/sql 中的百分比

MongoDB 聚合 - 如果提供其他不匹配,则匹配输入参数

python - Pandas:条件滚动计数 v.2

python Pandas 。如何使用滚动窗口进行减法

tableau-api - 如何将 Tableau 提取数据转换为 csv(或 xls)

mysql - 如何从 Tableau 调用 MySQL 存储过程

merge - Tableau 中的聚合数据箱

uml - 具有泛化和专门化的聚合顺序

r - 快速计算允许自定义权重的移动平均/滚动函数的方法

javascript - 通过 JS 跨多个仪表板/工作表设置画面过滤器