排序依据字段

用量

视图:view_name {
dimension: field_name {
order_by_field: field_name
}
}
层次结构
order_by_field
可能的字段类型
维度、维度组、衡量

接受
字段名称

不正确使用 order_by_field 可能会导致出现不一致且令人困惑的行为。

定义

借助 order_by_field 参数,您可以使用维度、维度组中的排序顺序,或对同一类型的另一个字段应用排序顺序,而无需使用默认排序顺序order_by_field 参数引用的字段必须与父字段的字段类型匹配。维度不能引用 type: measure 字段,反之亦然。

例如,您的表格同时包含 status_idstatus_name 列。如果用户在界面中按状态名称排序,您希望这些名称按状态 ID 的顺序(而不是这些名称的字母顺序)显示。

维度或维度组与 order_by_field 参数引用的字段之间应存在 1 对 1 的关系,以便这两个字段的分组特征完全相同。如果您不保证这一点,对用户来说,排序可能是随机的。

如果每个 status_name 有一个且只有一个 status_id,您可以编写:

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

使用测量时,order_by_field 可让您使用不同测量值的排序顺序。

如果您想按数字测量类型对非数值测量类型(例如 string)进行排序,上述做法将非常有用。

在此示例中,城市字符串按 count 衡量指标进行排序:

measure: user_cities {
  type: string
  order_by_field: count
}