【问题标题】:ROW_NUMBER and PARTITION BY in TableauTableau 中的 ROW_NUMBER 和 PARTITION BY
【发布时间】:2020-11-26 01:10:37
【问题描述】:

我可以在 Tableau 中执行以下操作吗 -

ROW_NUMBER() OVER (PARTITION BY A,B ORDER BY C) AS X

根据 Tableau 官方文档中的语法,我正在执行以下操作,但出现错误

{PARTITION [A],[B]: {ORDERBY [C]:ROW_NUMBER() }}

错误 - 表达式后面应为“}”

提前致谢。

【问题讨论】:

  • 我认为您只能在 Tableau Prep 中进行这些计算。 Tableau desktop、tableau public、tableau Server 版目前不支持这些计算。

标签: sql data-visualization tableau-api window-functions


【解决方案1】:

在 Tableau Desktop 中,您可以使用表格计算来执行此操作。

  1. 创建一个新的计算字段,称为索引,公式为:index()
  2. 右键单击索引计算字段(步骤 1)并转换为离散
  3. 将索引计算字段与您想要的列一起放入行中,包括您想要分区的列。这表明索引是一个表格计算
  4. 右键单击行中的索引并编辑表格计算。计算使用:选择“特定尺寸”;并为“重新启动每个”选择要分区的列
  5. 使用排序功能按您选择的字段对视图进行排序

为此,您需要在视图中拥有要分区的数据。这纯粹是一种解决方法。

【讨论】:

  • 除了这个解决方法之外,这种方法的主要缺点是 row_number 等值不是硬编码的。这些根据生成的视图/上下文不断变化。而在 Tableau prep 中,这些可以被硬编码,然后在任何上下文中使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-24
  • 2014-03-21
  • 1970-01-01
  • 1970-01-01
  • 2020-01-14
  • 1970-01-01
相关资源
最近更新 更多