Dynamic 表格标题显示单个状态或';美国';基于滤波器

Dynamic 表格标题显示单个状态或';美国';基于滤波器,dynamic,tableau-api,Dynamic,Tableau Api,我有一个图表,可以通过点击各个状态过滤到状态级别 当前标题编码为 <Sheet Name> : <ATTR(State)> 如果列表仅包含1个州,则计算字段将设置为与列表中的第一个州相等,否则为“美国” IF COUNTD([State]) = 1 THEN [State][1] ELSE "United States" END 但我在想该怎么办时遇到了一些困难。谢谢。您的[State]字段被列为属性聚合,这一事实导致了您看到的行为。聚合多个字符串始终会变成*。理想

我有一个图表,可以通过点击各个状态过滤到状态级别

当前标题编码为

<Sheet Name> : <ATTR(State)> 
如果列表仅包含1个州,则计算字段将设置为与列表中的第一个州相等,否则为“美国”

IF COUNTD([State]) = 1 THEN [State][1]
ELSE "United States"
END

但我在想该怎么办时遇到了一些困难。谢谢。

您的[State]字段被列为属性聚合,这一事实导致了您看到的行为。聚合多个字符串始终会变成*。理想情况下,您只需将工作表上的筛选器更改为[状态],而无需ATTR聚合,然后将标题更改为:

<Sheet Name> : <State> 

我确信有一个比较的LOD计算可以匹配上面的行为,但是LOD在过滤操作顺序上的操作不同。(LOD发生在过滤之前,表格计算发生在过滤之后。)对LOD的这种操作顺序可能会使事情变得更加困难,并且高度依赖于数据的结构。但这是可能的——如果做得正确,效率可能会更高

您的[State]字段被列为ATTR聚合的事实导致了您看到的行为。聚合多个字符串始终会变成*。理想情况下,您只需将工作表上的筛选器更改为[状态],而无需ATTR聚合,然后将标题更改为:

<Sheet Name> : <State> 

我确信有一个比较的LOD计算可以匹配上面的行为,但是LOD在过滤操作顺序上的操作不同。(LOD发生在过滤之前,表格计算发生在过滤之后。)对LOD的这种操作顺序可能会使事情变得更加困难,并且高度依赖于数据的结构。但这是可能的——如果做得正确,效率可能会更高

您可以将您的
ATTR([State])
计算包装在另一个中,并在标题中使用该计算:

IF ATTR([State]) = '*' THEN 'United States' ELSE ATTR([State]) END

您可以将您的
ATTR([State])
计算包装在另一个中,并在标题中使用该计算:

IF ATTR([State]) = '*' THEN 'United States' ELSE ATTR([State]) END

这对你有用吗?如果是,如果面临相同问题,请使用绿色勾选/勾选,以供其他人参考。如果你能自己解决问题,你能把答案放在这里吗?我很好奇。这对你有用吗?如果是,如果面临相同问题,请使用绿色勾选/勾选,以供其他人参考。如果你能自己解决问题,你能把答案放在这里吗?我很好奇。