充分利用 Looker 可视化图表手册:条件格式自定义

通过直观地突出显示符合(或不符合)特定条件的值,用户可以快速识别数据趋势。在 Excel 或其他电子表格应用中,这种模式通常称为条件格式。

例如,本页面直接在可视化设置中使用条件格式部分中的表格可视化图表可帮助用户识别用户增长可能为正或负的位置:

Looker 支持通过以下几种不同方式在可视化图表中使用条件格式:

  • 使用表计算和表情符号。如果需要直接在 Looker 探索中创建用于确定格式设置的条件,则此方法非常理想。请参阅使用表计算的条件格式最佳实践页面,了解如何通过表计算对可视化图表应用自定义格式。
  • 使用文本和表格图表可视化设置中的内置选项。
  • 使用 html LookML 参数。如果给定字段在不同分析中的格式设置条件一致,则此方法非常适合用于设置值的格式。

本实战宝典提供了后两种方法的教程:

使用可视化设置的条件格式

您可以使用可视化设置在表格图表、单值可视化图表和单记录可视化图表中应用条件格式。

本部分提供了在表格图表中使用条件格式的指南,其中使用了可视化图表修改菜单中提供的可视化图表设置。

如需了解在单值可视化图表中进行条件格式设置的分步指南,请参阅 Looker Cookbook 中的“充分利用可视化图表”一文中的使用单值可视化图表呈现大量信息。

食材

前提条件

如需创建包含条件格式的表格可视化图表,您需要满足以下要求:

示例

营销团队希望查看每月的新用户数量(按年龄层细分),以便更好地了解用户对每月发布的营销诉求的反应。

表格可视化图表和“探索”数据表,其中显示了按“用户创建月份”分组依据并按 8 个“用户年龄层”列(10-19、20-29、30-39,直至 80 及以上)透视的“用户数”。

部分用户可能难以解析默认的表格可视化图表。您可以在可视化设置中使用条件格式,将值与目标或设定的规则进行比较和对比,从而帮助用户更清楚地理解数据。

在此示例中,营销团队希望将表中的值与以下条件进行比较:

  • 正增长(绿色)- 新用户数达到 50 或以上的月份和年龄段
  • 平均增长(黄色)- 新用户数量在 25 到 50 之间的月份和年龄层
  • 增长不佳(红色)- 新用户数不超过 24 人的月份和年龄层

如需使用可视化图表的修改菜单中的设置对表格可视化图表应用条件格式,请完成以下步骤:

  1. 打开可视化栏上的修改菜单。
  2. 根据需要从绘图标签页中选择任意表格样式选项,包括使用表格主题下拉菜单选择表格主题,或通过选择或取消选择显示行号切换开关来选择是否显示行号。
  3. 在图表标签页上,选择单元格可视化选项将其停用。必须停用单元格可视化,才能对表格值应用条件格式。
  4. 在格式设置标签页上,选择启用条件格式切换开关,以启用条件格式并访问条件格式设置。
    • 您还可以从格式标签页颜色部分的集合下拉菜单中选择调色板,并在自定义部分的行字段中自定义行大小(以像素为单位),以及在标题字段中自定义列标题文本对齐方式、字号和颜色。
    • 在此示例中,包括 Null 值(作为零)选项处于选中状态,因此所有 null 值都会被视为 0。
  5. 创建条件格式规则。您可以选择添加规则按钮,根据需要添加任意数量的条件格式规则。
    • 从应用于下拉菜单中,选择要应用于规则的值。
  6. 从格式下拉菜单中,选择要应用于规则的格式。 * 您可以选择保留默认的沿刻度格式。系统会根据您选择的调色板和值设置,以渐变方式突出显示值。如需详细了解如何使用色阶进行颜色编码,请参阅表格图表选项文档页面中的条件格式部分。

    • 根据需要为每条规则指定背景颜色、字体颜色和字体样式的值。请务必考虑色彩对比度,以确保内容的无障碍性。
    • 在本示例中,创建了三条规则:

      • 格式选项如果值大于 49,并选择了绿色的背景颜色选项。
      • 格式选项如果值介于 24 和 50 之间,并选择了黄色背景颜色选项。
      • 格式选项如果值小于 25,并选择了红色的背景颜色选项。

