Esta página demonstra como adicionar e personalizar um elemento do painel LookML de type: looker_pie
com parâmetros do painel LookML em um arquivo dashboard.lkml
.
Para informações sobre como criar um gráfico de pizza usando a IU do Looker, consulte a página de documentação Opções de gráfico de pizza.
Exemplo de uso
## BASIC PARAMETERS
name: element_name
title: 'Element Title'
type: looker_pie
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
measures: view_name.field_name
sorts: [view_name.field_name asc | desc, 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
value_labels: none | legend | labels
label_type: lab | val | labVal | per | labPer
inner_radius: N
hidden_fields: [view_name.field_name, view_name.field_name, …]
## SERIES PARAMETERS
colors: [css_color, css_color, …]
series_colors:
series_name: css_color
# Possibly more series color assignments
series_labels:
'Series Name': desired series label
# Possibly more series label assignments
Definições de parâmetro
Nome do parâmetro | Descrição | |
---|---|---|
Parâmetros básicos | ||
name (para elementos) |
Cria um elemento | |
title (para elementos) |
Altera a forma como o nome de um elemento aparece para os usuários | |
type (para elementos) |
Determina o tipo de visualização a ser usado no elemento | |
height (para elementos) |
Define a altura de um elemento em unidades de tile_size para painéis layout: tile e layout: static . |
|
width (para elementos) |
Define a largura de um elemento em unidades de tile_size para painéis layout: tile e layout: static . |
|
top |
Define a posição de cima para baixo de um elemento em unidades de tile_size para painéis do layout: static . |
|
left |
Define a posição da esquerda para a direita de um elemento em unidades de tile_size para painéis do layout: static . |
|
row |
Define a posição de cima para baixo de um elemento em unidades de linhas para painéis layout: newspaper . |
|
col |
Define a posição da esquerda para a direita de um elemento em unidades de colunas para painéis layout: newspaper . |
|
refresh (para elementos) |
Define o intervalo em que o elemento será atualizado automaticamente | |
note |
Inicia uma seção de LookML para definir a nota de um elemento. Esse parâmetro tem os subparâmetros text , state e display . |
|
Query Parameters | ||
model |
Define o modelo a ser usado para a consulta do elemento | |
explore (para elementos) |
Define o Explore a ser usado para a consulta do elemento | |
dimensions |
Define as dimensões a serem usadas para a consulta do elemento | |
measures |
Define as medidas a serem usadas para a consulta do elemento | |
sorts |
Define as classificações a serem usadas para a consulta do elemento | |
limit |
Define o limite de linha que será usado para a consulta do elemento | |
filters (para elementos) |
Define os filtros que não podem ser alterados para a consulta do elemento. | |
listen |
Define os filtros que podem ser alterados para a consulta do elemento, se filters (para painel) tiver sido criado. |
|
query_timezone |
Define o fuso horário que deve ser usado quando a consulta é executada | |
merged_queries |
Definir uma consulta de resultados mesclados. | |
Parâmetros do gráfico | ||
value_labels |
Altera como as seções individuais de um gráfico de pizza são rotuladas | |
label_type |
Personaliza o formato dos rótulos que marcam as diferentes seções de um gráfico de pizza | |
inner_radius |
Determina o raio interno de um gráfico de pizza e o transforma em um gráfico de rosca | |
hidden_fields |
Especifica todos os campos que serão usados na consulta, mas ficarão ocultos no gráfico | |
Parâmetros da série | ||
colors |
Define as cores da série do gráfico com base na ordem em que a série aparece | |
series_colors |
Define as cores da série do gráfico com base no nome da série | |
series_labels |
Muda a forma como o nome de uma série aparece para os usuários |
Parâmetros básicos
Ao definir um elemento do painel LookML, você precisa especificar valores para pelo menos os parâmetros básicos name
e type
. Outros parâmetros básicos, como title
, height
e width
, afetam a aparência e a posição de um elemento em um painel.
name
Esta seção se refere ao parâmetro
name
que faz parte de um elemento do painel.
name
também pode ser usado como parte de um filtro do painel, descrito na página de documentação de Parâmetros do painel.
Cada declaração name
cria um novo elemento do painel e atribui um nome a ele. Os nomes dos elementos precisam ser exclusivos. Às vezes, os nomes são referenciados no parâmetro elements
quando você usa painéis do layout: grid
.
- name: orders_by_date
title
Esta seção se refere ao parâmetro
title
que faz parte de um elemento do painel.
title
também pode ser usado como parte de um painel, descrito na página de documentação Parâmetros do painel.
title
também pode ser usado como parte de um filtro do painel, descrito na página de documentação de Parâmetros do painel.
O parâmetro title
permite mudar a forma como o nome de um elemento aparece para os usuários. Se não for especificado, o título será definido por padrão para o elemento name
.
Veja este exemplo:
- name: sales_overview
title: '1) Sales Overview'
Se você usar esse formato, em vez do elemento exibido como Visão geral de vendas, ele vai aparecer como 1) Visão geral de vendas.
type
Esta seção se refere ao parâmetro
type
que faz parte de um elemento do painel.
type
também pode ser usado como parte de um filtro do painel, descrito na página de documentação de Parâmetros do painel.O
type
também pode ser usado como parte de uma mesclagem, descrita na página de documentação do parâmetrotype
(para mesclagens).
type
também pode ser usado como parte de uma dimensão, descrita na página de documentação Tipos de dimensões, filtros e parâmetros.
type
também pode ser usado como parte de uma medida, descrita na página de documentação Tipos de medida.
O parâmetro type
determina o tipo de visualização a ser usado no elemento.
- 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
Consulte a página de documentação type
(para painéis do LookML) para ter uma visão geral dos diferentes tipos de elementos do painel do LookML.
height
Esta seção se refere ao parâmetro
height
que faz parte de um elemento do painel.
height
também pode ser usado como parte de uma linha do painel, descrita na página Parâmetros do painel.
Para painéis com layouts tile
ou static
O parâmetro height
define a altura de um elemento, em unidades de tile_size
(que é definida em pixels), para os painéis layout: tile
e layout: static
.
Por exemplo, o código a seguir especifica tile_size: 100
e height: 4
, fazendo com que o elemento orders_by_date
tenha 400 pixels de altura.
- dashboard: sales_overview
tile_size: 100
...
elements:
- name: orders_by_date
height: 4
...
Para painéis com layout newspaper
O parâmetro height
define a altura de um elemento, em unidades de row, para os painéis layout: newspaper
.
Um painel com layout de jornal é padronizado com uma altura de elemento de 6 linhas, ou cerca de 300 pixels. A altura mínima é de uma linha para painéis com um parâmetro preferred viewer
definido como dashboards-next
. A altura mínima é de duas linhas para painéis com um parâmetro preferred viewer
definido como dashboards
.
Por exemplo, o código a seguir define um elemento com 12 linhas de altura ou duas vezes mais alto do que outros elementos definidos como padrão:
- dashboard: sales_overview
layout: newspaper
...
elements:
- name: orders_by_date
height: 12
...
width
Esta seção se refere ao parâmetro
width
que faz parte de um elemento do painel.
width
também pode ser usado como parte de um painel, descrito na página de documentação Parâmetros do painel.
O parâmetro width
define a largura de um elemento, em unidades de tile_size
, para painéis layout: tile
e layout: static
.
Por exemplo, o código a seguir especifica tile_size: 100
e width: 4
, tornando o elemento orders_by_date
com 400 pixels de largura.
- dashboard: sales_overview
tile_size: 100
...
elements:
- name: orders_by_date
width: 4
...
O parâmetro width
define a largura de um elemento, em unidades de colunas, para os painéis layout: newspaper
.
Um painel com layout de jornal tem como padrão uma largura de 24 colunas.
Por exemplo, o código abaixo define o elemento como metade da largura do painel:
- dashboard: sales_overview
layout: newspaper
...
elements:
- name: orders_by_date
width: 12
...
top
O parâmetro top
define a posição de cima para baixo de um elemento, em unidades de tile_size
, para painéis layout: static
.
Por exemplo, o código a seguir especifica tile_size: 100
e top: 4
, posicionando a borda de cima do elemento orders_by_date
a 400 pixels da parte de cima do painel.
- dashboard: sales_overview
tile_size: 100
...
elements:
- name: orders_by_date
top: 4
...
left
O parâmetro left
define a posição da esquerda para a direita de um elemento, em unidades de tile_size
, para painéis layout: static
.
Por exemplo, o código a seguir especifica tile_size: 100
e left: 4
, posicionando a borda esquerda do elemento orders_by_date
a 400 pixels do lado esquerdo do painel.
- dashboard: sales_overview
tile_size: 100
...
elements:
- name: orders_by_date
left: 4
...
row
Para painéis layout: newspaper
, o parâmetro row
define a linha em que a borda superior de um elemento é colocada.
Um painel começa com a linha 0 na parte superior do painel. Por padrão, um painel com layout de jornal tem altura padrão de seis linhas, ou seja, os elementos da parte de cima do painel (row: 0
) ocupam as linhas de 0 a 5 por padrão.
Cada linha tem 50 pixels de altura, o que significa que a altura padrão do elemento de 6 linhas é 300 pixels.
Por exemplo, o código a seguir define um elemento a ser definido na segunda linha no painel, desde que os elementos estejam na altura padrão:
- dashboard: sales_overview
layout: newspaper
...
elements:
- name: orders_by_date
row: 6
...
col
Nos painéis layout: newspaper
, o parâmetro col
define a coluna em que a borda esquerda do elemento é colocada.
Os painéis são divididos em 24 colunas. Um painel começa com a coluna 0 à esquerda do painel. Um painel com layout de jornal tem como padrão uma largura de elemento de oito colunas, ou seja, os elementos do painel à esquerda de um painel (col: 0
) assumem, por padrão, as colunas de 0 a 7.
Por exemplo, o código a seguir define um elemento a ser definido na terceira coluna de elementos do painel:
- dashboard: sales_overview
layout: newspaper
...
elements:
- name: orders_by_date
col: 16
...
refresh
Esta seção se refere ao parâmetro
refresh
que faz parte de um elemento do painel.
refresh
também pode ser usado como parte de um painel, descrito na página de documentação Parâmetros do painel.
O parâmetro refresh
permite que um elemento seja recarregado automaticamente de forma periódica, recuperando novos dados. Isso geralmente é útil em configurações em que um painel é exibido constantemente, como em uma TV do escritório. O painel precisa estar aberto em uma janela do navegador para que esse parâmetro tenha efeito. Essa configuração não é executada em segundo plano para "pré-aquecer" o cache do painel.
A taxa de atualização pode ser qualquer número (sem decimais) de segundos, minutos, horas ou dias. Exemplo:
- name: orders_by_date
refresh: 2 hours
Tenha cuidado ao definir intervalos curtos de atualização. Se a consulta por trás do elemento usar muitos recursos, alguns elementos poderão sobrecarregar seu banco de dados mais do que o desejado.
note
É possível adicionar notas descritivas a elementos como estes:
- name: element_name
note:
text: 'note text'
state: collapsed | expanded
display: above | below | hover
note
tem os subparâmetros text
, state
e display
.
text
O subparâmetro text
especifica o texto exibido na observação. O texto pode ser localizado.
state
O subparâmetro state
determina se a observação será collapsed
ou expanded
se for muito grande para caber em uma única linha dentro da largura do elemento. Se você escolher collapsed
e a nota for muito longa, ela terminará em reticências clicáveis (...
) que poderão ser usadas para ler a nota completa.
display
O subparâmetro display
determina onde a nota é exibida em um elemento. above
coloca a anotação na parte de cima de um elemento, below
coloca-a na parte de baixo de um elemento e hover
exige que o usuário passe o cursor sobre o elemento para ver a nota.
Parâmetros de consulta
Ao definir um elemento do painel LookML, você precisa especificar valores para pelo menos os parâmetros de consulta model
e explore
, bem como uma dimensão e uma medida usando os parâmetros dimensions
e measures
. Também é possível usar os outros parâmetros de consulta descritos abaixo para controlar a forma como os dados são exibidos em um elemento do painel.
model
O parâmetro model
define o modelo a ser usado para a consulta do elemento. Se não for especificado, o padrão será o modelo do painel.
- name: orders_by_date
model: ecommerce
O parâmetro model
aceita constantes LookLook. Você pode definir uma constante no arquivo de manifesto do seu projeto e usar a sintaxe "@{constant_name}"
para definir a constante como o valor de model
. Usar uma constante permite definir o nome de um modelo em um lugar, o que é útil principalmente se você estiver atualizando o nome de um modelo usado por vários elementos do painel.
Para ver mais informações e um exemplo do uso de constantes com painéis LookML, consulte a página de documentação de parâmetros constant
.
explore
Esta seção se refere ao parâmetro
explore
que faz parte de um elemento do painel.O
explore
também pode ser usado como parte de um modelo, descrito na página de documentação do parâmetroexplore
.
explore
também pode ser usado como parte de um filtro do painel, descrito na página de documentação de Parâmetros do painel.
O parâmetro explore
define o recurso Explorar a ser usado na consulta do elemento.
- name: orders_by_date
explore: order
O parâmetro explore
aceita constantes LookLook. Você pode definir uma constante no arquivo de manifesto do seu projeto e usar a sintaxe "@{constant_name}"
para definir a constante como o valor de explore
. Usar uma constante permite definir o nome de um recurso Explorar em um só lugar, o que é útil principalmente se você estiver atualizando o nome de um elemento Explorar usado por vários elementos do painel.
Para ver mais informações e um exemplo do uso de constantes com painéis LookML, consulte a página de documentação de parâmetros constant
.
dimensions
O parâmetro dimensions
define as dimensões a serem usadas para a consulta de elemento. Use a sintaxe view_name.dimension_name
para especificar a dimensão. Não inclua dimensions
se a consulta não tiver nenhum.
## 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
O parâmetro measures
define as medidas a serem usadas na consulta do elemento. Use a sintaxe view_name.measure_name
para especificar a medida. Não inclua measures
se a consulta não tiver nenhum.
## single measure example
- name: orders_by_date
measures: order.count
## multiple measure example
- name: orders_by_date
measures: [order.count, order_item.count]
sorts
O parâmetro sorts
define as classificações a serem usadas para a consulta do elemento. A classificação principal é listada primeiro, depois a secundária, e assim por diante. Use a sintaxe view_name.field_name
para especificar a dimensão ou medida. Não inclua sorts
se quiser usar a ordem de classificação padrão do Looker. As classificações decrescentes têm o sufixo desc
. As classificações crescentes não precisam de sufixo.
## single sort example
- name: orders_by_date
sorts: order.order_date desc
## multiple sort example
- name: orders_by_date
sorts: [order.order_date desc, customer.name]
limit
O parâmetro limit
define o limite de linha que será usado para a consulta do elemento. O limite se aplica ao número de linhas antes da aplicação de tabelas dinâmicas.
- name: orders_by_date
limit: 100
filters
Esta seção se refere ao parâmetro
filters
que faz parte de um elemento do painel.
filters
também pode ser usado como parte de um painel, descrito na página de documentação Parâmetros do painel.O
filters
também pode ser usado como parte de uma medida, descrita na página de documentação do parâmetrofilters
.
O parâmetro filters
define os filtros não alteráveis que precisam ser usados para a consulta do elemento. Se você quiser mudar os filtros que um usuário pode alterar no painel, configure os filtros usando filters
para painéis e aplique-os aos elementos usando listen
.
A sintaxe de filters
é:
- name: element_name
filters:
orders.created_date: 2020/01/10 for 3 days
orders.status: Shipped
# You can create multiple filter statements
Cada filtro pode aceitar uma expressão de filtro ou uma constante de valor do Looker. Você também pode usar as variáveis líquidas _localization
ou _user_attributes
na expressão de filtro para os valores de filtro flexíveis.
listen
Os painéis podem ter filtros que permitem aos usuários alterar os dados por trás dos elementos do painel. Isso é configurado com o parâmetro filters
para painéis. Para que um filtro afete um elemento, ele precisa ser configurado para "detectar" esse filtro usando o parâmetro listen
.
A sintaxe de 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
Por exemplo, você pode criar um filtro chamado Data, que exija que o usuário insira uma data no campo "Filtro" na IU. Em seguida, aplique o valor inserido pelo usuário ao elemento orders_by_date
desta forma:
- dashboard: sales_overview
...
filters:
- name: date
type: date_filter
elements:
- name: orders_by_date
listen:
date: order.order_date
...
Esse conceito é descrito em mais detalhes na página Como criar painéis do LookML.
query_timezone
O parâmetro query_timezone
especifica o fuso horário em que a consulta será executada. As opções de fuso horário são mostradas na página de documentação Valores para timezone
. Se você quiser que a consulta seja executada usando o fuso horário do visualizador, atribua o valor como user_timezone
.
- name: orders_by_date
query_timezone: America/Los Angeles
- name: orders_by_customer
query_timezone: user_timezone
merged_queries
O parâmetro merged_queries
define como mesclar resultados de várias consultas. Defina as consultas do componente no parâmetro merged_queries
e use o subparâmetro join_fields
para definir as regras de combinação.
A sintaxe de merged_queries
é:
merged_queries:
- 'primary query definition'
- 'next source query definition'
join_fields:
- field_name: 'field from the source query using the view_name.field_name syntax'
source_field_name: 'joined field from the primary query using the
view_name.field_name syntax'
# more join_fields definitions as needed
- 'next source query definition'
join_fields:
- field_name: view_name.field_name
source_field_name: view_name.field_name
# more join_fields definitions as needed
# additional source queries and join_fields definitions as needed
A primeira consulta definida em merged_results
é a consulta principal, e as outras serão mescladas com ela.
Por exemplo, ao mesclar o símbolo de ação, o nome da empresa e o nome de usuário do Twitter, você pode mesclar duas consultas para retornar resultados por nome da empresa, nome de usuário do Twitter da empresa, ano do IPO, símbolo de ação, número de funcionários e número de vagas:
- name: merged_results_element
title: Merged Results Tile
merged_queries:
- model: market_research
explore: company_info
fields: [company.name, company.twitter_username, ipo.public_year, ipo.stock_symbol]
filters:
company.twitter_username: "-NULL"
ipo.valuation_amount: NOT NULL
sorts: [ipo.public_year desc]
- model: crunchbase
explore: companies
fields: [companies.name, ipo.stock_symbol, companies.twitter_username,
companies.number_of_employees, jobs.job_count]
filters:
companies.number_of_employees: NOT NULL
ipo.stock_symbol: "-NULL"
companies.twitter_username: "-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: company.name
- field_name: companies.twitter_username
source_field_name: company.twitter_username
Os resultados dos dados seriam formatados da seguinte forma:
Em seguida, aplique os parâmetros de elemento para definir o estilo da visualização como quiser.
Parâmetros do gráfico
A maioria dos parâmetros descritos nesta seção corresponde às opções na seção Traçar do editor de visualização para gráficos de pizza.
value_labels
O parâmetro value_labels
para elementos do painel do type: looker_pie
permite mudar a forma como as seções individuais dos gráficos de pizza são rotuladas para os usuários finais. Há três tipos de rótulos individuais:
none
: as etiquetas e a legenda não aparecem.legend
: a opção padrão. A legenda é exibida na parte inferior da visualização.labels
: exibe linhas que marcam as seções individuais do gráfico de pizza. É possível personalizar as informações exibidas ao lado dessas linhas especificando um tipo de rótulo usando o parâmetrolabel_type
.
label_type
Com o parâmetro label_type
, é possível personalizar o formato das etiquetas que marcam as seções do gráfico de pizza. Para usar o label_type
, o value_type
precisa ser definido como labels
. É possível personalizar os rótulos de várias maneiras:
lab
: exibe o nome da série.val
: exibe o valor numérico associado à fatia de pizza.labVal
: exibe primeiro o nome da série em negrito, depois o valor numérico.per
: exibe a porcentagem da fração da pizza como parte do total dela.labPer
: exibe primeiro o nome da série em negrito, depois a porcentagem.
inner_radius
Este parâmetro determina o raio interno de um gráfico de pizza, o que o transforma em um gráfico de rosca. A porcentagem fornecida representa a parte do raio que será tomada pelo "buraco" do gráfico de rosca.
inner_radius: 50
## default value: 0
hidden_fields
O parâmetro hidden_fields
indica quais campos, se houver, são usados na consulta, mas ocultos no gráfico. Todos os campos ocultos serão exibidos na seção da tabela de dados de uma exploração.
hidden_fields: [inventory_items.count, distribution_centers.id]
Parâmetros da série
Os parâmetros descritos nesta seção correspondem às opções na seção Série do editor de visualização para gráficos de pizza.
colors
O parâmetro colors
especifica uma lista de cores para a série. A primeira cor da lista corresponde à primeira série de dados. Se houver mais séries do que as cores listadas, elas começarão novamente no início.
colors: [blue, orange, yellow, red, purple]
Para todos os atributos de gráfico que especificam uma cor, o valor da cor pode usar uma string hexadecimal, como #2ca6cd
, ou uma string de cor CSS, como mediumblue
.
series_colors
Defina as cores da série com base no nome dela usando pares de name: value
.
Em um gráfico dinâmico, os nomes das séries são os nomes dinâmicos.
series_colors:
'Yes': skyblue
'No': '#000000'
Para um gráfico com várias medidas, os nomes das séries são os nomes dos campos de medidas.
series_colors:
inventory_items.count: crimson
orders.count: green
Se o nome da série não estiver listado em series_colors
, o gráfico usará como padrão a lista de cores fornecida em colors
. Se colors
não estiver definido, o gráfico voltará ao esquema de cores padrão.
series_labels
Defina os rótulos de uma ou mais séries com base no nome da série usando pares de name: label
.
Em um gráfico dinâmico, os nomes das séries são os nomes dinâmicos.
series_labels:
'Yes': iOS Users
'No': Android Users
Para um gráfico com várias medidas, os nomes das séries são os nomes dos campos de medidas.
series_labels:
inventory_items.count: Inventory
orders.count: Orders