Countif比较Tableau中的日期

时间:2015-03-22 19:38:44

标签: if-statement tableau countif tabular

我正在尝试创建一个表,如果他们在第一个培训(列)之后参加了另一个特定的培训(列),它只计算与会者一种类型的培训(行)。我想我需要重新创建一个countif函数来比较训练的日期,但不知道如何设置它以便比较行训练和列训练的日期。有什么想法吗?

编辑3/23

Alex,如果我对每种类型的培训的日期都有不同的变量,那么你的解决方案就可以了。有没有办法构建这个,而不必为我想要比较的每种类型的培训创建新的变量?换句话说,有没有办法在公式中引用表格的行和列来比较日期?因此,如果此列的开始日期超过此行的开始日期,则计算"等等。" (基本上,Tableau中有Excel索引函数吗?)

查看我的数据结构可能会有所帮助 - 这是一个清理版本:https://docs.google.com/spreadsheets/d/1YR1Wz-pfGHhBxDQDGYgmemLGoCK0cSvKOeE8w33ZI3s/edit?usp=sharing

"表"选项卡显示我尝试在Tableau中创建的表。

1 个答案:

答案 0 :(得分:1)

为您的情况定义计算字段,名为 trained_after ,如下:

training_b_date > training_a_date
对于每个数据行,

trained_after 将为true或false,具体取决于B培训的日期是否晚于A培训

如果您想要更精确地控制日期之间的差异,请使用 date_diff 功能。说date_diff(“hour”,training_a_date,training_b_date)> 24坚持等待一段时间。

这个领域可能就是你所需要的。您可以将trained_after放在过滤器架上以仅过滤以查看满足条件的数据行。或者将其放在另一个架子上以根据该条件对数据进行分区。或使用您的字段创建其他计算字段。

意识到如果您的任何一个日期字段为空,那么在这种情况下,您计算的字段将评估为null。 Sum(),Count()等聚合函数忽略空值。