Tableau KPI prev 值取决于变量

Tableau KPI prev value depending on variable

我正在尝试根据作为 Id 的变量值获取(某些字段的)先前总和。

这不是table,我在做KPI

在 Qlik 上你会做类似的事情:

SUM({<Id={"$(=Max(vVariable),-1))"}>} someField)

但是我在Tableau上实现不了,当然是我知识不够,可惜工作时间很紧,想看看有没有人有什么意见!

谢谢

假设您可能使用像 Superstore 这样的示例输入(使用销售额作为指标),这可能就是您要查找的内容:

在红色部分,您可以看到允许您 select 一个值的“变量”,在蓝色部分,您会找到前一个值的唯一行(按订单 ID 排序)。

您需要做的第一件事是根据所有订单 ID 值创建一个参数:

如果您不熟悉 LOD(细节级别)和 Tableau 中的执行顺序,尤其是过滤器,事情就会变得有点复杂。

假设您可以自己获取一些信息(否则,请随意询问),您要做的第一件事就是“pre-calculate”相当于 table每个订单 ID 都有一个行,其中您还有以前的订单 ID 值。

您可以实现此组合固定 (LOD) 和查找功能,创建此计算字段“查找订单 ID”:

LOOKUP( max({ FIXED [Order ID] : MAX([Order ID])}),1)

这实际上只是一个您想要“修复”的计算字段,因为您需要过滤器在您完成之前的微积分后起作用,然后将数据向后移动 1 行。

一旦你这样做了,你只需要创建另一个计算字段来测试你的参数值,它可能是这样的“检查参数”:

[Lookup Order ID] = [Order ID param]

在过滤器部分移动此计算字段并 select 仅输入“真”值,您将获得与初始图像中一样的唯一行,显示与该值相关的先前值(蓝色)您 select 在参数 drop-down 菜单(红色)中。