在 Tableau 中突出显示关联字符串和字符串变量中的特定单词
Highlight Specific Word in Associated String and String Variable in Tableau
我的目标是为关联字符串中包含的关键字和整个字符串变量创建突出显示功能。
尝试 "contains" 功能后,尝试这些链接中包含的逻辑变体(第 1 - https://community.tableau.com/thread/214410, 2nd - https://community.tableau.com/message/846896#846896),并从 Tableau 支持部门收到他们不知道如何突出显示关键字的答复包含在其中,我想在放弃这个社区之前尝试一下 Stack OverFlow 社区。
为了说明,下面是一个 table 显示我的目标的矩阵,其中包含一个关键字和一个关联的字符串:
接下来显示 select 关键字的能力,然后在字符串变量的所有观察中突出显示该关键字:
我最接近的是下面的结果,其中仅突出显示关联的字符串及其整体,而不是更广泛的字符串变量和相关字符串中的关键字:
逻辑如下:
创建一个参数供用户输入他们的搜索关键字,并创建一个计算字段以查看该关键字是否包含在 Comment 字段中
为评论字段创建并显示荧光笔。
要使用参数来引起对使用颜色的评论的注意:
创建一个名为 "Search Keyword" 的参数,数据类型为字符串。 Select "All" 为允许值。
使用以下公式创建名为“匹配”或“颜色匹配”的计算字段:
CONTAINS([Key Words], [Search Keywords])
OR CONTAINS([Comments], [Search Keywords])
将这个计算字段拖到标记卡上的颜色上
右击参数,select》显示参数控件
输入要搜索的关键字并突出显示。
要使用荧光笔:
创建包含关键字和评论的仪表板后,导航至评论 sheet 和 select 荧光笔 > 评论的选项菜单
这现在显示一个 Highlight 控件,它将突出显示评论的行,而不是像参数那样更改文本颜色。
此选项也将允许点击关键字,但点击只会突出显示相应的评论,而不是所有包含该关键字的评论。
作为潜在的第三种选择,如果查看者只想看到匹配的单词而不是整个字符串,我们可以修改参数方法,在我们之前创建的计算字段中添加一个 IF 语句:
IF CONTAINS([Key Words], [Search Keywords])
OR CONTAINS([Comments], [Search Keywords])
THEN [Search Keywords]
END
您对如何调整我所拥有的,甚至采用不同的方法有什么建议吗?任何帮助将不胜感激
我相信您知道,Tableau 将为整个文本字符串着色,因为 CONTAINS 条件对整个字符串的结果为 TRUE。另一种方法可能是将数据重组为 'long' 格式,每个单词一行(如下所示)。
这样做将确保 Tableau 知道应该单独评估每个单词,并且颜色标记卡将对每个单词进行分区。然后,您可以像这样构建您的工作表。为了确保单词以正确的顺序显示,您需要一个计算字段来创建一个唯一的行(我调用了 sort_order right("000000" + str([sentence_id]),7) + right("000000" + str([Position]), 7)
。请注意,文本标记卡按 sort_order 还有你拖动 on/order 标记卡的顺序很重要
colour_keyword 公式就类似于 [word] = [Keyword Parameter]
(可能检查 upper/lowercase 变体)。
我建议维护您原来的 table 数据结构以及这种“长 table 格式和 link 通过关系(数据 > 编辑关系)的两个数据源并使用仪表板操作。这有望满足您的突出显示要求,并意味着减少其他工作表的返工。
我已将演示 tableau 工作簿发布到 tableau public here
我的目标是为关联字符串中包含的关键字和整个字符串变量创建突出显示功能。
尝试 "contains" 功能后,尝试这些链接中包含的逻辑变体(第 1 - https://community.tableau.com/thread/214410, 2nd - https://community.tableau.com/message/846896#846896),并从 Tableau 支持部门收到他们不知道如何突出显示关键字的答复包含在其中,我想在放弃这个社区之前尝试一下 Stack OverFlow 社区。
为了说明,下面是一个 table 显示我的目标的矩阵,其中包含一个关键字和一个关联的字符串:
接下来显示 select 关键字的能力,然后在字符串变量的所有观察中突出显示该关键字:
我最接近的是下面的结果,其中仅突出显示关联的字符串及其整体,而不是更广泛的字符串变量和相关字符串中的关键字:
逻辑如下:
创建一个参数供用户输入他们的搜索关键字,并创建一个计算字段以查看该关键字是否包含在 Comment 字段中 为评论字段创建并显示荧光笔。
要使用参数来引起对使用颜色的评论的注意: 创建一个名为 "Search Keyword" 的参数,数据类型为字符串。 Select "All" 为允许值。 使用以下公式创建名为“匹配”或“颜色匹配”的计算字段:
CONTAINS([Key Words], [Search Keywords])
OR CONTAINS([Comments], [Search Keywords])
将这个计算字段拖到标记卡上的颜色上 右击参数,select》显示参数控件 输入要搜索的关键字并突出显示。
要使用荧光笔: 创建包含关键字和评论的仪表板后,导航至评论 sheet 和 select 荧光笔 > 评论的选项菜单 这现在显示一个 Highlight 控件,它将突出显示评论的行,而不是像参数那样更改文本颜色。 此选项也将允许点击关键字,但点击只会突出显示相应的评论,而不是所有包含该关键字的评论。
作为潜在的第三种选择,如果查看者只想看到匹配的单词而不是整个字符串,我们可以修改参数方法,在我们之前创建的计算字段中添加一个 IF 语句:
IF CONTAINS([Key Words], [Search Keywords])
OR CONTAINS([Comments], [Search Keywords])
THEN [Search Keywords]
END
您对如何调整我所拥有的,甚至采用不同的方法有什么建议吗?任何帮助将不胜感激
我相信您知道,Tableau 将为整个文本字符串着色,因为 CONTAINS 条件对整个字符串的结果为 TRUE。另一种方法可能是将数据重组为 'long' 格式,每个单词一行(如下所示)。
这样做将确保 Tableau 知道应该单独评估每个单词,并且颜色标记卡将对每个单词进行分区。然后,您可以像这样构建您的工作表。为了确保单词以正确的顺序显示,您需要一个计算字段来创建一个唯一的行(我调用了 sort_order right("000000" + str([sentence_id]),7) + right("000000" + str([Position]), 7)
。请注意,文本标记卡按 sort_order 还有你拖动 on/order 标记卡的顺序很重要
colour_keyword 公式就类似于 [word] = [Keyword Parameter]
(可能检查 upper/lowercase 变体)。
我建议维护您原来的 table 数据结构以及这种“长 table 格式和 link 通过关系(数据 > 编辑关系)的两个数据源并使用仪表板操作。这有望满足您的突出显示要求,并意味着减少其他工作表的返工。
我已将演示 tableau 工作簿发布到 tableau public here