chaves de classificação

Uso

view: my_view {
derived_table: {
sortkeys: ["date"]
...
}
}
Hierarquia
sortkeys

- ou -

sortkeys
Valor padrão
Nenhuma

Aceita
Os nomes de uma ou mais colunas em uma PDT ou em uma tabela agregada

Regras especiais
sortkeys só é compatível com dialetos específicos.

Definição

O parâmetro sortkeys permite especificar uma ou mais colunas de uma tabela derivada permanente (PDT, na sigla em inglês) ou de uma tabela de agregação para aplicar uma chave de classificação normal. Use uma chave de classificação para especificar as colunas de um PDT que serão classificadas com mais frequência para tornar a consulta dos dados mais rápida.

Consulte a seção Suporte ao dialeto para sortkeys abaixo para ver a lista de dialetos compatíveis com sortkeys.

Também é possível criar uma chave de classificação intercalada usando indexes. Não é possível usar ambos ao mesmo tempo, mas pelo menos um é necessário.

O parâmetro sortkeys funciona apenas com tabelas permanentes, como PDTs e tabelas agregadas. sortkeys não é compatível com tabelas derivadas sem uma estratégia de persistência.

Além disso, o parâmetro sortkeys não é compatível com tabelas derivadas definidas usando create_process ou sql_create.

De modo geral, uma chave de classificação deve ser aplicada a colunas de data ou hora na tabela e, possivelmente, a colunas que serão usadas com frequência como filtros. Veja mais informações na documentação do Amazon Redshift.

Examples

Esses exemplos pressupõem que você está trabalhando com um banco de dados Redshift para que possa usar o parâmetro sortkeys.

Crie uma tabela derivada nativa persistente customer_day_facts que tenha uma chave de classificação em date e seja recriada quando o order_datagroup do grupo de dados for acionado:

view: customer_day_facts {
  derived_table: {
    explore_source: order {
      column: customer_id { field: order.customer_id }
      column: date { field: order.order_date }
      column: num_orders { field: order.customer_order_count }
    }
    datagroup_trigger: order_datagroup
    sortkeys: ["date"]
  }
}

Crie uma tabela derivada customer_day_facts com base em uma consulta SQL e tenha uma chave de classificação em date:

view: customer_day_facts {
  derived_table: {
    sql:
      SELECT
        customer_id,
        DATE(order_time) AS date,
        COUNT(*) AS num_orders
      FROM
        order
      GROUP BY
        customer_id ;;
    persist_for: "24 hours"
    sortkeys: ["date"]
  }
}

Crie uma tabela derivada customer_day_facts com base em uma consulta SQL com um keykey em date e customer_id:

view: customer_day_facts {
  derived_table: {
    sql:
      SELECT
        customer_id,
        DATE(order_time) AS date,
        COUNT(*) AS num_orders
      FROM
        order
      GROUP BY
        customer_id ;;
    persist_for: "24 hours"
    sortkeys: ["date", "customer_id"]
  }
}

Suporte a dialetos para sortkeys

A capacidade de usar sortkeys depende do dialeto do banco de dados usado pela conexão do Looker. Na versão mais recente do Looker, os seguintes dialetos são compatíveis com sortkeys:

Os dialetos SQL tradicionais, como MySQL e Postgres, precisam usar o indexes. O sortkeys não funciona com esses bancos de dados.