order_by_field

Uso

visualizar: view_name {
dimensão: field_name {
order_by_field: field_name
}
}
Hierarquia
order_by_field
Tipos de campo possíveis
Dimensão, grupo de dimensões, medida

Aceita
Um nome de campo

O uso incorreto de order_by_field pode causar um comportamento inconsistente e confuso para os usuários.

Definição

Com o parâmetro order_by_field, é possível usar a ordem de classificação de uma dimensão, grupo de dimensões ou medida em outro campo do mesmo tipo, em vez de usar a ordem de classificação padrão. Os campos referenciados pelo parâmetro order_by_field precisam corresponder ao tipo do campo pai. Uma dimensão não pode fazer referência a um campo de type: measure e vice-versa.

Por exemplo, você tem uma tabela que contém uma coluna status_id e uma status_name. Quando um usuário classificar por Nome do status na IU, você quer que os nomes apareçam na ordem do ID de status, não na ordem alfabética dos nomes.

Precisa haver uma relação de 1:1 entre uma dimensão ou um grupo de dimensões e o campo referenciado pelo parâmetro order_by_field, para que as características de agrupamento dos dois campos sejam exatamente as mesmas. Se não garantir isso, a classificação pode parecer aleatória para os usuários.

Se houver apenas um status_id para cada status_name, seria possível escrever:

dimension: status_name {
  sql: ${TABLE}.status_name ;;
  order_by_field: status_id
}

Com as medidas, order_by_field permite que você use a ordem de classificação de uma medida em outra medida.

Isso pode ser útil nos casos em que você quer classificar um tipo de medida não numérica, como string, por um tipo de medida numérica.

Neste exemplo, uma string de cidades é ordenada por uma medida count:

measure: user_cities {
  type: string
  order_by_field: count
}