如何将随时间累积的总计值转换为 Tableau 中的每日实际值?
How to convert a cumulative total over time values into actual daily values in Tableau?
我正在处理累积数据集,我需要将累积值转换为同一列的每日值。
我通过创建一个计算字段来做到这一点,但是,第一行的值被遗漏了。因为第一行没有上一行。我需要以一种让第一行有自己的价值的方式编写代码。
我的代码是这样的:
ZN(SUM([地面武器总数])) - 查找(ZN(SUM([地面武器总数])), -1)
Samkart 大体上倾向于正确的方向,尽管我可能会选择使用 Index() 而不是 First() 的逻辑语句
First()、Last() 和 Index() 都是行排序器:
- Index() 为分区中的每条记录从 0 递增 1 进行枚举
- First()枚举每条记录从0减1
- Last() 是一个奇数,从集合中的最后一条记录开始为 0,然后递增 1,直到到达集合中的第一条记录,例如集合中的 17 行,Last() 将开始为0 在第一个记录上递增 1 计数到 16
所以为了你的计算我会测试:
If Index() = 1 Then Sum(0)
Else Zn(Sum([Total Ground Weapons])) - Lookup(Zn(Sum([Total Ground Weapons])), -1)
End
这样,您就可以为集合中的第一个条目定义一个值。
史蒂夫
我正在处理累积数据集,我需要将累积值转换为同一列的每日值。 我通过创建一个计算字段来做到这一点,但是,第一行的值被遗漏了。因为第一行没有上一行。我需要以一种让第一行有自己的价值的方式编写代码。 我的代码是这样的:
ZN(SUM([地面武器总数])) - 查找(ZN(SUM([地面武器总数])), -1)
Samkart 大体上倾向于正确的方向,尽管我可能会选择使用 Index() 而不是 First() 的逻辑语句
First()、Last() 和 Index() 都是行排序器:
- Index() 为分区中的每条记录从 0 递增 1 进行枚举
- First()枚举每条记录从0减1
- Last() 是一个奇数,从集合中的最后一条记录开始为 0,然后递增 1,直到到达集合中的第一条记录,例如集合中的 17 行,Last() 将开始为0 在第一个记录上递增 1 计数到 16
所以为了你的计算我会测试:
If Index() = 1 Then Sum(0)
Else Zn(Sum([Total Ground Weapons])) - Lookup(Zn(Sum([Total Ground Weapons])), -1)
End
这样,您就可以为集合中的第一个条目定义一个值。
史蒂夫