【问题标题】:Return Value first time condition is met返回值第一次满足条件
【发布时间】:2014-03-26 10:35:49
【问题描述】:

我有个计算,只想返回最左边的值,即第一次满足条件。

在图像中它显示 95% 96% 等等,我只关心满足 95 条件的第 5 列。

编辑(更多信息)

好的,所以百分比是这样计算的。

ROUND( RUNNING_SUM( SUM( [days_to_close_cnt] ) )/ SUM([newo_dt_cnt]),2 )

使用“关闭天数”为我提供列信息。

折线图如下所示。

if [% Completed] >= .98  and  [% Completed] < 1 then INT( 98 )
elseif [% Completed] = 1  then INT(  1 )
elseif  [% Completed] >= .95  and [% Completed] < .98 then INT( 95 )
elseif  [% Completed] < .95 and [% Completed] >= .0 then INT(  0 )
end

在这种情况下我用来着色的 calc 是什么。

【问题讨论】:

  • 如果您需要有用的建议,请编辑您的问题以更具体。例如,至少发布一些数据和您的计算字段定义。

标签: data-visualization tableau-api


【解决方案1】:

您似乎正试图判断运行总计何时超过阈值。在 Tableau 中,这样做需要对从数据源返回的聚合值进行运算的表计算。

我整理了一个example viz 来说明如何解决这个问题。

在通过上述链接的实时版本中,尝试将鼠标悬停在一些数据点上以查看工具提示的详细信息,并逐步增加阈值以查看计算行为。您也可以点击表格选项卡查看一些中间结果。

这是一张静态快照,以防您无法访问上面链接的动态快照

简而言之,您可以定义一个布尔计算字段来判断特定日期的运行总计是否满足阈值,然后使用 window_min() 计算满足阈值的第一天。有关更多详细信息,请下载工作簿并查看计算字段以了解其工作原理。

表格计算功能强大,但也是 Tableau 中花费最多时间了解的功能。因此,将事情分解并以小块的方式解决它们,而不是尝试一次编写复杂的表格计算。幸运的是,对于最常见的情况,有捷径(快速表格计算)。请注意,为表计算指定分区和寻址字段(即计算使用)与编写公式一样重要。

最后顺便说一句,您的计算字段可以更有效地编写为:

if [% Completed] < .95 then 0
elseif [% Completed] < .98 then 95
elseif [% Completed] < 1 then 98
else 1
end

【讨论】:

  • 这太好了,我最终使用运行总和做了一些事情,当我到达我的工作计算机时,我会将它与演示工作簿一起分享。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-04
相关资源
最近更新 更多