order_by_field

Uso

view: view_name {
  dimension: field_name {
    order_by_field: field_name
  }
}
Hierarquia
order_by_field
Tipos de campo possíveis
Dimensão, grupo de dimensão, métrica

Aceita
Um nome de campo

Usar order_by_field de forma incorreta pode causar um comportamento inconsistente e confuso para os usuários.

Definição

O parâmetro order_by_field permite usar a ordem de classificação de uma dimensão, um grupo de dimensões ou uma métrica 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 principal. 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 classifica por Nome do status na UI, você quer que os nomes apareçam na ordem do ID do status, e não na ordem alfabética dos nomes.

É preciso haver uma relação direta 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 você não fizer isso, a classificação poderá parecer aleatória para os usuários.

Se houver um e apenas um status_id para cada status_name, você poderá escrever:

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

Com as métricas, o order_by_field permite usar a ordem de classificação de uma métrica em outra.

Isso pode ser útil quando você quer classificar um tipo de métrica não numérica, como um string, por um tipo de métrica numérica.

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

measure: user_cities {
  type: string
  order_by_field: count
}