Uso
dimensão: field_name {
order_by_field: field_name
}
}
Hierarquia
order_by_field |
Tipos de campo possíveis
Dimensão, grupo de dimensões, medidaAceita
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
}