Uso
view: view_name {
dimension_group: field_name { ... }
}
|
Hierarquia
dimension_group |
Aceita
Um identificador do Looker (para servir como a primeira parte do nome de cada dimensão criada pelo grupo de dimensões)
Regras especiais
|
Definição
O parâmetro dimension_group é usado para criar um conjunto de dimensões baseadas em tempo ou duração de uma só vez. Você define o grupo de dimensões, e ele cria um conjunto de dimensões individuais para diferentes intervalos ou períodos. Por exemplo, é possível especificar um grupo de dimensões de type: time com base em uma coluna de carimbo de data/hora, e o grupo de dimensões vai criar dimensões correspondentes para expressar os dados em hora, data, semana, hora, trimestre e ano.
A forma e a função do grupo de dimensões são diferentes dependendo do valor type do grupo:
Grupos de dimensões do tipo de duração
type: duration é usado em conjunto com um dimension_group para calcular um conjunto de dimensões de duração com base em intervalos.
A forma de um grupo de dimensões de type: duration é a seguinte:
dimension_group: dimension_group_name {
type: duration
sql_start: SQL expression ;; # often this is a single database column
sql_end: SQL expression ;; # often this is a single database column
intervals: [interval, interval, …] # see following explanation for valid intervals
}
Para grupos de dimensões de type: duration:
Os parâmetros
sql_startesql_endfornecem expressões SQL que definem os horários de início e término da duração. Consulte a seção Definir o início e o fim de uma duração nesta página para mais detalhes.O parâmetro
intervalsespecifica uma ou mais unidades de intervalo que devem ser usadas para medir a diferença de tempo. As opções possíveis estão listadas na seção Opções de intervalo desta página.Os valores de duração são arredondados para o número inteiro mais próximo.
O parâmetro
datatypeé opcional. Se o grupo de dimensões não for baseado em uma data e hora, especifique uma época, um carimbo de data/hora, uma data ou um formato aaaammdd. Para grupos de dimensão detype: duration, o parâmetrodatatypese aplica aos parâmetrossql_startesql_end. Portanto, verifique sesql_startesql_endsão do tipo de dados especificado. O parâmetrodatatypeé descrito com mais detalhes na seção Especificar odatatypedo banco de dados nesta página.
Embora não estejam listados aqui, muitos dos parâmetros no nível do campo também podem ser usados com grupos de dimensões.
Por exemplo, se você tiver colunas para enrollment_date e graduation_date, poderá criar um grupo de dimensão de duração para ver quanto tempo os estudantes passaram na escola, calculado em intervalos de semanas e anos:
dimension_group: enrolled {
type: duration
intervals: [week, year]
sql_start: ${TABLE}.enrollment_date ;;
sql_end: ${TABLE}.graduation_date ;;
}
Na interface do Explorar, isso gera um grupo de dimensões chamado Duração da inscrição, com dimensões individuais chamadas Semanas de inscrição e Anos de inscrição.
Opções de intervalo
O parâmetro intervals informa ao grupo de dimensão quais unidades de intervalo ele deve usar para medir a diferença de tempo entre o horário sql_start e o horário sql_end. O parâmetro intervals é compatível apenas com grupos de dimensões de type: duration.
Se intervals não for incluído, o grupo de dimensões vai incluir todos os intervalos possíveis.
As opções para o parâmetro intervals são as seguintes:
| Intervalo | Descrição | Exemplo de resposta |
|---|---|---|
day |
Calcula uma diferença de tempo em dias. | 9 days |
hour |
Calcula uma diferença de tempo em horas. | 171 hours |
minute |
Calcula uma diferença de tempo em minutos. | 10305 minutes |
month |
Calcula uma diferença de tempo em meses. | 3 months |
quarter |
Calcula uma diferença de tempo em trimestres do ano. | 2 quarters |
second |
Calcula uma diferença de tempo em segundos. | 606770 seconds |
week |
Calcula uma diferença de tempo em semanas. | 6 weeks |
year |
Calcula uma diferença de tempo em anos. | 2 years |
Definir o início e o fim de uma duração
Para grupos de dimensão de type: duration, os parâmetros sql_start e sql_end fornecem as informações de início e fim usadas para calcular uma diferença de tempo. Esses campos podem receber qualquer expressão SQL válida que contenha dados em um formato de carimbo de data/hora, data/hora, data, época ou yyyymmdd. Os campos sql_start e sql_end podem ser qualquer um dos seguintes:
- Uma referência a um período
rawde um grupo de dimensões atual detype: time - Uma referência a uma dimensão de
type: date_raw - Uma expressão SQL que é um carimbo de data/hora, como uma referência a uma coluna SQL que é um carimbo de data/hora.
- Uma expressão SQL que extrai um horário do banco de dados, usando a expressão apropriada para seu dialeto
- Uma referência de campo do LookML usando a referência de tipo de campo
::datetimeou::date
Por exemplo, suponha que você tenha uma dimensão chamada faa_event_date_raw que contenha informações de data e hora:
dimension: faa_event_date_raw {
type: date_raw
sql: ${TABLE}.event_date ;;
}
Você pode criar um grupo de dimensões de type: duration que calcula o tempo decorrido desde a data do evento da FAA. Para fazer isso, use a dimensão faa_event_date_raw como o horário de início do cálculo e, para o horário de término, use a expressão SQL do seu dialeto para o horário atual. Este exemplo é para um banco de dados MySQL:
dimension_group: since_event {
type: duration
intervals: [hour, day]
sql_start: ${faa_event_date_raw} ;;
sql_end: CURRENT_TIMESTAMP();;
}
Na interface do usuário "Explorar", isso geraria um grupo de dimensões chamado Duração desde o evento, com dimensões individuais chamadas Horas desde o evento e Dias desde o evento.
Referenciar intervalos de outro campo do LookML
Para referenciar um valor de interval em um dimension_group de type: duration, use a sintaxe ${interval_fieldname}, com a versão no plural do valor de interval. Por exemplo, no exemplo de LookML a seguir, a medição average_days_since_event usa ${days_since_event} para referenciar o intervalo day no grupo de dimensões since_event:
dimension_group: since_event {
type: duration
intervals: [hour, day, week, month, quarter, year]
sql_start: ${faa_event_date_raw} ;;
sql_end: CURRENT_TIMESTAMP();;
}
measure: average_days_since_event {
type: average
sql: ${days_since_event} ;;
}
Como usar referências de tipo de campo do LookML com campos "Duration"
Para criar um campo "Duration" personalizado, especifique um tipo de referência ::date ou ::datetime para as dimensões referenciadas nos parâmetros sql_start e sql_end de um grupo de dimensão de type: duration. A sintaxe view_name.field_name::type, descrita na página de documentação Como incorporar SQL e se referir a objetos do LookML, permite criar uma versão ::date ou ::datetime de um campo sem converter as referências a essas dimensões em strings.
Por exemplo, suponha que você tenha um grupo de dimensões created de type: time com períodos de time, date, week, month e raw, definidos da seguinte maneira:
dimension_group: created {
type: time
timeframes: [time, date, week, month, raw]
sql: ${TABLE}.created_at ;;
}
Usando as dimensões created_month e created_time, é possível criar um grupo de dimensões de type: duration que calcula o tempo entre uma data do campo created_date e o primeiro dia do mês em que essa data ocorreu, medido em semanas, dias e horas:
dimension_group: since_first_of_month {
type: duration
intervals: [week, day, hour]
sql_start: ${created_month::datetime} ;;
sql_end: ${created_time::datetime} ;;
}
Na interface da Análise, isso cria um grupo de dimensões chamado Duração desde o primeiro dia do mês, com as dimensões individuais Semanas desde o primeiro dia do mês, Dias desde o primeiro dia do mês e Horas desde o primeiro dia do mês. Especificar o tipo de referência ::datetime para os campos referenciados nos parâmetros sql_start e sql_end permite que as dimensões created_month e created_time sejam tratadas como carimbos de data/hora no SQL gerado.
Por exemplo, suponha que um usuário selecione as dimensões Data de criação e Dias desde o primeiro dia do mês no seletor de campos. Se um dos valores retornados para Data de criação for 2019-03-10, o valor retornado para Dias desde o primeiro dia do mês será 9 dias.
Grupos de dimensões do tipo de tempo
type: time é usado com um dimension_group e o parâmetro timeframes para criar um conjunto de dimensões baseadas em tempo. Por exemplo, é possível criar uma dimensão de data, semana e mês com base em uma única coluna de carimbo de data/hora.
A forma de um grupo de dimensões de type: time é a seguinte:
dimension_group: dimension_group_name {
type: time
timeframes: [timeframe, timeframe, …] # see following explanation for valid timeframes
sql: SQL expression ;; # often this is a single database column
datatype: epoch| timestamp | datetime | date | yyyymmdd # defaults to datetime
convert_tz: yes | no # defaults to yes
}
Para grupos de dimensão de type: time:
O parâmetro
timeframesé opcional, mas raramente é ignorado. Ele especifica um ou mais períodos que precisam ser gerados pelo grupo de dimensões. Setimeframesnão for incluído, todas as opções de período serão adicionadas ao grupo de dimensões. As opções possíveis estão listadas na seção Opções de período desta página.O parâmetro
sqlpara grupos de dimensõestype: timepode usar qualquer expressão SQL válida que contenha dados em um carimbo de data/hora, data/hora, data, época ou formato aaaammdd.O parâmetro
datatypeé opcional. Se o grupo de dimensões não for baseado em uma data e hora, especifique uma época, um carimbo de data/hora, uma data ou um formato aaaammdd. Ele é descrito em mais detalhes na seção Como especificar o banco de dadosdatatypenesta página.O parâmetro
convert_tzé opcional e permite evitar a conversão automática de fuso horário. Ela é descrita com mais detalhes na seção Conversões de fuso horário econvert_tzdesta página.
Embora não estejam listados aqui, muitos dos parâmetros no nível do campo também podem ser usados com grupos de dimensões.
Por exemplo, imagine que você tenha uma coluna chamada created_at que contém informações de data e hora. Você quer criar uma dimensão de data, semana e mês com base nessa data e hora. Você pode usar:
dimension_group: created {
type: time
timeframes: [date, week, month]
sql: ${TABLE}.created_at ;;
}
Na interface do recurso "Explorar", isso geraria três dimensões com os nomes Data de criação, Semana de criação e Mês de criação. Observe como o nome dimension_group é combinado com os períodos para gerar os nomes das dimensões.
Opções de período
O parâmetro timeframes é compatível apenas com grupos de dimensões de type: time. Para grupos de dimensões de type: duration, use o parâmetro intervals.
O parâmetro timeframes informa ao grupo de dimensões quais dimensões ele deve gerar e inclui as seguintes opções:
- Períodos especiais
- Períodos
- Períodos
- Períodos semanais
- Períodos mensais
- Períodos trimestrais
- Períodos de um ano
- Períodos de
hourX - Períodos de
minuteX - Períodos de
millisecondX
Se você não usar o parâmetro timeframes para um grupo de dimensões de type: time ou deixar o parâmetro timeframes em branco (timeframes: []), a análise vai incluir o conjunto padrão de períodos para o grupo de dimensões:
dateday_of_monthday_of_weekday_of_week_indexday_of_yearhourhour_of_dayminutemonthmonth_namemonth_numquarterquarter_of_yeartimetime_of_dayweekweek_of_yearyear
Períodos especiais
Períodos
| Período | Descrição | Exemplo de resposta |
|---|---|---|
time |
Data e hora do campo subjacente (alguns dialetos SQL mostram tanta precisão quanto o banco de dados contém, enquanto outros mostram apenas até o segundo) | 2014-09-03 17:15:00 |
time_of_day |
Hora do dia | 17:15 |
hour |
Data e hora truncadas para a hora mais próxima | 2014-09-03 17 |
hour_of_day |
Hora inteira do dia do campo subjacente | 17 |
hourX |
Divide cada dia em intervalos com o número especificado de horas. | Consulte Como usar o hourX. |
minute |
Data e hora truncadas para o minuto mais próximo | 2014-09-03 17:15 |
minuteX |
Divide cada hora em intervalos com o número especificado de minutos. | Consulte Como usar minuteX. |
second |
Data e hora truncadas para o segundo mais próximo | 2014-09-03 17:15:00 |
millisecond |
Data e hora truncadas para o milissegundo mais próximo (consulte a seção Suporte de dialeto para milissegundos e microssegundos nesta página para informações sobre o suporte de dialeto). | 2014-09-03 17:15:00.000 |
millisecondX |
Divide cada segundo em intervalos com o número especificado de milissegundos. Consulte a seção Suporte de dialeto para milissegundos e microssegundos nesta página para mais informações sobre o suporte de dialeto. | Consulte Como usar millisecondX. |
microsecond |
Data e hora truncadas para o microssegundo mais próximo. Consulte a seção Suporte a dialetos para milissegundos e microssegundos nesta página para mais informações. | 2014-09-03 17:15:00.000000 |
Períodos de datas
| Período | Descrição | Exemplo de resposta |
|---|---|---|
date |
Data do campo subjacente | 2017-09-03 |
Períodos semanais
Períodos mensais
Para usar os períodos fiscal_month_num, o parâmetro fiscal_month_offset precisa ser definido no modelo.
Períodos trimestrais
Para usar os períodos fiscal_quarter e fiscal_quarter_of_year, o parâmetro fiscal_month_offset precisa ser definido no modelo.
Períodos de um ano
Para usar o período fiscal_year, o parâmetro fiscal_month_offset precisa ser definido no modelo.
Como usar o hourX
Em hourX, X é substituído por 2, 3, 4, 6, 8 ou 12.
Isso vai dividir cada dia em intervalos com o número de horas especificado. Por exemplo, hour6 divide cada dia em segmentos de seis horas, que aparecem da seguinte forma:
2014-09-01 00:00:002014-09-01 06:00:002014-09-01 12:00:002014-09-01 18:00:00
Por exemplo, uma linha com um time de 2014-09-01 08:03:17 teria um hour6 de 2014-09-01 06:00:00.
Como usar o minuteX
Em minuteX, o X é substituído por 2, 3, 4, 5, 6, 10, 12, 15, 20 ou 30.
Isso vai dividir cada hora em intervalos com o número especificado de minutos. Por exemplo, minute15 divide cada hora em segmentos de 15 minutos, que aparecem da seguinte forma:
2014-09-01 01:00:002014-09-01 01:15:002014-09-01 01:30:002014-09-01 01:45:00
Por exemplo, uma linha com um time de 2014-09-01 01:17:35 teria um minute15 de 2014-09-01 01:15:00.
Como usar o millisecondX
Em millisecondX, X é substituído por 2, 4, 5, 8, 10, 20, 25, 40, 50, 100, 125, 200, 250 ou 500.
Isso vai dividir cada segundo em intervalos com o número especificado de milissegundos. Por exemplo, millisecond250 vai dividir cada segundo em segmentos de 250 milissegundos, que vão aparecer assim:
2014-09-01 01:00:00.0002014-09-01 01:00:00.2502014-09-01 01:00:00.5002014-09-01 01:00:00.750
Por exemplo, uma linha com um time de 2014-09-01 01:00:00.333 teria um millisecond250 de 2014-09-01 01:00:00.250.
Conversões de fuso horário e convert_tz
Em geral, os cálculos de tempo (diferenças, durações etc.) só funcionam corretamente quando você opera com valores de tempo convertidos para o mesmo fuso horário. Por isso, é importante considerar os fusos horários ao escrever o LookML.
O Looker tem várias configurações de fuso horário que convertem dados baseados em tempo entre diferentes fusos horários. O Looker faz a conversão de fuso horário por padrão. O parâmetro convert_tz é compatível com grupos de dimensões de type: time. Se você não quiser que o Looker faça uma conversão de fuso horário para uma determinada dimensão ou grupo de dimensões, use o parâmetro convert_tz descrito na página de documentação do parâmetro convert_tz.
Suporte de dialeto para milissegundos e microssegundos
O Looker é compatível com a precisão de período até microssegundos. No entanto, alguns bancos de dados são compatíveis com a precisão apenas até segundos. Se um banco de dados encontrar um período mais preciso do que o que ele pode aceitar, ele vai arredondar para segundos.
Na versão mais recente do Looker, os seguintes dialetos são compatíveis com milissegundos:
| Dialeto | Compatível? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| ClickHouse 26+ | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Dremio 26+ with Arrow Flight SQL | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MongoSQL | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |
Na versão mais recente do Looker, os seguintes dialetos são compatíveis com microssegundos:
| Dialeto | Compatível? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| ClickHouse 26+ | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Dremio 26+ with Arrow Flight SQL | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MongoSQL | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |
Como especificar o banco de dados datatype
O parâmetro datatype permite especificar o tipo de dados de tempo na tabela do banco de dados que você está fornecendo ao grupo de dimensões, o que pode aumentar o desempenho da consulta.
Para grupos de dimensões de type: time, o parâmetro datatype se aplica ao parâmetro sql do grupo de dimensões.
Para grupos de dimensão de type: duration, o parâmetro datatype se aplica aos parâmetros sql_start e sql_end. Portanto, verifique se sql_start e sql_end são do tipo de dados especificado.
O parâmetro datatype aceita os seguintes valores:
epoch: um campo de época SQL (ou seja, um número inteiro que representa o número de segundos da época Unix).date: um campo de data SQL (ou seja, que não contém informações de hora do dia).datetime: um campo de data e hora do SQL.timestamp: um campo de carimbo de data/hora SQL.yyyymmdd: um campo SQL que contém um número inteiro que representa uma data no formato YYYYMMDD.
O valor padrão de datatype é timestamp.
Grupos de dimensões do tipo de calendário personalizado
Se você tiver implementado calendários personalizados no seu projeto do LookML, use type: custom_calendar com o parâmetro dimension_group para criar um conjunto de dimensões com base em uma tabela de calendário personalizada que você define no seu banco de dados. Consulte a página de documentação Como usar calendários personalizados no Looker para saber como configurar calendários personalizados no seu projeto do LookML.
A forma de um grupo de dimensões de type: custom_calendar é a seguinte:
dimension_group: dimension_group_name {
type: custom_calendar
custom_timeframes: [custom_timeframe, custom_timeframe, …] # see the following section for valid custom timeframes
sql: SQL expression ;; # often this refers to a single database column
based_on_calendar: custom_calendar_view
}
Para grupos de dimensões de type: custom_calendar:
O parâmetro
custom_timeframesé opcional. Ele especifica um ou mais períodos personalizados que devem ser gerados pelo grupo de dimensões. Secustom_timeframesnão for especificado, o grupo de dimensões vai criar todos os períodos personalizados. Os períodos personalizados possíveis estão listados na seçãocustom_timeframesdesta página.O parâmetro
sqlpara grupos de dimensõestype: custom_calendarpode usar qualquer expressão SQL válida que contenha dados em um formato de carimbo de data/hora, data e hora, data, época ou yyyymmdd.O parâmetro
based_on_calendarespecifica o nome da visualização do calendário personalizado que você modelou no LookML.O parâmetro
convert_tzé opcional e permite evitar a conversão automática de fuso horário. Ele é descrito em mais detalhes na seção Conversões de fuso horário econvert_tznesta página.O parâmetro
datatypeé opcional. Se o grupo de dimensões não for baseado em uma data/hora, especifique um formato de época, carimbo de data/hora, data ou yyyymmdd. Ele é descrito em mais detalhes na seção Como especificar o tipo de dados do banco de dados nesta página.
Embora não estejam listados aqui, muitos dos parâmetros no nível do campo também podem ser usados com grupos de dimensões.
Veja um exemplo de um grupo de dimensões de calendário personalizado em um arquivo LookML orders.view:
view: orders
include: "/views/retail_custom_calendar.view"
dimension_group: created {
type: custom_calendar
sql: ${TABLE}.created_at ;;
custom_timeframes: [custom_year, custom_quarter]
based_on_calendar: retail_custom_calendar
}
Observe os seguintes elementos neste grupo de dimensões de calendário personalizado:
type: custom_calendar: o grupo de dimensões é definido como um tipo de calendário personalizado.sql: ${TABLE}.created_at ;;: o grupo de dimensões usa informações de data e hora da colunaorders.created_atdo banco de dados.custom_timeframes: [custom_year, custom_quarter]: o grupo de dimensões será rotulado como Created Custom Calendar e vai conter períodos rotulados como Fiscal Year e Fiscal Quarter. Consulte Rótulos para grupos de dimensões de calendário personalizados para mais informações.based_on_calendar: retail_custom_calendar: o grupo de dimensões vai mesclar os dados da agenda personalizada definida na visualizaçãoretail_custom_calendardo projeto do LookML com os dados na colunaorders.created_atdesse banco de dados para fornecer resultados de consulta usando a agenda personalizada. Consulte a página de documentação Como usar calendários personalizados no Looker para saber como definir um calendário personalizado.
custom_timeframes
Para grupos de dimensão definidos como type: custom_calendar, se você não quiser incluir todos os períodos personalizados possíveis no grupo, use o parâmetro custom_timeframes para especificar quais períodos quer incluir. Os seguintes períodos personalizados são compatíveis:
| Prazo | Descrição | Suposições (para tipos _num) |
|---|---|---|
|
A data específica da visualização de calendário. | |
|
O dia numérico da visualização de calendário. | Assume até 371 dias |
|
Um período genérico no calendário (como calendários 4-4-5). | |
|
O valor numérico do período personalizado. | Considera 12 períodos por ano. |
|
O trimestre da visualização de calendário. | |
|
O trimestre numérico do ano. | Considera quatro trimestres por ano. |
|
Um período sazonal personalizado. | |
|
O valor numérico da temporada personalizada. | Considera duas temporadas por ano. |
|
A semana na visualização da agenda. | |
|
A semana numérica do ano. | Considera até 53 semanas por ano. |
|
O ano da visualização da agenda. | |
|
O valor numérico do ano personalizado. |
based_on_calendar
Para grupos de dimensões definidos como type: custom_calendar, o parâmetro based_on_calendar especifica o nome da visualização do calendário personalizado que você modelou no LookML.
Rótulos para grupos de dimensões de calendário personalizados
O Looker gera rótulos de campo de dimensão e de grupo no seletor de campo da Análise com base no uso dos parâmetros label ou group_label no grupo de dimensões type: custom_calendar:
- Padrão (nem
labelnemgroup_labelsão especificados):- O Looker agrupa os períodos do grupo de dimensão no rótulo padrão, que é o nome do grupo concatenado com Calendário personalizado (por exemplo, Calendário personalizado criado).
- O Looker adiciona Fiscal ao início de cada nome de período (por exemplo, Data fiscal, Semana fiscal, Ano fiscal).
- Somente para
group_label:- O Looker agrupa os períodos do grupo de dimensões no valor
group_labelespecificado. - O Looker adiciona o nome do grupo de dimensões e Fiscal ao início de cada nome de período (por exemplo, Data fiscal de criação, Semana fiscal de criação, Ano fiscal de criação).
- O Looker agrupa os períodos do grupo de dimensões no valor
- Somente para
label:- O Looker agrupa os períodos do grupo de dimensões no valor
labelanexado por Calendário personalizado. Por exemplo, para um grupo de dimensões definido comlabel: "My Label", os períodos seriam agrupados em Meu calendário personalizado de rótulos. - O Looker adiciona Fiscal ao início de cada nome de período (por exemplo, Data fiscal, Semana fiscal, Ano fiscal).
- O Looker agrupa os períodos do grupo de dimensões no valor
group_labelelabelsão especificados:- O Looker agrupa os períodos do grupo de dimensões no valor
group_labelespecificado. - O Looker adiciona o valor
labela cada período. Por exemplo, para um grupo de dimensões definido comlabel: "My Label", os períodos seriam chamados de My Label Date, My Label Week, My Label Year.
- O Looker agrupa os períodos do grupo de dimensões no valor
Como localizar grupos de dimensões
Use a localização de modelos para personalizar e traduzir os nomes de períodos, intervalos ou períodos personalizados gerados por um grupo de dimensões. Consulte Como localizar grupos de dimensões para mais informações.
Informações importantes
Os grupos de dimensões precisam ser referenciados pelas dimensões individuais
Como um grupo de dimensão representa um grupo de dimensões, e não apenas uma, não é possível se referir a ele diretamente em LookML. Em vez disso, você precisará consultar as dimensões que ele cria.
Por exemplo, considere este grupo de dimensões:
dimension_group: created {
type: time
timeframes: [date, week, month]
sql: ${TABLE}.created_at ;;
}
Para se referir a uma dessas dimensões em outro campo do LookML, use a referência ${created_date}, ${created_week} ou ${created_month}. Se você tentar usar apenas ${created}, o Looker não saberá a qual período você está se referindo, e um erro vai ocorrer.
Pelo mesmo motivo, não use o parâmetro primary_key em um grupo de dimensões se você especificar mais de um timeframe.
Dica da equipe do Chat: recebemos muitas perguntas sobre o erro de validação que pode ocorrer se você usar
primary_keyem umdimension_groupcom mais de umtimeframe. Para mais informações, confira o post na Comunidade Períodos e grupos de dimensões no Looker .
Dados de carimbo de data/hora que incluem informações de fuso horário
Alguns dialetos de banco de dados têm opções de carimbo de data/hora que incluem informações de fuso horário. Isso permite armazenar dados de carimbo de data/hora em um único campo que pode ter vários fusos horários. Uma linha de dados pode ser armazenada em UTC, outra em horário do leste. Por exemplo, consulte a documentação de carimbo de data/hora do Snowflake TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ para informações sobre as opções de carimbo de data/hora do dialeto do Snowflake.
Nesse caso, quando o Looker realiza conversões de fuso horário, podem ocorrer erros. Para evitar isso, no parâmetro sql da dimensão, é necessário converter explicitamente os dados de carimbo de data/hora em um tipo de carimbo de data/hora que não faça a conversão de fuso horário. Por exemplo, no dialeto Snowflake, é possível usar a função TO_TIMESTAMP para converter os dados de carimbo de data/hora.
É possível criar dimensões individuais de tempo ou duração
É possível criar uma dimensão para cada período ou duração que você quer incluir, em vez de gerar todas em um único dimension_group. Em geral, é possível evitar a criação de dimensões individuais, a menos que você queira mudar a convenção de nomenclatura de período do Looker ou já tenha colunas de tempo pré-calculadas no banco de dados. Para mais informações, consulte a página de documentação Tipos de dimensões, filtros e parâmetros.
É possível mudar o primeiro dia da semana
Por padrão, as semanas no Looker começam na segunda-feira. Para mudar isso, use o parâmetro week_start_day no nível do modelo.
Lembre-se de que week_start_day não funciona com o período week_of_year porque ele é baseado no norma ISO, que usa semanas de segunda-feira.
Os filtros e campos personalizados não são compatíveis com todos os períodos
Os períodos day_of_week, fiscal_quarter_of_year, millisecond, millisecondX, microsecond, month_name, quarter_of_year e time_of_day são indisponíveis em filtros personalizados nem campos personalizados.
Os intervalos de mês, trimestre e ano contam apenas períodos completos.
O intervalo month em um grupo de dimensão duration só considera que um mês se passou se o dia final for maior ou igual ao dia inicial.
Exemplo:
- A diferença em meses entre 26 de setembro e 25 de outubro do mesmo ano é 0.
- A diferença em meses entre 26 de setembro e 26 de outubro do mesmo ano é 1.
Os intervalos quarter e year seguem a mesma lógica.