order_by_field

用法

view: 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
}