Tableau api 如何根据Tableau中的文本值对列的单元格进行颜色编码

Tableau api 如何根据Tableau中的文本值对列的单元格进行颜色编码,tableau-api,conditional-formatting,Tableau Api,Conditional Formatting,我是一个新的tableau开发者,试图开发一个基于表格的tableau报告。我在表中有一列名为“Status”,它基本上包含3个值“inprogress”、“Blocked”和“Completed”。我想根据这些文本值对该列的单元格进行颜色编码。我无法从tableau社区获得此信息,因此无法将其发布在此处。有人面临这个问题吗?请告诉我你是如何解决的 Raghu首先,画面并不出色。不要试图让Tableau像excel一样工作,您将错过Tableau带来的大部分功能,并使其像excel一样低效运行

我是一个新的tableau开发者,试图开发一个基于表格的tableau报告。我在表中有一列名为“Status”,它基本上包含3个值“inprogress”、“Blocked”和“Completed”。我想根据这些文本值对该列的单元格进行颜色编码。我无法从tableau社区获得此信息,因此无法将其发布在此处。有人面临这个问题吗?请告诉我你是如何解决的


Raghu

首先,画面并不出色。不要试图让Tableau像excel一样工作,您将错过Tableau带来的大部分功能,并使其像excel一样低效运行

话虽如此,让我给你一个选择。选择形状图表,而不是文本图表(这是您用来获取表格的内容)。这将在最后一列中添加球(但您可以选择所需的形状)

现在将状态拖到颜色,瞧,球会根据状态相应地绘制。您也可以自定义形状(只需将一些字段拖动到形状),并选择要为每个值指定的形状和颜色


这看起来更像一个“控制面板”,球的颜色有点像交通灯。你甚至可以导入一些交通灯的图片并将其用作形状,这可能很酷(如果使用得当)

我知道这篇文章已经有几年的历史了,但有一种方法可以做到这一点。在新的tableau工作簿中,从Excel导入数据(只有一列具有状态值)。使用名为“Status”的维度字段将表重命名为“Status Colors”。单击尺寸字段“状态”,然后选择默认属性>颜色。为每个数据项(值)指定颜色。对于自定义颜色(RGB、HTML等),双击值旁边的颜色并指定所需的颜色。单击“确定”,然后将数据源发布到服务器,并选中“包括外部文件”选项。
现在您有了一个Tableau数据源,可以将其作为数据添加到任何其他工作簿中,链接后,[Status color].[Status]可以用作任何图形上字段的颜色键。默认颜色存储在数据源中。如果您更新了彩色工作簿,那么它将更新使用此数据源的任何其他工作簿。

既然SO社区已将其放入活动线程中,让我提出一个答案。尽管如此,我完全同意我们不应该在Tableau中复制excel的功能,但这里有一个解决方法

  • 我用了一个像这样的虚拟数据

  • 通过以下计算创建一个计算字段,如
    状态cf
  • 再创建两个CFs,如
    1
    0
    ,在这些CFs中仅使用
    1
    0
    作为计算
  • dummy
    status
    拖到行架上<代码>求和(0)和
    求和(1)
    到列架
  • 状态cf
    拖动到
    总和(0)
    。在标记卡中编辑
    sum(0)
    ,类型为shape(square),并增加其大小。编辑计算中固定的颜色
  • 状态
    拖动到标记卡中的
    总和(1)
    中的
    标签
    。将类型更改为
    text
  • 将托架列中的两个度量值转换为双轴
  • 稍加格式化后,您将得到如下文本表

  • 您可以选择隐藏,
    status
    col in rows shelf

Color-->编辑颜色?
您的意思是必须根据状态值(文本)为条形图着色吗?@Y.Prithvi-否。我有一个excel表格,其中有一列称为“状态”。现在我正在复制Tableau中的同一个表。我只想根据“状态”列的文本值对其单元格进行颜色编码。是否为列的单元格添加颜色?你的意思是在数据源(.tde文件)中?需要,比如一列?我完全同意你的观点,tableau不应该像excel那样使用。然而,我的客户要求我准备此类报告。我跟随你的脚步。我正在把形状弄到所需的颜色。我需要整个单元格(连同文本)上色。谢谢你的建议,我理解。不要误解我的意思,当我说Tableau不是Excel时,我的意思是你不应该期望它做Excel能做的所有事情。如果您无法说服客户采取不同的方法(使用此报告,就像我建议的那样),我相信您必须告诉他,使用Tableau是无法实现的,您需要用Excel编写报告。
CASE [Status]
WHEN 'In Progress' THEN 'Yellow'
WHEN 'Completed' then 'Green'
WHEN 'Blocked' then 'Red'
END