【问题标题】:Tableau - Return Name of Column with Max ValueTableau - 返回具有最大值的列名称
【发布时间】:2020-09-15 14:07:16
【问题描述】:

我是 Tableau 可视化新手,需要一些帮助。

我有一组运输路线,它们具有基于装运持续时间的整数值。 例如:

| Lane Name | 0 Day | 1 Day | 2 Day | 3 Day | 4 Day |
|  SFO-LAX  |    0  |    30 |    60 |    10 |     0 |
|  JFK-LAX  |    0  |    10 |    20 |    50 |    80 |

对于每个车道名称,我想根据最大值返回列标题。 即对于 SFO-LAX,我将返回“2 天”,对于 JFK-LAX,我将返回“4 天”,等等。 然后,我想将此设置为过滤器,以便在我的 Tableau 数据集中仅显示 2 天和 3 天的结果。

有人可以帮忙吗?

【问题讨论】:

    标签: tableau-api


    【解决方案1】:

    两个步骤。

    第一步非常简单,转置您的数据。阅读 Tableau 帮助以了解如何 PIVOT 您的数据进行分析 - 即将 Tableau 视为更长的 3 列数据集,其中车道、持续时间、值作为 3 列。 Tableau 的 PIVOT 功能可让您以该格式查看数据(这使分析更容易),而无需实际更改数据文件的格式。

    第二步比您乍一看要复杂一些,有几种方法可以完成它。可用于此目的的 Tableau 功能是 LOD 计算、表格计算、过滤器和可能的集合。这些是 Tableau 中一些更强大但更复杂的部分,因此值得您花时间了解,但预计需要一段时间才能熟悉它们。

    最简单的解决方案可能是使用 RANK() 函数之一 - 从快速表计算开始。根据需要设置您的分区和寻址,以便为您想要的数据块计算等级 - 例如在车道上分区和寻址或按持续时间计算。然后,当您对看到的排名感到满意时,将排名计算移至过滤器架子,仅显示 rank = 1 的数据。

    一旦您掌握了窍门,这是一个快速的解决方案,但是对于非常大的数据集,它可能会变得很慢,因为排名计算是在客户端完成的,需要获取您最终不显示的所有数据。如果性能成为问题,您可能希望查看其他解决方案以在服务器端执行更多计算 - 可能使用 LOD 计算或从自定义 SQL 调用的分析 aka 窗口查询

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 1970-01-01
      • 2021-02-05
      • 1970-01-01
      相关资源
      最近更新 更多