champ_commande

Utilisation

view_name {
dimension: field_name {
order_by_field: field_name
}
}
Hiérarchie
order_by_field
Types de champs possibles
Dimension, groupe de dimensions, mesure

Acceptation
Un nom de champ

Une utilisation incorrecte de order_by_field peut entraîner un comportement incohérent pour les utilisateurs.

Définition

Le paramètre order_by_field vous permet d'utiliser l'ordre de tri à partir d'une dimension, d'un groupe de dimensions ou d'une mesure sur un autre champ du même type, plutôt que d'utiliser l'ordre de tri par défaut. Les champs référencés par le paramètre order_by_field doivent correspondre au type du champ parent. Une dimension ne peut pas référencer un champ type: measure, et inversement.

Par exemple, vous disposez d'une table contenant à la fois une colonne status_id et une colonne status_name. Lorsqu'un utilisateur effectue un tri par Nom d'état dans l'interface utilisateur, vous souhaitez que les noms apparaissent dans l'ordre de l'ID d'état, et non dans l'ordre alphabétique.

Il doit exister une relation 1:1 entre une dimension ou un groupe de dimensions et le champ référencé par le paramètre order_by_field, afin que les caractéristiques de regroupement des deux champs soient exactement identiques. Dans le cas contraire, le tri peut sembler aléatoire pour les utilisateurs.

S'il n'y a qu'un seul élément status_id pour chaque status_name, vous pouvez écrire:

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

Avec les mesures, order_by_field vous permet d'utiliser l'ordre de tri à partir d'une mesure pour une autre mesure.

Cela peut être utile si vous souhaitez trier un type de mesure non numérique, tel que string, par type de mesure numérique.

Dans cet exemple, une chaîne de villes est triée selon une mesure count:

measure: user_cities {
  type: string
  order_by_field: count
}