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 欄的資料表。使用者在 UI 中依「狀態名稱」排序時,您希望名稱依狀態 ID 排序,而不是依名稱的字母順序排序。

維度/維度群組與 order_by_field 參數參照的欄位應為一對一關係,確保兩個欄位的分組特徵完全相同。否則使用者可能會覺得排序結果是隨機顯示。

如果每個 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
}