生成的可视化图表会根据营销团队指定的条件,显示每个年龄层列中的用户数量:

  • 正增长(绿色)- 新用户数达到 50 或以上的月份和年龄段
  • 平均增长(黄色)- 新用户数量在 25 到 50 之间的月份和年龄层
  • 增长不佳(红色)- 新用户数不超过 24 人的月份和年龄层

使用 html 参数在 LookML 中设置条件格式

除了使用可视化图表修改菜单设置之外,您还可以直接在字段的 LookML 中对条件格式进行硬编码。这对于在给定字段的分析中保持一致的条件格式非常有用,因为它避免了为单个查询重新配置可视化设置的需要。

食材

  • Liquid 变量 - Liquid 变量会结合指定的 HTML 格式呈现字段的值。
  • html 参数 - 编码到字段的 html 参数中的 HTML 样式将在探索的数据表和可视化图表中呈现。
  • 表格可视化图表 - 条件格式将显示在可视化图表中。

前提条件

在 html 参数中对条件格式进行硬编码需要满足以下条件:

  • 创建探索的权限。
  • 拥有开发 LookML 的权限,并熟悉 SQL 和 LookML 开发。
  • 具备在 Looker 中使用 Liquid 的基础知识,以及 HTML 编码基础知识。如需了解必要的背景信息,请参阅 html 文档页面中的在 html 参数中使用 Liquid 变量部分。
  • 保存内容的权限(如果您想将可视化图表保存为 Look 或信息中心)

示例

假设您的数据中有一个名为 status 的字段,用于显示每个订单的状态。status 的可能值如下:

  • “cancelled”
  • “complete”
  • “待处理”

如需向查看包含状态字段的查询结果的用户突出显示订单状态,您可以添加独特的背景颜色来突出显示每种状态。

如需将条件格式编码到 LookML 字段中,请执行以下操作:

dimension: status {
  type: string
  sql: ${TABLE}.status ;;
  html:
    {% if value == 'complete' %}
      <p style="color: black; background-color: lightgreen;">{{ value }}</p>
    {% elsif value == 'pending' %}
      <p style="color: black; background-color: orange;">{{ value }}</p>
    {% else %}
      <p style="color: white; background-color: red;">{{ value }}</p>
    {% endif %}
  ;;
  description: "The current status of an existing order."
}
  1. 在开发模式下,前往要添加条件格式的 LookML 字段。
  2. 向该字段添加 html 参数。在本例中,该字段为 status。
  3. 在 html 参数中,使用 Liquid 标记语法创建一个表达式,用于为字段的特定值设置条件。
  4. 保存、验证代码,并在确认代码按预期运行后将其推送到生产环境。

结果是,在包含该字段的任何 Looker 查询结果中,Status 值会以红色、绿色或橙色突出显示,具体取决于状态。

表可视化图表,显示按订单状态分组的订单数,其中“已取消”为红色,“已完成”为绿色,“待处理”为橙色。

其他图表也会显示背景颜色。例如,如果查询按订单状态对订单数量进行分组,则柱形图会显示每个订单状态值的编码背景颜色。

其他样式

您可以使用与上一个示例相同的语法,根据字段值添加图标或图片。以下示例为“已取消”的订单状态添加红色“x”对勾图标,为“已完成”的订单状态添加绿色对勾图标,为“待处理”的订单状态添加时钟图标:

    dimension: status {
      type: string
      sql: ${TABLE}.status ;;
      html:
        {% if value == 'complete' %}
          <p><img src="https://findicons.com/files/icons/573/must_have/48/check.png" height=20 width=20>{{ rvalue }}</p>
        {% elsif value == 'pending' %}
          <p><img src="https://findicons.com/files/icons/1681/siena/128/clock_blue.png" height=20 width=20>{{ value }}</p>
        {% else %}
           <p><img src="https://findicons.com/files/icons/719/crystal_clear_actions/64/cancel.png" height=20 width=20>{{ value }}</p>
        {% endif %}
      ;;
      description: "The current status of an existing order."
    }

在包含该字段的任何 Looker 查询结果中,结果都是状态值,其旁边会显示红色 x 图标、绿色对勾图标或时钟图标(具体取决于状态)。

后续步骤

创建好采用条件格式的表格可视化图表后,您可以与他人分享: