Tableau api Tableau中过滤与动态排序的结合

Tableau api Tableau中过滤与动态排序的结合,tableau-api,Tableau Api,我的问题如下:假设我有一个数据集,其中有4个字段 日期 类型 金额(公制1) 售价(指标2) 这4个字段显示在我的Tableau仪表板的表格中。当我单击表中的任何项目时,我希望顶部的文本显示表中两个指标的排名和指标的唯一计数以及它们的值 e、 g.“金额=32500:在342个中排名第4,售价=2.5美元:在6个中排名第2”(我只有6个不同的售价) 我还希望实现是动态的,因此当我按日期筛选时,结果将进行调整以适应,例如“金额=32500:10分之1,售价=2.5美元:4分之1” 我尝试过使用秩函

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

  • 日期
  • 类型
  • 金额(公制1)
  • 售价(指标2)
  • 这4个字段显示在我的Tableau仪表板的表格中。当我单击表中的任何项目时,我希望顶部的文本显示表中两个指标的排名和指标的唯一计数以及它们的值

    e、 g.“金额=32500:在342个中排名第4,售价=2.5美元:在6个中排名第2”(我只有6个不同的售价)

    我还希望实现是动态的,因此当我按日期筛选时,结果将进行调整以适应,例如“金额=32500:10分之1,售价=2.5美元:4分之1”

    我尝试过使用秩函数,但每当我单击表中的a行时,它就会有效地过滤掉所有其他数据,并将秩设置为1


    有什么方法可以做到这一点吗?

    我想你不能完全按照你所描述的去做。 正如您正确指出的那样,
    RANK()
    函数为您提供当前“分区”中的排名,即实际显示在仪表板上的数据。如果排除排名为1的行,排名为2的行现在将为1

    不可能根据数据源中的排名来计算(除非您在Tableau之外进行计算)

    如果数据源中有排名,则可以创建包含4个不同表(完整表、金额、排名、记录数)的仪表板,并根据第一个表中的选择筛选最后3个表

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

    • 使用公式
      Size()
    • [NumberofRecords]
      [Rank]
      [Amount]
      放到工具提示架上
    • 你想怎么组织就怎么组织
    例如,它可以如下所示: 克里斯

    尝试使用INDEX()功能而不是RANK()。例如,如果您显示年度结果,则您的$32500价值可能在1000中排名123。过滤到特定日期时,该“排名”值将在该日期内更改为其相应的排名。不确定这是否正是你想要的。这是一个关于这个主题的教程视频。希望这有帮助

    更新:

    对于行和度量排序:

    • 将价格字段添加到行中
    • 将价格字段更改为属性而不是度量值
    • 要谨慎
    • 单击行部分的价格字段,在下拉列表中选择“快速表格计算”>Rank
    为了验证数据,您可以在排名计算的右侧添加另一个离散维度价格字段。从这里开始,一切都应该按预期进行

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


    Eric

    当你说“保存在表中”时,你的意思是这就是数据源的结构,还是你在仪表板中创建了一个这样的表?谢谢你的回答。我指的是仪表板中的一张表。谢谢您的详细回复。不幸的是,Tableau没有考虑到这一点。使用DAX,简单的ALL()函数就可以做到这一点。目前,我已经硬编码了这些值(如您所建议的),但它并没有真正为最终用户提供我所追求的灵活性。虽然您关于工具提示显示的其他建议也可以,但我希望在我的仪表板顶部以大字体显示排名。我仪表盘上的桌子只占了一半。另一半将致力于四个关键绩效指标以及它们的适当等级,以给它们提供上下文。嘿,埃里克,对不起,我太简化了我的实际问题。虽然您提供的答案是正确的,但我希望对多个列执行此操作。我已经更新了问题以便更好地解释我的问题。克里斯,很抱歉耽搁了。。。糟糕的一周。请看我修改后的回复,它可以回答您的其他问题。嘿,埃里克,您发送的所有内容都是有意义的。非常感谢。拼图的最后一块是将这个等级传递到我的仪表板顶部,在那里我可以在桌子外面看到它。目前正在探索URL,以便与web容器结合使用。祝你好运…也许你想看看做一个计算字段,将包含你的动态排名的文本字符串连接起来。这样,您就可以从仪表板中引用该字段。祝你好运完全是这样,但是你是怎么做到的呢?我还没能在桌面上完成这项工作。我的头撞在墙上已经很久了。