本页面演示了如何在 dashboard.lkml 文件中使用 LookML 信息中心参数添加和自定义 type: looker_scatter 的 LookML 信息中心元素。
如需了解如何通过 Looker 界面构建散点图,请参阅散点图选项文档页面。
用法示例
## BASIC PARAMETERS
name: element_name
title: 'Element Title'
type: looker_scatter
height: N
width: N
top: N
left: N
row: N
col: N
refresh: N (seconds | minutes | hours | days)
note:
text: 'note text'
state: collapsed | expanded
display: above | below | hover
## QUERY PARAMETERS
model: model_name
explore: explore_name
dimensions: [view_name.field_name, view_name.field_name, …]
measures: [view_name.field_name, view_name.field_name, …]
sorts: [view_name.field_name asc | desc, view_name.field_name, …]
pivots: [view_name.field_name, view_name.field_name, …]
limit: N
column_limit: N
filters:
view_name.field_name: 'Looker filter expression' | 'filter value'
listen:
dashboard_filter_name: dimension_or_measure_name
query_timezone: 'specific timezone' | user_timezone
merged_queries:
- 'primary query definition'
- 'next source query definition'
join_fields:
- field_name: view_name.field_name
source_field_name: view_name.field_name
## PLOT PARAMETERS
stacking: normal | percent | ''
show_null_points: true | false
swap_axes: true | false
cluster_points: true | false
hide_legend: true | false
legend_position: center | left | right
hidden_fields: [view_name.field_name, view_name.field_name, …]
limit_displayed_rows: true | false
limit_displayed_rows_values:
show_hide: show | hide
first_last: first | last
num_rows: 'N'
quadrants_enabled: true | false
quadrant_properties:
'0':
color: ''
label: 'Quadrant 1 label'
'1':
color: ''
label: 'Quadrant 2 label'
'2':
color: ''
label: 'Quadrant 3 label'
'3':
color: ''
label: 'Quadrant 4 label'
custom_quadrant_point_x: 3
custom_quadrant_point_y: 6
custom_quadrant_value_x: 55
custom_quadrant_value_y: 40
## SERIES PARAMETERS
colors: [css_color, css_color, …]
show_view_names: true | false
point_style: none | circle | circle_outline
size_by_field: view_name.field_name
plot_size_by_field: true | false
series_colors:
series_name: css_color
# Possibly more series color assignments
series_labels:
'Series Name': desired series label
# Possibly more series label assignments
series_types:
series_name: column | line | area | scatter
# Possibly more series visualization assignments
series_point_styles:
series_name: square | diamond | triangle | triangle-down | auto
## VALUE PARAMETERS
show_value_labels: true | false
custom_value_label_column: default | series_name
label_color: [css_color, css_color, …]
font_size: Npx
label_value_format: 'value formatting string'
hidden_series: [series_name, series_name, …]
## X-AXIS PARAMETERS
x_axis_scale: auto | linear | ordinal | time
x_axis_reversed: true | false
show_x_axis_label: true | false
x_axis_label: desired x-axis label
show_x_axis_ticks: true | false
x_axis_gridlines: true | false
x_axis_label_rotation: N
x_axis_datetime_label: 'time formatting string'
x_axis_zoom: true | false
## Y-AXIS PARAMETERS
y_axis_gridlines: true | false
y_axis_reversed: true | false
reference_lines:
# reference line options
y_axis_zoom: true | false
## ADVANCED VISUALIZATION CONFIGURATION PARAMETERS
advanced_vis_config: 'Highcharts JSON snippet'
参数定义
| 参数名称 | 说明 | |
|---|---|---|
| 基本参数 | ||
name(适用于元素) |
创建元素 | |
title(适用于元素) |
更改元素名称向用户的显示方式 | |
type(适用于元素) |
确定要在元素中使用的可视化图表类型 | |
height(适用于元素) |
以 tile_size 为单位定义 layout: tile 和 layout: static 信息中心内元素的高度 |
|
width(适用于元素) |
以 tile_size 为单位定义 layout: tile 和 layout: static 信息中心内元素的宽度 |
|
top |
定义元素在 layout: static 信息中心内从上到下的位置,以 tile_size 为单位 |
|
left |
以 tile_size 为单位定义元素在 layout: static 信息中心内从左到右的位置 |
|
row |
定义 layout: newspaper 信息中心内元素从上到下的位置(以行为单位) |
|
col |
以列为单位定义 layout: newspaper 信息中心内元素的从左到右位置 |
|
refresh(适用于元素) |
设置元素自动刷新的间隔 | |
note |
开始 LookML 部分,以定义元素的备注。此参数具有子参数 text、state 和 display。 |
|
| 查询参数 | ||
model |
定义要用于元素查询的模型 | |
explore(适用于元素) |
定义要用于元素查询的探索 | |
dimensions |
定义要用于元素查询的维度 | |
measures |
定义要用于元素查询的测量 | |
sorts |
定义要用于元素查询的排序 | |
pivots |
定义应透视以用于元素查询的维度 | |
limit |
定义要用于元素查询的行数上限 | |
filters(适用于元素) |
定义无法为元素查询更改的过滤条件 | |
listen |
定义可以为元素的查询更改的过滤条件(如果已创建 filters [针对信息中心]) |
|
query_timezone |
定义运行查询时应使用的时区 | |
merged_queries |
定义合并结果查询 | |
| 绘图参数 | ||
stacking |
将系列堆叠在一起,以创建堆叠图表 | |
show_null_points |
指定是否绘制具有 null 值的点 | |
swap_axes |
反转图表上的 X 轴和 Y 轴 | |
cluster_points |
将大量数据值分组到聚类中 | |
hide_legend |
隐藏图表图例 | |
legend_position |
指定图例是显示在图表的左侧、中间还是右侧 | |
hidden_fields |
指定要在查询中使用但在图表中隐藏的所有字段 | |
limit_displayed_rows |
根据行在结果中的位置,在可视化图表中显示或隐藏行 | |
limit_displayed_rows_values |
指定要在可视化图表中显示或隐藏的行。此参数具有子参数 show_hide、first_last 和 num_rows。 |
|
quadrants_enabled |
向 type: looker_scatter 的信息中心元素添加象限线 |
|
custom_quadrant_point_x |
定义垂直象限线的位置 | |
custom_quadrant_point_y |
定义水平象限线的位置 | |
custom_quadrant_value_x |
根据 X 轴上的值定义垂直象限线的位置 | |
custom_quadrant_value_y |
根据 y 轴上的值定义水平象限线的位置 | |
| 系列参数 | ||
colors |
根据图表系列出现的顺序设置其颜色 | |
show_view_names |
在图表标签中隐藏视图名称 | |
point_style |
指定数据点的显示方式 | |
size_by_field |
根据特定字段调整图表中所有点的大小 | |
plot_size_by_field |
设置是否单独绘制用于确定点大小的字段 | |
series_colors |
根据系列名称设置图表系列的颜色 | |
series_labels |
更改系列名称向用户显示的方式 | |
series_types |
通过为每个系列定义类型来混合可视化图表类型 | |
series_point_styles |
指定图表点的形状 | |
| 值参数 | ||
show_value_labels |
在数据点旁边显示标签 | |
custom_value_label_column |
设置当 show_value_labels 设为 true 时,将用作数据点值标签的字段 |
|
label_color |
指定以逗号分隔的颜色值列表 | |
font_size |
设置值标签的字体大小 | |
label_value_format |
为值标签指定 Excel 式格式 | |
hidden_series |
在元素加载时隐藏图表系列 | |
| X 轴参数 | ||
x_axis_scale |
指定 X 轴刻度的计算方式 | |
x_axis_reversed |
指定 X 轴的方向 | |
show_x_axis_label |
隐藏 X 轴标签 | |
x_axis_label |
定义自定义 X 轴标签 | |
show_x_axis_ticks |
在 X 轴上显示刻度线 | |
x_axis_gridlines |
从 X 轴延伸网格线 | |
x_axis_label_rotation |
将 X 轴标签旋转一定角度 | |
x_axis_datetime_label |
为 x 轴标签(如果是日期)定义格式字符串 | |
x_axis_zoom |
指定是否允许沿 X 轴缩放 | |
| Y 轴参数 | ||
y_axis_gridlines |
从 Y 轴延伸网格线 | |
y_axis_reversed |
设置 X 轴的方向 | |
reference_lines |
向图表添加参考线 | |
y_axis_zoom |
指定是否允许沿 Y 轴缩放。如果 x_axis_zoom: false,则停用。 |
|
| 高级可视化图表配置参数 | ||
advanced_viz_config |
接受可替换多项可视化设置的 HighCharts JSON 代码段 | |
基本参数
定义 LookML 信息中心元素时,您必须至少为 name 和 type 基本参数指定值。其他基本参数(例如 title、height 和 width)会影响元素在信息中心内的外观和位置。
name
本部分介绍
name参数,该参数是信息中心元素的一部分。
name也可以用作信息中心过滤条件的一部分,如信息中心参数文档页面中所述。
每个 name 声明都会创建一个新的信息中心元素并为其分配一个名称。
元素名称必须是唯一的。当您使用 layout: grid 信息中心时,有时会在 elements 参数中引用名称;当您将元素整理到图块组 (type: group) 中时,有时会在子元素的 group 参数中引用名称。
- name: orders_by_date
title
本部分介绍
title参数,该参数是信息中心元素的一部分。
title也可以用作信息中心的一部分,如信息中心参数文档页面中所述。
title也可以用作信息中心过滤条件的一部分,如信息中心参数文档页面中所述。
借助 title 参数,您可以更改元素名称向用户显示的方式。如果未指定,标题默认为元素 name。
请参考下面的示例:
- name: sales_overview
title: '1) Sales Overview'
如果您使用此格式,则该元素不会显示为销售概览,而是显示为1) 销售概览。
type
本部分介绍
type参数,该参数是信息中心元素的一部分。
type也可以用作信息中心过滤条件的一部分,如信息中心参数文档页面中所述。
type也可以用作联接的一部分,如type(用于联接)参数文档页面中所述。
type也可以用作维度的一部分,如维度、过滤条件和参数类型文档页面中所述。
type也可以用作测量的一部分,如测量类型文档页面中所述。
type 参数用于确定要在元素中使用的可视化图表类型。
- name: element_name
type: text | looker_grid | table | single_value | looker_single_record |
looker_column | looker_bar | looker_scatter | looker_line | looker_area |
looker_pie | looker_donut_multiples | looker_funnel | looker_timeline |
looker_map | looker_google_map | looker_geo_coordinates | looker_geo_choropleth |
looker_waterfall | looker_wordcloud | looker_boxplot | button | group
如需简要了解不同类型的 LookML 信息中心元素,请参阅 type(适用于 LookML 信息中心)文档页面。
height
本部分介绍
height参数,该参数是信息中心元素的一部分。
height也可以用作信息中心行的一部分,如信息中心参数文档页面中所述。
对于采用 tile 或 static 布局的信息中心
height 参数用于定义元素的高度,单位为 tile_size(以像素为单位),适用于 layout: tile 和 layout: static 信息中心。
例如,以下代码指定了 tile_size: 100 和 height: 4,使 orders_by_date 元素的高度为 400 像素。
- dashboard: sales_overview
tile_size: 100
...
elements:
- name: orders_by_date
height: 4
...
对于采用 newspaper 布局的信息中心
height 参数以行为单位定义 layout: newspaper 信息中心内元素的高度。
采用报纸布局的信息中心默认元素高度为 6 行,即大约 300 像素。对于 preferred viewer 参数设置为 dashboards-next 的信息中心,最小高度为 1 行。对于 preferred viewer 参数设置为 dashboards 的信息中心,最小高度为 2 行。
例如,以下代码会将一个元素设置为 12 行高,即其他设置为默认值的元素的两倍高:
- dashboard: sales_overview
layout: newspaper
...
elements:
- name: orders_by_date
height: 12
...
width
本部分介绍
width参数,该参数是信息中心元素的一部分。
width也可以用作信息中心的一部分,如信息中心参数文档页面中所述。
width 参数用于定义 layout: tile 和 layout: static 信息中心内元素的宽度,单位为 tile_size。
例如,以下代码指定了 tile_size: 100 和 width: 4,使 orders_by_date 元素的宽度为 400 像素。
- dashboard: sales_overview
tile_size: 100
...
elements:
- name: orders_by_date
width: 4
...
width 参数用于定义 layout: newspaper 信息中心内元素的宽度(以列为单位)。
采用报纸布局的信息中心默认宽度为 24 列。
例如,以下代码会将元素设置为信息中心宽度的一半:
- dashboard: sales_overview
layout: newspaper
...
elements:
- name: orders_by_date
width: 12
...
top
top 参数定义元素从上到下的位置,单位为 tile_size,适用于 layout: static 信息中心。
例如,以下代码指定了 tile_size: 100 和 top: 4,将 orders_by_date 元素的上边缘定位在距离信息中心顶部 400 像素的位置。
- dashboard: sales_overview
tile_size: 100
...
elements:
- name: orders_by_date
top: 4
...
left
left 参数用于定义元素在 layout: static 信息中心内从左到右的位置,以 tile_size 为单位。
例如,以下代码指定了 tile_size: 100 和 left: 4,将 orders_by_date 元素的左边缘定位在距离信息中心左侧 400 像素的位置。
- dashboard: sales_overview
tile_size: 100
...
elements:
- name: orders_by_date
left: 4
...
row
对于 layout: newspaper 信息中心,row 参数定义元素上边缘所在的行。如果使用 group 参数将元素放置在图块组内,则 row 会定义元素相对于组容器 (row: 0) 顶部的行位置。
信息中心从顶部的第 0 行开始。采用报纸布局的信息中心默认元素高度为 6 行,这意味着信息中心顶部的元素 (row: 0) 默认会占用第 0-5 行。
每行高 50 像素,这意味着默认元素高度(6 行)为 300 像素。
例如,以下代码会将一个元素设置为位于信息中心内的第二行元素中(假设元素设置为默认高度):
- dashboard: sales_overview
layout: newspaper
...
elements:
- name: orders_by_date
row: 6
...
col
对于 layout: newspaper 信息中心,col 参数定义元素左边缘所在的列。如果使用 group 参数将元素放置在图块组内,则 col 会定义元素相对于组容器 (col: 0) 左边缘的列位置。
信息中心分为 24 列。信息中心从左侧的第 0 列开始。采用报纸布局的信息中心默认元素宽度为 8 列,这意味着信息中心左侧的信息中心元素 (col: 0) 默认会占用第 0-7 列。
例如,以下代码会将一个元素设置为信息中心内第三列元素:
- dashboard: sales_overview
layout: newspaper
...
elements:
- name: orders_by_date
col: 16
...
refresh
本部分介绍
refresh参数,该参数是信息中心元素的一部分。
refresh也可以用作信息中心的一部分,如信息中心参数文档页面中所述。
refresh 参数允许元素定期自动重新加载,从而检索最新数据。这在持续显示信息中心的环境中(例如在办公室电视上)通常很有用。请注意,信息中心必须在浏览器窗口中打开,此参数才能生效。此设置不会在后台运行以“预热”信息中心缓存。
刷新频率可以是任意秒数、分钟数、小时数或天数(不含小数)。例如:
- name: orders_by_date
refresh: 2 hours
设置较短的刷新间隔时,请务必谨慎。如果元素背后的查询需要大量资源,某些元素可能会给数据库带来超出预期的压力。
note
您可以向元素添加说明性备注,如下所示:
- name: element_name
note:
text: 'note text'
state: collapsed | expanded
display: above | below | hover
note 具有子参数 text、state 和 display。
text
text 子参数用于指定备注中显示的文本。文本可以本地化。
state
state 子参数决定了当备注过大而无法在元素宽度内单行显示时,是collapsed还是expanded。如果您选择 collapsed,并且备注过长,则备注末尾会显示一个可点击的省略号 (...),点击该省略号即可阅读完整备注。
display
display 子参数决定了备注在元素上的显示位置。above 会将备注放在元素顶部,below 会将备注放在元素底部,hover 则需要用户将鼠标悬停在元素上才能看到备注。
查询参数
定义 LookML 信息中心元素时,您必须至少为 model 和 explore 查询参数指定值,并且必须使用 dimensions 参数或 measures 参数至少指定一个字段。您还可以使用其他查询参数来控制数据在信息中心元素中的显示方式。
model
model 参数定义要用于元素查询的模型。如果未指定,则默认为信息中心所在的模型。
- name: orders_by_date
model: ecommerce
model 参数接受 LookML 常量。您可以在项目的清单文件中定义一个常量,然后使用语法 "@{constant_name}" 将该常量设置为 model 的值。使用常量可让您在一个位置定义模型名称,如果您要更新多个信息中心元素所使用的模型名称,此功能尤为实用。
如需详细了解如何将常量与 LookML 信息中心搭配使用,并查看相关示例,请参阅 constant 参数文档页面。
explore
本部分介绍
explore参数,该参数是信息中心元素的一部分。
explore也可以用作模型的一部分,如explore参数文档页面中所述。
explore也可以用作信息中心过滤条件的一部分,如信息中心参数文档页面中所述。
explore 参数定义了要用于元素查询的探索。
- name: orders_by_date
explore: order
explore 参数接受 LookML 常量。您可以在项目的清单文件中定义一个常量,然后使用语法 "@{constant_name}" 将该常量设置为 explore 的值。使用常量可让您在一个位置定义探索的名称,如果您要更新多个信息中心元素使用的探索的名称,这会特别有用。
如需详细了解如何将常量与 LookML 信息中心搭配使用,并查看相关示例,请参阅 constant 参数文档页面。
dimensions
dimensions 参数定义要用于元素查询的一个或多个维度。使用语法 view_name.dimension_name 指定维度。如果查询没有任何 dimensions,请勿添加。
## single dimension example
- name: orders_by_date
dimensions: order.order_date
## multiple dimension example
- name: orders_by_date
dimensions: [order.order_date, customer.name]
measures
measures 参数定义要用于元素查询的一个或多个测量。使用语法 view_name.measure_name 指定测量。如果查询没有任何 measures,请勿添加。
## single measure example
- name: orders_by_date
measures: order.count
## multiple measure example
- name: orders_by_date
measures: [order.count, order_item.count]
sorts
sorts 参数用于定义元素查询的排序行为。先列出主要排序字段,然后列出所有次要排序字段。使用 view_name.field_name 语法指定要作为排序依据的维度或测量。
如果您省略 sorts 参数,该元素将使用 Looker 的默认排序顺序。升序排序不需要后缀,而降序排序需要 desc 后缀。
以下示例定义了单个排序:
- name: orders_by_date
sorts: order.order_date desc
以下示例定义了多个排序:
- name: orders_by_date
sorts: [order.order_date desc, customer.name]
如果您透视维度,则可以通过指定测量名称、排序方向和数据表中目标列的从 0 开始的索引编号来对查询结果进行排序。例如,以下元素使用索引 0 按第一个透视列排序:
- name: orders_by_category
sorts: [orders.count desc 0]
如需按行总计排序,请指定总计列的索引。例如,以下元素使用索引 2 按行总计排序,该索引表示具有两个透视列的查询的总计列:
- name: orders_by_cohort
sorts: [users.count desc 2]
pivots
pivots 参数定义了应针对元素查询进行透视的维度。使用语法 view_name.dimension_name 指定维度。如果查询没有任何 pivots,请勿添加。
## single pivot example
- name: orders_by_date
pivots: customer.gender
## multiple pivot example
- name: orders_by_date
pivots: [customer.gender, customer.age_tier]
limit
limit 参数定义了元素查询应使用的行数限制。此限制适用于应用任何透视之前的行数。
- name: orders_by_date
limit: 100
filters
本部分介绍
filters参数,该参数是信息中心元素的一部分。
filters也可以用作信息中心的一部分,如信息中心参数文档页面中所述。
filters也可以用作测量的一部分,如filters参数文档页面中所述。
filters 参数定义了应用于元素查询的不可更改的过滤条件。如果您希望用户可以在信息中心内更改过滤条件,则应使用filters(针对信息中心)设置过滤条件,然后使用 listen 将其应用于元素。
filters 的语法为:
- name: element_name
filters:
orders.created_date: 2020/01/10 for 3 days
orders.status: Shipped
# You can create multiple filter statements
每个过滤条件都可以接受 Looker 过滤表达式或值常量。您还可以在过滤表达式中使用 _localization 或 _user_attributes Liquid 变量,以实现灵活的过滤值。
listen
借助信息中心过滤条件,查看者可以交互式地优化信息中心元素中显示的数据。使用 filters 参数为 LookML 信息中心定义信息中心过滤条件。然后,使用 listen 参数将信息中心元素关联到信息中心过滤条件。
listen 的语法如下所示:
- name: element_name
listen:
filter_name_goes_here: dimension or measure on which to apply
the filter using view_name.field_name syntax
# You can add more than one listen statement
向元素添加 listen 参数,然后使用 view_name.field_name 语法提供过滤条件的名称,后跟英文冒号和对过滤条件应应用到的字段的引用。例如,您可以创建一个名为日期的过滤条件,要求用户在界面的过滤条件字段中输入日期。然后,您可以将用户输入的值应用于 orders_by_date 元素,如下所示:
- dashboard: sales_overview
...
filters:
- name: date
type: date_filter
elements:
- name: orders_by_date
listen:
date: order.order_date
...
如果所监听的过滤条件配置了 vis_filter: true 参数,则过滤条件控件会直接显示在该可视化图表图块顶部的过滤条件栏中,而不是显示在顶部信息中心过滤条件栏中。
如需查看使用 filters 参数和 listen 参数将信息中心过滤条件应用于各个信息中心元素的其他示例,请参阅构建 LookML 信息中心。
query_timezone
query_timezone 参数指定运行查询的时区。时区选项显示在timezone 的值文档页面上。如果您希望查询使用查看者的时区运行,可以将该值指定为 user_timezone。
- name: orders_by_date
query_timezone: America/Los Angeles
- name: orders_by_customer
query_timezone: user_timezone
merged_queries
借助 merged_queries 参数,您可以将多个查询的结果合并到一个信息中心元素中。在元素的 merged_queries 参数中定义每个源查询,并使用 join_fields 子参数指定应如何合并结果。
以下 LookML 示例代码创建了一个合并结果元素 type: looker_grid。在此示例中,merged_queries 参数用于创建一个信息中心元素,该元素将两个单独查询中的数据合并到一个表格图表中:
- name: merged_results_element
title: Merged Results Tile
type: looker_grid
merged_queries:
- model: ecommerce
explore: users
type: table
fields: [users.state, users.count, users.city]
sorts: [users.count desc 0]
limit: 5000
column_limit: 50
query_timezone: UTC
listen:
- State: users.state
- model: ecommerce
explore: users
type: table
fields: [users.state, users.city]
sorts: [users.state]
limit: 500
column_limit: 50
query_timezone: UTC
join_fields:
- field_name: users.state
source_field_name: users.state
- field_name: users.city
source_field_name: users.city
listen:
- State: users.state
在此示例中,信息中心元素合并了两个源查询中的数据,这两个源查询基于 ecommerce 模型中的 users 探索。主查询包含 users.state、users.count 和 users.city 字段,并按 users.count 字段对结果进行排序。第二个源查询包含 users.state 和 users.city 字段,并按 users.state 字段对结果进行排序。
join_field 参数会根据 users.state 和 users.city 字段中的匹配值合并源查询。
listen 参数会将 State 过滤条件应用于这两个查询,这样信息中心查看者就可以通过选择特定州来优化信息中心图块中显示的查询结果。
示例:合并公司数据
假设您要创建一个合并查询,用于合并来自两个不同探索(company_info 和 companies)的公司信息。您希望将每个探索中的 ipo.stock_symbol、companies.name 和 companies.contact_email 字段上的查询联接起来,以创建一个查询,用于返回公司名称、公司联系电子邮件、IPO 年份、股票代码、员工人数和职位数量。您可以在 LookML 中定义合并查询元素,如下所示:
- name: merged_results_element
title: Merged Results Tile
merged_queries:
- model: market_research
explore: company_info
fields: [companies.name, companies.contact_email, ipo.public_year, ipo.stock_symbol]
filters:
companies.contact_email: "-NULL"
ipo.valuation_amount: NOT NULL
sorts: [ipo.public_year desc]
- model: company_data
explore: companies
fields: [companies.name, ipo.stock_symbol, companies.contact_email,
companies.number_of_employees, jobs.job_count]
filters:
companies.number_of_employees: NOT NULL
ipo.stock_symbol: "-NULL"
companies.contact_email: "-NULL"
sorts: [jobs.job_count desc]
join_fields:
- field_name: ipo.stock_symbol
source_field_name: ipo.stock_symbol
- field_name: companies.name
source_field_name: companies.name
- field_name: companies.contact_email
source_field_name: companies.contact_email
对合并的查询元素应用过滤条件
前面的合并查询元素示例演示了如何使用 filters 参数直接在每个源查询中应用硬编码过滤条件。例如,主查询中的过滤条件 companies.contact_email: "-NULL" 和 ipo.valuation_amount: NOT NULL 会将结果限制为具有有效联系电子邮件地址和估值的公司。这些查询级过滤条件会在合并查询之前预过滤数据,用户无法更改。
您还可以通过在每个来源查询的定义中使用 listen 参数,将信息中心过滤条件应用于合并查询元素。例如,假设您有一个名为 Industry 的信息中心过滤条件,该过滤条件是您在信息中心级别使用 filters 参数为 LookML 信息中心定义的:
filters:
- name: Industry
title: Industry
type: field_filter
ui_config:
type: dropdown_menu
display: inline
model: market_research
explore: company_info
field: companies.industry
如需将 Industry 过滤条件应用于两个源查询中的 companies.industry 字段,请将 listen 参数添加到每个合并查询的源查询定义中,如下所示:
listen:
Industry: companies.industry
例如,以下示例代码会将 Industry 过滤条件添加到上一个示例中合并结果元素内的两个源查询。
- name: merged_results_element
title: Merged Results Tile
merged_queries:
- model: market_research
explore: company_info
fields: [companies.name, companies.contact_email, ipo.public_year, ipo.stock_symbol]
filters:
companies.contact_email: "-NULL"
ipo.valuation_amount: NOT NULL
sorts: [ipo.public_year desc]
listen:
Industry: companies.industry
- model: company_data
explore: companies
fields: [companies.name, ipo.stock_symbol, companies.contact_email,
companies.number_of_employees, jobs.job_count]
filters:
companies.number_of_employees: NOT NULL
ipo.stock_symbol: "-NULL"
companies.contact_email: "-NULL"
sorts: [jobs.job_count desc]
join_fields:
- field_name: ipo.stock_symbol
source_field_name: ipo.stock_symbol
- field_name: companies.name
source_field_name: companies.name
- field_name: companies.contact_email
source_field_name: companies.contact_email
listen:
Industry: companies.industry
添加此参数后,当用户与 Industry 信息中心过滤条件互动时,合并查询元素中的相应来源查询也会相应地进行过滤。
绘图参数
本部分中介绍的大多数参数都对应于散点图可视化图表编辑器的绘制部分中的选项。
stacking
stacking 参数指定了系列在图表上的视觉聚类方式。
normal:将条形、折线和点堆叠在一起,就像在普通堆叠柱形图中一样。percent:堆叠条形、线条和点,使图表填充率达到 100%,并将 y 轴值设置为百分比。'':条形、折线和点不堆叠,而是分组。
stacking: normal | percent | ''
## default value: ''
show_null_points
show_null_points 参数决定是否绘制具有 null 值的点。如果设置为 true,则 null 值会在 y 轴上绘制为零。如果设置为 false,则根本不会绘制 null 值,图表会在 null 值前后的点之间绘制一条直线。如果您希望图表针对 null 值显示空白,请考虑使用 discontinuous_nulls: true。
show_null_points: true | false
## default value: true
swap_axes
交换正常配置中的 x 轴和 y 轴。交换轴后,维度将绘制在 y 轴上,测量将绘制在 x 轴上。
swap_axes: true | false
## default value: false
cluster_points
当 cluster_points 参数设置为 true 时,Looker 会将密集聚集的数据点分组为数据值块。聚类上的数字表示其包含的数据点数量。查看散点图可视化图表时,用户可以选择特定的数据聚类,以查看该聚类中包含的各个数据点。
cluster_points: true | false
hide_legend
此声明将从可视化图表中隐藏图例。
hide_legend: true | false
## default value: false
legend_position
如果 hide_legend 设置为 false(并且有多个系列),您可以使用 legend_position 参数指定系列图例是显示在图表的左侧、中间还是右侧。
legend_position: center | left | right
## default value: false
hidden_fields
hidden_fields 参数指示查询中使用了哪些字段(如果有),但在图表中隐藏了这些字段。所有隐藏字段都会显示在“探索”的数据表部分中。
hidden_fields: [inventory_items.count, distribution_centers.id]
limit_displayed_rows
借助 limit_displayed_rows 参数,您可以根据行在结果中的位置,在可视化图表中显示或隐藏行。例如,如果可视化图表显示 7 天滚动平均值,您可能需要隐藏前 6 行。如果将此参数设置为 true,您可以使用 limit_displays_rows_values 参数及其子参数指定此参数适用的可视化图表中的值和位置。
limit_displayed_rows: true
limit_displayed_rows_values:
show_hide: hide | show
first_last: first | last
num_rows: '10'
limit_displayed_rows_values
将 limit_displayed_rows_values 参数及其子参数 show_hide、first_last 和 num_rows 与 limit_displayed_rows 搭配使用,可指定要在可视化图表中显示或隐藏的行。如需查看用法示例,请参阅 limit_displayed_rows 部分。
show_hide
show_hide 子参数用于设置是否在可视化图表中隐藏特定行。将 show_hide 设置为 show,以便在可视化图表中仅显示有限数量的行;将 show_hide 设置为 hide,以便从可视化图表中排除某些行。
first_last
first_last 子参数用于设置要隐藏或显示的行是结果集中的前几行还是后几行。将 first_last 设置为 first 会显示或隐藏前几行,而将 first_last 设置为 last 会显示或隐藏最后几行。
num_rows
num_rows 子参数用于设置要隐藏或显示的行数。例如,num_rows: '10' 将在可视化图表中显示或隐藏结果集的前 10 行或后 10 行。
quadrants_enabled
借助 quadrants_enabled 参数,您可以向 type: looker_scatter 的信息中心元素添加象限线。
您可以使用 custom_quadrant_point_x 和 custom_quadrant_point_y 参数或 custom_quadrant_value_x 和 custom_quadrant_value_y 参数来定义垂直和水平象限线的位置,还可以使用 quadrant_properties 参数来自定义每个象限的背景颜色和标签。
quadrants_enabled: true
quadrant_properties:
'0':
color: ''
label: 'Quadrant 1 label'
'1':
color: ''
label: 'Quadrant 2 label'
'2':
color: ''
label: 'Quadrant 3 label'
'3':
color: ''
label: 'Quadrant 4 label'
custom_quadrant_point_x
您可以使用 custom_quadrant_point_x 参数来定义垂直象限线的位置。将 custom_quadrant_point_x 参数设置为 1 到 9 之间的值(含边界值)。默认值为 5,这会将线条置于可视化图表的中心。
custom_quadrant_point_x: 6
custom_quadrant_point_y
您可以使用 custom_quadrant_point_y 参数来定义水平象限线的位置。将 custom_quadrant_point_y 参数设置为 1 到 9 之间的值(含边界值)。默认值为 5,这会将线条置于可视化图表的中心。
custom_quadrant_point_y: 2
custom_quadrant_value_x
您可以使用 custom_quadrant_value_x 参数将垂直象限线设置为可视化图表 X 轴上特定数值的位置。如果您为 custom_quadrant_value_x 指定了值,该值会覆盖为 custom_quadrant_point_x 参数提供的任何值。
custom_quadrant_value_x: 55
custom_quadrant_value_y
您可以使用 custom_quadrant_value_y 参数将垂直象限线设置为可视化图表 y 轴上特定数值的位置。如果您为 custom_quadrant_value_y 指定了值,则该值会覆盖为 custom_quadrant_point_y 参数提供的任何值。
custom_quadrant_value_y: 40
quadrant_properties
当 quadrants_enabled 参数设置为 true 时,您可以使用 quadrants_properties 参数为四个象限中的每个象限定义自定义标签和背景颜色。如需使用 quadrant_properties 参数为每个象限定义自定义颜色或标签,请使用 color 参数和 label 参数,并为每个象限指定适当的数字:
'0':第一象限'1':第二象限'2':第三象限'3':第四象限
例如,以下 LookML 会将第一象限的颜色设置为十六进制代码 #EDEDED,并将向用户显示的标签更改为 First Quadrant。
quadrant_properties:
'0':
color: '#EDEDED'
label: 'First Quadrant'
系列参数
本部分中介绍的参数对应于散点图可视化图表编辑器序列部分中的选项。
colors
colors 参数用于指定系列的颜色列表。列表中的第一个颜色对应于第一个数据系列。如果系列数量多于所列颜色数量,则颜色将从头开始循环。
colors: [blue, orange, yellow, red, purple]
对于指定颜色的所有图表属性,颜色值可以采用十六进制字符串(例如 #2ca6cd)或 CSS 具名颜色字符串(例如 mediumblue)。
show_view_names
show_view_names 参数决定了是否在图表标签(例如轴名称和列名称)中显示视图名称。
show_view_names: true | false
## default value: true
point_style
point_style 参数指定数据点的显示方式。您可以使用以下选项:
none:适用于折线图和面积图。积分未显示。circle:显示实心圆。circle_outline:显示空心圆圈。
size_by_field
为 size_by_field 指定字段后,图表上的所有点都会按所选字段调整大小。除非 plot_size_by_field 设置为 true,否则该字段将不再单独绘制在图表上。如果点的大小由某个字段决定,图例中会显示一个键,指明点的大小由哪个字段决定。
如果数据表包含透视,并且还包含透视之外的测量,则 size_by_field 参数不可用。例如,如果您的表格包含使用 pivot_index 函数的表计算,则 size_by_field 将不可用。
size_by_field: order_items.id
plot_size_by_field
为 size_by_field 指定字段时,可以使用 plot_size_by_field 参数。此参数决定了用于确定点大小的字段是否也单独绘制。默认设置为 false,表示不绘制该字段。当此参数设置为 true 时,图表上会显示表示该字段的其他点。
series_colors
使用 name: value 对,根据系列名称设置系列的颜色。
对于透视图表,系列名称即为透视名称。
series_colors:
'Yes': skyblue
'No': '#000000'
对于包含多个测量值的图表,系列名称即为测量值字段名称。
series_colors:
inventory_items.count: crimson
orders.count: green
如果系列名称未在 series_colors 中列出,图表将默认使用 colors 中提供的颜色列表。如果未设置 colors,图表将回退到默认配色方案。
series_labels
使用 name: label 对,根据系列名称设置一个或多个系列的标签。
对于透视图表,系列名称即为透视名称。
series_labels:
'Yes': iOS Users
'No': Android Users
对于包含多个测量值的图表,系列名称即为测量值字段名称。
series_labels:
inventory_items.count: Inventory
orders.count: Orders
series_types
借助 series_type 参数,您可以在同一可视化图表中使用不同的笛卡尔图表类型。使用此参数可为要更改的每个系列分配图表类型。类型选项包括 line、column、bar、area 和 scatter。
series_types:
series_a_name: column
series_b_name: line
所有系列均默认采用您选择的初始图表类型;之后,您可以修改各个系列。
series_point_styles
指定折线图、面积图或散点图系列类型的图表点形状。series_point_styles 可设置为 square、diamond、triangle、triangle-down 或 auto。
series_point_styles:
users.count: triangle
值参数
本部分中介绍的参数对应于散点图可视化编辑器值部分中的选项。
show_value_labels
在数据点旁边显示条形、折线或点的值。
show_value_labels: true | false
## default value: false
custom_value_label_column
当 show_value_labels 参数设置为 true 时,custom_value_label_column 参数处于启用状态。
使用 custom_value_label_column 参数自定义要用作图表值标签的维度。使用 view_name.field_name 格式为其分配维度。
custom_value_label_column: default | products.category
如果未设置此参数,则值标签的默认值为正在绘制的测量。
如需了解详情和示例,请参阅散点图选项文档页面。
labelColor
如果 labelColorEnabled 设置为 true,请使用 labelColor 参数为标签和百分比指定自定义颜色。labelPosition 设置为 inline 的标签将以所选颜色显示,而图表两侧的标签将比所选颜色深约 40%。
labelColor: "#4FBC89"
font_size
使用任何有效的 CSS 大小(例如 10px 或 12px)设置值标签的字号。
font_size: 14px
label_value_format
label_value_format 参数指定要应用于值的格式,而不管应用于底层维度或测量值的任何格式。该字段接受 Excel 式格式。如果未指定 label_value_format,则值将以底层维度或测量值的格式显示。
如需了解如何指定这些格式,请参阅向数字字段添加自定义格式文档页面。不过,Looker 不支持颜色格式。
label_value_formatLookML 信息中心参数中使用的格式与value_formatLookML 参数中使用的格式相同,只是value_formatLookML 参数要求格式字符串用英文双引号括起来。
label_value_format: '0.00'
hidden_series
hidden_series 参数用于指定图表中要停用的序列,这意味着该序列会显示在图表图例中,但会灰显。用户可以通过在图表图例中点击已停用的系列来启用这些系列。因此,hidden_series 可能无法按预期与 hide_legend: true 搭配使用。
对于透视图表,系列名称即为透视名称:
hidden_series: ['Yes', 'No']
对于包含多个测量值的图表,系列名称是测量值字段名称:
hidden_series: [inventory_items.count, orders.count]
与 show_silhouette 参数搭配使用时,您可以指定是否在图表中以浅色阴影表示已停用的序列。
X 轴参数
本部分中介绍的参数对应于散点图可视化编辑器中 X 部分的选项。
x_axis_scale
此参数决定了 X 轴刻度的计算方式。
auto:系统将根据底层数据推断比例。这是默认设置。linear:刻度将绘制为线性数值数据。如果底层数据无法转换为数字,则此方法将不起作用。ordinal:数据将绘制为等间距的离散条目。time:数据将绘制为时间,并且轴将带有适当的标签。如果基础数据无法转换为日期,则此操作将不起作用。
x_axis_scale: auto | linear | ordinal | time
## default value: auto
x_axis_reversed
此参数用于设置 X 轴的方向。当 x_axis_reversed 设置为 false 时,值从左到右递增。如果设置为 true,则值会从左到右递减。
x_axis_reversed: true | false
show_x_axis_label
此参数决定是否在 X 轴上显示标签。
show_x_axis_label: true | false
## default value: true
x_axis_label
此参数用于指定 X 轴的标签。当 show_x_axis_label 设置为 true 时,您可以使用此参数。
x_axis_label: Order Date
show_x_axis_ticks
此参数决定是否在 X 轴上显示值标签。
show_x_axis_ticks: true | false
## default value: true
x_axis_gridlines
此参数决定了是否从 X 轴延伸网格线。
x_axis_gridlines: true | false
## default value: false
x_axis_label_rotation
x_axis_label_rotation 参数定义 x 轴标签的旋转角度。此参数接受 -360 到 360 之间的值,表示标签旋转的角度。
x_axis_label_rotation: -45
x_axis_datetime_label
此参数用于指定 X 轴标签(如果为日期)的格式字符串。如果 x_axis_scale 未设置为 time,则此操作不会执行任何操作。
x_axis_datetime_label: '%b %d'
如需了解如何设置时间格式,请参阅图表的时间格式设置文档页面。
x_axis_zoom
此参数用于指定用户是否可以放大可视化图表的 X 轴。当 x_axis_zoom 设置为 true 时,可以进行缩放。当 x_axis_zoom 设置为 false 时,缩放功能不可用。
如果 x_axis_zoom 设置为 false,则 y_axis_zoom 会停用。
x_axis_zoom: true | false
# default value: true
Y 轴参数
正在建设中:我们正在努力更新此部分页面。同时,您可以查看散点图选项文档页面,了解 y 轴的等效可视化菜单选项。
本部分中介绍的参数对应于散点图可视化编辑器 Y 部分中的选项。
y_axis_gridlines
此参数决定了是否从 y 轴延伸网格线。
y_axis_gridlines: true | false
## default value: true
y_axis_reversed
此参数用于设置 y 轴的方向。如果 y_axis_reversed 设置为 false,则值会沿轴向上增加。如果设置为 true,则值会沿轴向下递减。
## y_axis_reversed: true | false
# default value: false
reference_lines
此参数用于指定一个值数组,以指定参考线和区域。
如需了解如何设置参考线,请参阅信息中心参考线参数文档页面。
reference_lines:
# reference line options
y_axis_zoom
此参数用于指定用户是否可以放大可视化图表的 Y 轴。当 y_axis_zoom 设置为 true 时,可以进行缩放。
如果 y_axis_zoom 设为 false,用户将无法放大 y 轴的较小部分。不过,如果 x_axis_zoom 参数设置为 true,用户可能仍可以放大 x 轴的较小部分。
如果 x_axis_zoom 设置为 false,则 y_axis_zoom 会停用。
y_axis_zoom: true | false
# default value: true
高级可视化图表配置
本部分中介绍的参数对应于可选的图表配置替换项,您可以通过点击可视化编辑器图表部分中的修改图表配置按钮,将这些替换项应用于图表。
advanced_vis_config
此参数接受 HighCharts JSON 代码段,该代码段会覆盖多项可视化设置并开启新功能。如需查看使用 HighCharts JSON 实现常见用例的示例,请参阅使用图表配置编辑器自定义可视化图表文档页面。
advanced_vis_config: "{ series: [{ formatters: [{ select: 'value >= 50', style: { color: 'orange' } }]}]}"
# This example changes the color to orange for any series value that is greater than or equal to 50.
# default value: null