在Tableau中结合过滤和动态排名

时间:2016-04-15 15:34:37

标签: tableau

我的问题如下:假设我有一个数据集,其中有4个字段

  1. 日期
  2. 类型
  3. 金额(指标1)
  4. 卖出价(指标2)
  5. 这4个字段显示在Tableau信息中心的表格中。当我点击表格中的任何项目时,我希望顶部的文字在我的表格中显示两个指标的排名指标的唯一计数以及他们的价值观。

    e.g。 '金额= 32,500:342中排名第4,卖出价= 2.5美元:6中排名第2'(我只有6种不同的卖价)

    我还希望实现是动态的,因此当我按日期过滤时,结果将调整为适合例如'金额= 32,500:10分中排名第1,卖出价= 2.5美元:4分中排名第1

    我尝试过使用RANK函数,但每当我点击表格中的一行时,它就会有效地过滤掉所有其他数据,并将等级设置为1。

    有办法做到这一点吗?

2 个答案:

答案 0 :(得分:4)

我认为你无法完全按照你的描述去做。 正如您所说,RANK()函数为您提供当前“分区”中的排名,即实际显示在仪表板上的数据。如果排除例如。等级为1的行,等级为2的行现在为1。

无法根据数据源中的排名计算此值(除非您在Tableau之外执行此操作)。

如果您的数据源中有排名,则可以创建一个包含4个不同表格的仪表板(全表,金额,等级,记录数),并根据第一个中的选择过滤最后3个。

作为一种解决方法,您可以在工具提示中显示这些值。

  • 使用公式[NumberofRecords]
  • 创建一个字段Size()
  • [NumberofRecords][Rank][Amount]放到工具提示架上
  • 随心所欲地组织它们

作为一个例子,它可能看起来像这样: enter image description here

答案 1 :(得分:3)

克里斯,

尝试使用INDEX()功能而不是RANK()。例如,如果您显示年份的结果,则您的32,500美元值可能会被列为123的123.当过滤到特定的日期时,该排名"排名"价值将在当天变为相应的排名。不确定这是否正是您所寻找的。这是关于该主题的教程视频。希望这会有所帮助。

Using Index for Rank in Tableau : Video Link

<强>更新

对于行和指标排名:

  • 将价格字段添加到行
  • 将价格字段更改为属性而不是度量
  • 让它谨慎
  • 点击“行”部分的“价格”字段,在下拉列表中选择&#34;快速表格计算&#34; &GT;等级

要验证数据,您可以在排名计算的右侧添加另一个离散维度价格字段。一切都应该按照预期在这里工作。

Dashboard With All Data

Dashboard With Data Filtered on Single Date

此外,我使用Tableau Superstore销售数据在以下链接中生成了一个快速示例。

Example Project Using Tableau Superstore Sales Data

埃里克